PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Diplomarbeit "Game-Engine für eine 3D-Weltraumsimulation"


Metal Maniac
2004-07-06, 18:44:30
Hallo,

jetzt wo ich das Ergebnis meiner Diplomarbeit vorliegen habe kann ich sie auf meiner Homepage online stellen. Das kleine Spiel (ein Asteroids-Klon), das im Rahmen der DA rausgekommen ist, hab' ich ebenfalls online gestellt (inklusive Quellcode), in der Hoffnung dass es vielleicht jemandem von Nutzen sein wird. Ist halt eher eine Demonstration, da für ein komplettes Spiel unterschiedliche Grafiken, Levels, Sounds etc. gemacht werden müssten. Ein ehemaliger Studienkollege und ich werden allerdings noch weiter an dem Spiel 'rumbasteln...

Zur Diplomarbeit:

http://people.freenet.de/dralkir/diploma_thesis_g.html

Screenshots:

http://people.freenet.de/dralkir/screenshots_arp_g.html

In der Diplomarbeit selber ist auch die Doku zur Konfiguration des Spiels über die Config-Files. Momentan ist noch kein ingame-Menü eingebaut, das man zur Konfig verwenden könnte (ist aber in Planung). Das Spiel verwendet SDL und SDL_mixer für audiovisuelle Darstellung, Timer und Event Handling sowie die ODE für physikalisch korrekte Bewegungsabläufe unter Nullgravitation im Vakuum.

MfG

Metal Maniac

Ganon
2004-07-06, 19:51:51
Hmm. Sieht ja echt nicht schlecht aus.

Zumindest besser als meine nicht funktionierende/nicht spielbare Version eines Asteroids3D-Klons. ;)

Achilless
2004-07-06, 23:12:26
Die Screenshots sehen echt nicht schlecht aus. Ich habe mir gleich mal den Source-Code heruntergeladen... :)

RLZ
2004-07-07, 11:32:27
Wie lange hast du daran gearbeitet?
Habt ihr einen auf Spiele spezialisierten Lehrstuhl wie die Uni Magdeburg oder was das mehr Eigeninitiative?

Metal Maniac
2004-07-07, 11:54:30
Original geschrieben von RLZ
Wie lange hast du daran gearbeitet?
Habt ihr einen auf Spiele spezialisierten Lehrstuhl wie die Uni Magdeburg oder was das mehr Eigeninitiative?

Der Zeitraum für die Diplomarbeit war 5 Monate, die ich auch nonstop daran gearbeitet habe, wobei die Implementierung nach ca. 3,5 Monaten abgeschlossen war (die restliche Zeit ging für den schriftlichen Teil drauf). Das Thema hab' ich selber vorgeschlagen, da ich sowas schon immer mal machen wollte. Durch die DA war auch die entsprechende "Motivation" da, um es auch durchzuziehen ;).

DocEW
2004-07-07, 12:00:31
Original geschrieben von Metal Maniac
Hallo,

jetzt wo ich das Ergebnis meiner Diplomarbeit vorliegen habe kann ich sie auf meiner Homepage online stellen.
Und - was hast du für eine Note bekommen?

Metal Maniac
2004-07-07, 12:06:52
Original geschrieben von DocEW
Und - was hast du für eine Note bekommen?

Die DA wurde mit 'sehr gut' bewertet.

pajofego
2004-07-07, 12:09:03
Original geschrieben von Metal Maniac
Die DA wurde mit 'sehr gut' bewertet.

Mein Glückwunsch für die Arbeit und für die Note!

Metal Maniac
2004-07-07, 12:17:03
Original geschrieben von pajofego
Mein Glückwunsch für die Arbeit und für die Note!

Vielen Dank! War überglücklich als mir das Ergebnis mitgeteilt wurde ;D. War auch 'n Haufen Arbeit (offiziell hat man mich nicht mehr mein Zimmer verlassen sehen ;)).

RLZ
2004-07-07, 13:33:53
Hast du eigentlich irgendetwas Neues (neue Algorithmen oä.) entwickelt während der DA, oder war das nur ein gut dokumentiertes Programmierprojekt?

Ganon@work
2004-07-07, 14:49:16
Habe da auch noch mal ne kleine Frage.

Welche Unterlagen/Tutorials/Bücher hast du benutzt um das Spiel zu machen? Oder hast du das alles "mit Erfahrung" gemacht?

Metal Maniac
2004-07-07, 14:52:52
Original geschrieben von RLZ
Hast du eigentlich irgendetwas Neues (neue Algorithmen oä.) entwickelt während der DA, oder war das nur ein gut dokumentiertes Programmierprojekt?

Ich wollte unbedingt dynamisch berechnete Asteroiden drinnen haben (spart das modeln ;)), hab' dazu allerdings nix gefunden. Somit hab' ich mir einen entsprechenden Algorithmus dazu überlegt, den man als "neu" bezeichnen kann. Ich projeziere einfach ein Terraingitter, das mit Diamond Square erstellt wird, auf einen OQTM (Octahedral Quaternary Triangular Mesh).

Momentan arbeite ich an einem Algorithmus, der dynamische Kratertexturen erzeugen soll (will ich später für Normal Mapping verwenden). L-Systeme zum Erzeugen von Kristallstrukturen würden mir auch noch vorschweben...

Metal Maniac
2004-07-07, 15:07:54
Original geschrieben von Ganon@work
Habe da auch noch mal ne kleine Frage.

Welche Unterlagen/Tutorials/Bücher hast du benutzt um das Spiel zu machen? Oder hast du das alles "mit Erfahrung" gemacht?

Naja, von OpenGL bzw. Spieleentwicklung hatte ich vorher nicht die Bohne Ahnung, was ein weiterer Grund war, dieses Thema für die DA vorzuschlagen (um endlich mal 'n bisschen in die Materie 'reinzuschnuppern).

Eine komplette Liste der verwendeten Literatur ist zwar sowieso im Literaturverzeichnis meiner DA angegeben, aber ich kann es ja trotzdem mal hier reinkopieren:

Bücher:

DeLoura, Mark A. (edt.): Game Programming Gems, Charles River Media Inc., 2000

Eberly, David H.: 3D Game-Engine Design - A Practical Approach to Real-Time Computer Graphics, Morgan Kaufmann, 2001

Hawkins, Kevin und Dave Astle: OpenGL Game Programming, Prima Tech's Game Development Series, 2001

OpenGL Architecture Review Board: OpenGL Programming Guide Third Edition, Addison-Wesley, 2001

OpenGL Architecture Review Board: OpenGL Reference Manual Third Edition, Addison-Wesley, 2001

Zerbst, Stefan: 3D Spieleprogrammierung mit DirectX Band I+II, Libri Books on Demand, 2000

Internet:

http://www.8bit-museum.de/, 20.03.2004
http://dictionary.com/, 20.03.2004
http://www.gametutorials.com/, 20.03.2004
http://www.javaworld.com/javaworld/jw-08-1998/jw-08-step.html, 20.03.2004
http://www.libsdl.org/, 20.03.2004
http://www.libsdl.org/projects/SDL_mixer/, 20.03.2004
http://www.mvps.org/directx/articles/writing_the_game_loop.htm, 20.03.2004
http://nehe.gamedev.net/, 20.03.2004
http://opende.sourceforge.net/, 20.03.2004
http://www.spatial-effects.com/SE-research1.html, 20.03.2004
http://www.uni-wuerzburg.de/sopaed1/vernooij/spiel/spiel.htm, 20.03.2004
http://www.wotsit.org/, 20.03.2004

Allerdings, wie ich gerade sehe, gehen schon ein paar Links nimmer... gut dass Bücher nicht so schnell verschwinden wie Links ;)

Ganon
2004-07-07, 20:21:23
Danke. :)

Oh man. So viel Zeit wie du hätte ich auch mal gerne. ;) Ich habe mal deine Arbeit kurz überflogen. Dabei ist mir folgendes aufgefallen unter einem Planetoiden-Bild:

---
Planetoid in 7. Iteration mit 131072 Polygonen; für ein Spiel momentan utopisch
---

Nicht so "ganz" Richtig. ;) Für deine Engine vielleicht nicht, aber beim Spiel RebelStrike auf dem GameCube werden weit mehr Polygone dargestellt. Da besteht ein Stern-Zerstörer schon aus 130 000 Polygonen. Durch LOD kann man aber ne Menge Performance sparen. Trotzdem beträgt die durchschnittliche Polygonrate dort 200 000 - 250 000 Polygone. *ggg*

Metal Maniac
2004-07-08, 01:48:08
Original geschrieben von Ganon
Danke. :)

Oh man. So viel Zeit wie du hätte ich auch mal gerne. ;) Ich habe mal deine Arbeit kurz überflogen. Dabei ist mir folgendes aufgefallen unter einem Planetoiden-Bild:

---
Planetoid in 7. Iteration mit 131072 Polygonen; für ein Spiel momentan utopisch
---

Nicht so "ganz" Richtig. ;) Für deine Engine vielleicht nicht, aber beim Spiel RebelStrike auf dem GameCube werden weit mehr Polygone dargestellt. Da besteht ein Stern-Zerstörer schon aus 130 000 Polygonen. Durch LOD kann man aber ne Menge Performance sparen. Trotzdem beträgt die durchschnittliche Polygonrate dort 200 000 - 250 000 Polygone. *ggg*

Tja, das kommt auf'n Standpunkt drauf an... für 'nen kleinen Gesteinsbrocken, von dem dann 'n paar hundert 'rumfliegen, sind 131072 Polygone schon noch irgendwie utopisch... aber sicher, das ändert sich sowieso alles rasend schnell... aber dann ersetze es einfach durch Iteration 8, 9, 10 usw. ;). Und ich bin kein Freund von LOD, denn egal wie man es dreht und wendet, man kann irgendwie immer erkennen, dass da Polygone verschwinden... aber ich hoffe, diese Performance-Tricksereien, wozu auch Bump Mapping etc. gehört, braucht man irgendwann nicht mehr...

Ganon@work
2004-07-08, 07:04:27
Also bei StarWars sind 3 Sternenzerstörer zu sehen.

Und das LOD ist dort sehr gut. Man merkt es kaum. Es ist ja auch irgendwie nicht ganz klug einen 3 Pixel großen Asteroiden mit 130k Polys zu rendern. ;)

Metal Maniac
2004-07-08, 11:14:37
Stimmt schon, bei manchen Spielen ist es so gut gemacht, dass man es kaum sieht. Bei den meisten ist es mir allerdings immer aufgefallen. Naja, was mein kleines Spielchen betrifft steht LOD eh nicht zur Debatte, dafür ist (absichtlich) die Arena nicht groß genug; sieht natürlich ganz anders aus, wenn man 'ne "richtige" Weltraumsimulation baut, ähnlich wie X2 oder sowas...