Fortschritt:
Eine ganze Menge!
Ein Scheduler ist mein neuester Stolz. Nach einer (weiterentwickelten) Idee aus Game Programming gems 3 rattert das Ding mittlerweile fröhlich die Rahmen runter.
Models können nun in sogenannte Unions zusammengefasst werden. Realisiert wird das Ganze durch ein von mir erdachtes „Hook-Konzept“, welches (um es kurz zu sagen) die logische Position eines Models von seiner zu zeichnenden Position trennt. Damit ist es nun auch möglich eine Union zu Drehen, ohne das sich die relativen Positionen der Models ändern.
Nach einigem Einlesen in einschlägige Literatur habe ich nun ausserdem meine Physikengine im Grundgerüst fertig:
Jede Interactable ist eine Masse. Eine Masse besitzt Masse, Geschwindigkeit und Beschleunigung, und kann in bestimmte Kräfte eingeklinkt werden die dann auf diese Masse wirken. In bestimmten Zeitabschnitten wird die Geschwindigkeit nach der Euler-Methode aktualisiert.
So kann ich mein Auto nun lustig durch die Gegend schießen(unter Schwerkraft!).
Ausserdem: Ein kleiner Manager zur Darstellung von Rastertext.
Probleme:
Collision Detection. Ich habe mich zwar eingelesen und mich mit den Algorithmen vertraut gemacht, aber irgendwie habe ich das Gefühl eben jene wird mir noch eine Weile nachhängen.
Ausserdem: Mit dem Rastertext kommt mein Laptop-Grafikchip an seine Grenzen. Das Problem ist dass alle Buchstaben in jeweils eine eigene Displaylist im Grafikspeicher geschoben werden, und der kleine Racker nun an jene Grenzen kommt, die ich auch von kommerziellen Spielen her kenne
.Als Zwischenlösung schalte ich die Schriften ab während ich am Laptop arbeite, auf Dauer müssen jedoch sowieso „richtige“ Schriften her.
ToDo:
Collision Detection ist das Thema der Woche. Dann zieht die Schwerkraft mein Auto hoffentlich nicht mehr durch das Terrain J. Sollte ich die geschafft haben, kommt die Auto-Physik. Das Ziel ist, nicht das Auto zu bewegen, sondern den Schub der Triebwerke am Auto zu verändern, ebenso soll Lenkung nicht durch Drehen des Autos umgesetzt werden sondern durch drehen der Räder.
Als Schmankerl gibts endlich auch ein Bild:

Tags: C++, engine, Entwicklung, Klabautermotor, OpenGL

4 comments
Comments feed for this article
Trackback link
http://www.p-shuttle.de/joh/2008/12/28/woche-11/trackback/
11. Januar 2009 at 12:53
Pingback from What my fellows are doing: Study projects | Moritz Haarmann’s Blog
1. Januar 2009 at 18:18
Jonas Hahn
Rischtisch geil, freu mich schon mal wieder einen Blick drauf werfen zu können.
Nächste Woche oder so
26. Januar 2009 at 23:45
yona
hallo,
interessantes projekt das du da am laufen hast. wird das ganze “nur” ne engine oder ist da schon ein praktisches ziel in sicht?
sieht jedenfalls schon sehr viel versprechend aus
gruß yona
ps: hab leider erst zu spät gesehen dass du umgezogen bist
27. Januar 2009 at 10:09
admin
Dankeschön
Als praktisches Ziel steht erst einmal die Projektabgabe morgen mittag an, (darum bin ich auch jetzt noch wach *g ).
Aber im ernst: Ich habe vor die Engine erst einmal weiter zu programmieren. Ideen für Spiele habe ich zwar auch genug im Kopf herumfliegen, im Moment versuche ich mich aber hauptsächlich in die Computergrafik einzuarbeiten, dazu ist eine eigene Engine eine tolle Sache.