GAME ALA DIABLO 2

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

chieftequila

Betreff: GAME ALA DIABLO 2

BeitragMo, März 20, 2006 23:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey leute ichweis das Diablo2 ausschliesslich 2D war aber das ist mir egal ich weis das man das auch 3D machen kan. ich will das wen ich auf mein Terain klicke meine figur zu diesem punkt läuft (nicht so komplex dases um hindernisseläuft und so einfach eine gerade linie). Wie mache ich das allso wie finde ich die kordinaten des klicks auf dem terrain ich nehme an das ich nur Y und die Z achse benötige da die X achse keine rolle spielt da X immer die höhe des terains ist Smile

auserdem wollte ich fragen wie fange ich kolisionen ab ? wen ich meine figur auf das terrain setze will ich diese figur permanetnt um 0.2 nach unten ziehen (anzieungskraft) jedoch fliegt die figur dan durch den boden.
wie verhindere ich das ???? allso wie krieg ichs hin das die figur auf dem terain bleibt ????

ich hoffe ihr verstaht was ich meine und wünsche euch allen noch eine gute nacht Cool

Greez ChiefTequila
 

Farami

BeitragMo, März 20, 2006 23:52
Antworten mit Zitat
Benutzer-Profile anzeigen
https://www.blitzforum.de/viewtopic.php?t=10800

http://www.blitzbase.de/befehle3d/collisions.htm
 

chieftequila

BeitragDi, März 21, 2006 0:22
Antworten mit Zitat
Benutzer-Profile anzeigen
danke viel mal
 

chieftequila

BeitragDi, März 21, 2006 9:27
Antworten mit Zitat
Benutzer-Profile anzeigen
hm das mit dem Pathfinding ist ja wirklich genial aber das TUT dum thema colision ???? naja ich verstehe das irengd wie ned ganz

wen ich Mesh1 und Mesh2 habe wie fange ich dan die kolision ab ????
kan mir das mal jemand erklären ???

Gruss ChiefTequila
 

Moses

BeitragDi, März 21, 2006 10:44
Antworten mit Zitat
Benutzer-Profile anzeigen
im grunde genommen prüfst du ob irgend ein punkt des eines meshes in dem anderem liegt, da solch eine prüfung bei sehr komplexen meshes (bei vielen vertexes) sehr rechenaufwendig ist machen das viele über unsichtbare einfachere, die eigendlichen form nur grob umreissende, unsichtbare meshes.
Diese Sogenannten Kollisions-Modelle lassen sich dann viel einfacher prüfen, auch eine beschränkung bei diesen einfachen modellen auf eine anzahl von quadern die gegeneinander geprüft werden erlaubt noch schnelle prüfalgorithmen... hier gilt es immer einen kompromiss zwischen der benötigten genauigkeit und und der verfügbaren rechenzeit zu finden.
 

chieftequila

BeitragDi, März 21, 2006 11:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Okey soviel weis ich jetzt aber wie sieht das in der Praxis aus ??

Ich habe Mesh1 und Mesh2 kan mir jemand einen Kleinen code mit einer Collision und einem If schrieben allso etwa so

if Colision = JA Then

elseif Colision = Nein Then

endif

soviel ich weis bracuht man für den Colision befehl eine nummer die man für jedes mesh vergeben kann ??? stimmt das ????

GReez ChiefTequila
PS: Danke für wure guten antworten
 

Dreamora

BeitragDi, März 21, 2006 12:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Es ist eine Nummer die du für Meshgruppen vergeben kannst (zb würdest du allen Bodenobjekten, wandobjekten etc die gleiche nummer zu weisen, dann zb türen eine andere, so dass du Türen eindeutig identifizieren kannst, etc)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Chester

BeitragDi, März 21, 2006 15:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier ist eine kleine Kollisiondemo, die ich auch bereits in 2 Threats untendrunter gepostet hatte:
Code: [AUSKLAPPEN]

Const gravity# = -0.5

Graphics3D 800,600,32,2

SetBuffer BackBuffer()

Global camera = CreateCamera()
PositionEntity camera, 70,50,0
light = CreateLight()
Type ball
    Field x#,y#,z#
    Field fall#
    Field kollision#
    Field gewicht#
End Type


Local Tball.ball = New ball

Tball\gewicht# = 0.5

mesh_ball = CreateSphere(100)
PositionEntity mesh_ball,0,100,0
ScaleEntity mesh_ball,5,5,5
EntityColor mesh_ball,0,0,250


EntityType mesh_ball,1
EntityRadius mesh_ball,5



Global feld = Createplane()
EntityColor feld,0,150,0
EntityType feld,2
Collisions 1,2,2,2

Repeat

   
Tball\x# = EntityX( mesh_ball )
Tball\y# = EntityY( mesh_ball )
Tball\z# = EntityZ( mesh_ball )

Tball\kollision = EntityCollided(mesh_ball, 2)


If Tball\kollision = 0 Then
  Tball\fall# = Tball\fall# + gravity#*Tball\gewicht#
  Tball\y#    = Tball\y#    + Tball\fall#
 
  If Keyhit(57) Then Tball\fall = 20
 
EndIf


If Tball\kollision Then
 Tball\fall# = -Tball\fall#/1.5
EndIf


PositionEntity mesh_ball, Tball\x#, Tball\y#, Tball\z#


   PointEntity camera, mesh_ball
   

   UpdateWorld()
   RenderWorld()
   


 Flip
Until KeyHit(1)


MfG
ChEsTeR

P.S.: Auch wenn Diablo in Vogelperspektive spielt, basiert es auf einem 3D System, ähnlich dem von CS 2D und ist somit alles andere als auschließlich 2D
 

chieftequila

BeitragDi, März 21, 2006 16:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Komisch ich dachte bis jetzt immer das diabolo2 2Dimensional ist
die Spielcharakteren sind 2D (ala ragnarok Razz) und der level denke ich mal auch ??? oder ist der Level tazächlich auf einer 3D engine basierend ????


DANKE FÜR DAS KOLISIONS DEMO
 

chieftequila

BeitragDi, März 21, 2006 16:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Allso wiederholung von Colide

der Befehl "Collisions" sagt dem Programm welche Kolision er zu checken hat (bei jedem Update World wird doch gecheckt oder ???)

und mit dem Befehl "Tball\kollision = EntityCollided(mesh_ball, 2)"
erfahren wir ob das objekt "mesh_ball" tazächlich mit der objektgruppe "2" kolidiert ist ???

Fazit
Collisions wird verwendet um eine kolision dem UpdateWorld hinzuzufügen
EntityColidet = checkt eine bestimmte Kolision



STIMMT DAS ???????

Chester

BeitragDi, März 21, 2006 16:28
Antworten mit Zitat
Benutzer-Profile anzeigen
ql:EntityCollided schaut einfach nur, ob gerade eine Kollision stattfindet
ql:Collisions aktiviert einfach nur die Kollision, die eigentlich Berechnungen werden dann von ql:UpdateWorld berechnet.


MfG
ChEsTeR
 

chieftequila

BeitragDi, März 21, 2006 19:51
Antworten mit Zitat
Benutzer-Profile anzeigen
hey ganz am anfang dieses Threat hat mal jemand einen link zu diesem Pathfinding tut gemacht ich versuche gerade dieses tut zu analysieren und bin dabei auf dieses gestossen

EntityPickMode

was ist das und was macht das ???

Gruss ChiefTequila
 

Dreamora

BeitragDi, März 21, 2006 19:54
Antworten mit Zitat
Benutzer-Profile anzeigen
http://www.blitzbase.de/befehl...ckmode.htm
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

chieftequila

BeitragDi, März 21, 2006 20:15
Antworten mit Zitat
Benutzer-Profile anzeigen
hat sich eigentlich schon mal jemand den code von diesem Path finding beispiel angesehen ???

naja ich verstehe den code ja aber ich verstehe nicht von wo weis das Pathfinding wo es durch kan und wo nicht ich gebe ja nur start und ziel an und das ist alles von wo weis das dings jetzt das zwischen drin einberg steht wo es nicxht durch geht ????

Gruss ChiefTequila

Chester

BeitragDi, März 21, 2006 22:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiß zwar jetzt nicht wirklich welches Pathfinding Sample du meinst, aber ich empfehle einfach mal http://www.blitzbase.de/quellcode/pathfinding.zip.


MfG
CHEsTeR
 

ke^kx

BeitragDi, März 21, 2006 22:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke mal, er meint das Wink Wenn ja, musst du dir halt einfach mal den Quelltext angucken, da ist es erklärt. Oder halt die richtigen Erklärungen unter www.blitzbase.de.

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM
 

chieftequila

BeitragDi, März 21, 2006 23:41
Antworten mit Zitat
Benutzer-Profile anzeigen
allso jungs
das prinzip vom Pathfinding habe ich ja begriffen
aber nehmen wir an ich baue das jetzt in ein Spiel ein allso ich meine jetzt die Patfinding.bb wie muss ich dan mit dieser Libary (oder wie auch immer) arbeiten ????? ich verstehe das nicht ganz

Ich glaube es funktiniert so:
Ich sage Pathfindin0(startX,StartY,ZielX,ZielY)
jetzt rechnet diese Funktion den weg au und erstellt die Waypoints die mein charakter später abklapern muss Smile)
wie finde ich jetzt den nächsten Waypoint heraus
angenomen ich habe 10 waypoints bis zum ziel dan laufe ich ja von way point 1 zu 2 von 2 zu 3 usw.... aber wie bekomme ich diese Kordinaten und die totale way point anzahl ?????

Um die frage nochmal ganz einfach zu stellen Wie verwende ich das Patfinding mit meinem Charakter ????
und wie sage ich welche fläche nicht betretbar ist ????

Gruss ChiefTequila
 

chieftequila

BeitragMi, März 22, 2006 1:28
Antworten mit Zitat
Benutzer-Profile anzeigen
leute ich gebs auf !!!!!!
hab jetzt bestimt 3-4 solche tutorials die sich mit pathfinding befassen aueinandergesetzt und komme immer noch nicht weiter Sad((( wiso
funzt das nich wer will kan sich den code ja mal ansehen.
ich kriegs einfach nicht hin das mein Mario Smile)) in die richtige richtung sieht.

http://wl20www1152.webland.ch/Game.rar

PS wer sich den code tazächlich ansieht Razz ich weis ist etwas komisch strukturiert aber ich will alles in Includes auslagern und einbinden. das muss also so sein Smile)) hat nämlich ein vorteil wen mehrere benutzer daran arbeiten das jeder etwas ändern kann ohne das 2 leute an dem selben file arbeiten Smile))

greez chieftequila[url][/url]

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group