Seite 1 von 3
Wiedermal das Thema mit dem Wort 'Engine'
Verfasst: 03.12.2006 21:52
von Vermilion
Also, da ich gerade an einem Spiel arbeite, und auch an dessen Engine, bin ich gerade an verschiedenen Punkten zum Stehen gekommen.
Derzeit sieht die Engine so aus, dass es eine Tile Engine mit verschiedenen Ebenen ist. Also, Ebene für Zugänglichkeit für den Spieler, Boden Tiles und Tiles die den Spieler überdecken.
Ich will eine Engine erreichen, die so ist, wie die Diablo II. Also, zumindest, dass das Game Play so ziemlich das gleiche ist.
Bei mir hakt es bloß an diesen 2 Punkten bis jetzt:
1. Ich will das ganze Isometrisch haben. Und das kriege ich nicht hin.
2. Da ich ja in etwa sowas wie Diablo II haben will, und das heißt, dass es hunderte verschiedene Items gibt, die das Aussehen des Spielers auf dem Bildschirm verändern, und es mindestens 8 verscheidene Laufrichtungen gibt usw. ...dafür dann hunderte/tausende verschiedene Sprites machen? Durch Zufall habe ich gemerkt, dass die Figuren in Diablo 3D Figuren sind, d.h. ich brauche eine 3D Engine. Macht das hier dann Sinn, OGRE einzusetzen?
Verfasst: 03.12.2006 22:04
von ZeHa
Ich arbeite momentan auch an einem isometrischen Spiel, und ich kann Dir gleich von vorneherein sagen, daß das nicht so leicht ist, wie es auf den ersten Blick aussieht. Man hat teilweise mit Sortierungen und Grafik-Artefakten zu kämpfen, daß es nur so kracht. Zudem soll ja auch noch alles schön performant bleiben.
Man muß dann auch wissen, wie stark man das ganze einschränkt. Wir wollen eine komplette 3D-Umgebung haben, also nicht einfach nur eine 2D-Karte, die isometrisch "leicht 3D" angezeigt wird. Das ist dann nochmal 'ne Ecke schwieriger und wir sind auch noch nicht ganz fertig, weil es halt immer wieder neue Dinge gibt, die auf einen zukommen, von denen man vorher gar nicht angenommen hat, daß sie existieren.
Du kannst aber auch OGRE benutzen und eine tatsächliche 3D-Welt aufbauen, keine Sprites mehr benutzen sondern nur noch Meshes, und letztendlich alles aus einer fixen Kamera-Perspektive zeigen, wodurch das dann auch nach Isometrie aussehen kann (z.B. Age of Empires 3). Das ist so gesehen vielleicht sogar einfacher, weil man die ganzen Iso-Probleme nicht mehr hat, dafür mußt Du halt dann Meshes machen und Dich mit dem 3D-Zeugs auskennen (was mir weniger gefällt, ist aber wohl Geschmacksache).
EDIT: Warum ist das eigentlich in der Laberecke? Wäre doch unter "Grafik- & Soundprogrammierung" besser aufgehoben, oder?
Verfasst: 04.12.2006 12:55
von dllfreak2001
Ich wage zu bezweifeln das die Figuren in Diablo2 3D sind!
Ach ich sag mal lieber, dass das falsch ist.
D2 benutzt ne einfache Iso-Engine und die Figuren wurden vorgerendert (sind also nur aus 2D-Sprites zusammengesetzt).
D2 kann zwar mit 3D-Karten beschleunigt werden, aber das ist nix anderes wie das Sprite3d-Feature von PB. Also reine Effekt-hascherei.
Außerdem kann man einen Verzerreffekt in D2 aktivieren der ebenfalls noch in 2D ist.
Aber in D2 gibbet mit sicherheit keine 3D-Figuren!
Wie hätte denn das Spiel im Software-Modus laufen sollen bei dem Detailgrad und den teilweise extrem vielen Gegnern?
(Hast du dir schon mal die Hardware-Anforderungen angeguckt?)
In Sacred wurden 3D-Figuren verwendet aber nicht in D2.
Verfasst: 04.12.2006 13:04
von edel
Richtig. Diablo 2 ist 2D. Hier wurde einfach jedes Model,
fuer jede Richtung und Aktion gerendert, mal abgesehen
von der Landschaft.
Verfasst: 04.12.2006 13:06
von Kaeru Gaman
yo man braucht halt ne große bibliothek an prerendered sprites für so was.
eine möglichkeit ist z.b. die zusätzlichen items als extra-sprites zu speichern,
und die on-the-fly zu kombinieren zu kompletten sprites.
beispiel:
jede Sprite-Folge enthält komplette animationen für alle 8 laufrichtungen.
Sprite-Folge 1: Player in Unterwäsche
Sprite-Folge 7: Jeanshose
Sprite-Folge 13: Hawaiihemd
Sprite-Folge 21: Messer in der Hand.
die stehen alle im Hauptspeicher.
jetzt erzeuge ich im Graka-Speicher eine leere Sprite-Folge,
packe übereinander Folge 1,7,13,21 hinein,
und habe damit die animationen für den Player in Jeans und Hawaiihemd
mit Messer in der hand als Animationsframes in der Graka stehen.
Verfasst: 04.12.2006 13:56
von dllfreak2001
Ich frage mich nur noch wie th nameless erkennen konnte das
D2 3dfiguren hat(hat es ja nicht)?
Verfasst: 04.12.2006 14:01
von Kaeru Gaman
nuja.. Prerendered sieht halt oft aus wie 3D, wenn man genug
einzelbilder in der bibliothek hat, dass die bewegungen flüssig sind.
ist ja auch meistens auf 3D basiert.
wenn du ne Bildfolge mit POV, Wings oder blender machst, sehen die ja auch 3D-like aus.
(ich hab Diablo2 garnich, habs mal gesehen vor jahren...)
Verfasst: 04.12.2006 17:57
von ZeHa
Jo eben... ursprünglich waren das schon 3D-Figuren, die halt dann nur als 2D-Spritefolgen abgespeichert wurden. Rein optisch kann man den Unterschied eigentlich nur noch daran erkennen, daß die "wirklichen" 3D-Figuren meist noch feinere Animationen haben als die, die in Einzelbilder-Sprites exportiert wurden.
Verfasst: 04.12.2006 20:02
von Vermilion
Naja, da ist glaube ich das beste, wenn ich auf 3D zurückgreife... ein bisschen habe ich ja schon rumprobiert mit PB und OGRE bzw. 3D.
Das mit den Meshes ist leider etwas umständlich, aber das ist kein Problem, für mich besteht bei dem 3D Kram (auch der Grund, warum ich 3D Projekte auf Eis gelegt habe) das Problem, dass ich das mit dem Texturen nicht gebacken kriege, dass die verschiedenen Bildbereiche der Textur am richtigen Ort sind. Ich mache die Meshes immer mit Wings und exportiere sie dann entweder im Wavefront (*.obj) oder 3D Studio (*.3ds) Mesh Format. Dann öffne ich das mit Delgine Deled Lite und exportiere es mithilfe des OGRE Mesh exporter in das für mich mit PB nutzbare Format. Das wäre eine Sache bei der 3D Benutzung. Die andere wäre, die 3D Maps muss ich mit dem Valve Hammer Editor machen oder mit dem Quark Editor machen. Und naja, die Erfordern zum effizienten Arbeiten halt angaben wie den Ort von hl.exe usw., und da ich schon wieder Steam habe...

Achja... OK, einmal habe ich eine CS Map gemacht, eine kleine, die ging auch, bloß kurze Zeit später wollte mein Editor nicht mehr mitmachen...
Wäre alles bloß nicht immer so kompliziert
EDIT: Warum ist das eigentlich in der Laberecke? Wäre doch unter "Grafik- & Soundprogrammierung" besser aufgehoben, oder?
Ich habe das in die Laberecke gepostet, da ich dachte, man könnte das gemütlich belabern... aber wer Lust hat, und bemächtigt ist, kann den Thread ja verschieben.
Also zu Diablo: Für mich sah das halt so aus, dass die Gegner Meshes mit geringer Polygonen Anzahl sind. Und da ich ein paar Tage zuvor erst gelesen habe, da D2 auch mit 3D Beschleunigung oder so läuft, hatte ich halt vermutet dass das so ist. OK, Irrtum!
Richtig. Diablo 2 ist 2D. Hier wurde einfach jedes Model,
fuer jede Richtung und Aktion gerendert, mal abgesehen
von der Landschaft.
Auha, das würde viel Arbeit heißen, wenn man das auch machen will, oder?
(Rhetorische Frage)
Au man, das mit den übereinandergelegten Sprites... eigentlich ne ganz gute Idee. Das sind so Sachen, die sind eigentlich genial, man kommt selber bloß nie drauf...
Schlussfolgerung(en):
1. Diablo II hat keine 3D Figuren, sondern Prerendered 2D Sprites.
2. 3D wäre dann doch die bessere Wahl (Wie z.B. auch in Warcraft III, oder Empire Earth oder vergleichbar.)
Verfasst: 04.12.2006 21:19
von dllfreak2001
da machst du dir auch viel arbeit.
Außerdem wenn du die Figur sowieso in Blender erstellst dann kannst du dir die auch gleich als Sprite rendern.
Weil eine Animationssequenz zu erzeugen mit nem Model und damit es flüssig wirkt brauchst du auch nen haufen aufwand.