[Projekt] Hobbygamer Engine Reborn (HGER)
Verfasst: 09.04.2013, 15:34
Hallo,
wie vor einiger Zeit in einem anderen Thread angedroht mal wieder etwas mehr von mir. Ich habe die letzten Jahre immer fleißig mitgelesen und das ein oder andere Projekt ausprobiert, ab und an habe ich mich mal zu Wort gemeldet. Kurzum: ZFX die Treue gehalten.
Ein privates Projekt an dem ich vor Urzeiten gebastelt habe war die Hobbygamer Engine, kurz HGE. Doch letztlich ist es mir damit wie vielen anderen gegangen.... man verzettelt sich hier, man verzettelt sich dort und zum Schluss hat man ein tolle Techniksammlung die im Kleinen funktioniert, doch im Ganzen nicht so recht passt. Wenn dann noch Zeitmangel hinzukommt bleibt nur noch der Griff zur Klospülung und weg damit :D
Trotzdem hab ich hier und da immer mal rumgebastelt und habe vor ein paar Monaten angefangen eine neue Engine zu bauen: Die HGER
Es wird keine Engine die sich mit anderen Messen soll. Es ist ein Spielwiese für mich. Trotzdem will ich mit jeder Ausbaustufe ein kleines Game erstellen um die Fortschritte so für mich erlebbarer zu machen.
Es gibt aber eine Regel die ich versuche durchzuziehen: Der Code soll 1:1 unter Windows und Linux kompilierbar und lauffähig sein.
Hierzu verwende ich nur Libs die auch für beide Plattformen zur Verfügung stehen:
1. SDL als Basis für Rendertarget und Inputsystem
1.1 Mixer für erste Soundausgaben
1.2 Image zum Laden Grafik für verschiedene Formate (BMP, TIFF, JPG, PNG)
1.3 GfX für Grafikoperationen (rotozoom-Funktion)
2. OpenGL (wobei 3D erst später kommen wird)
3. OpenAL (aber erst für spätere Ausbaustufe)
4. TinyXML für XML Zugriff
5. LUA für die spätere Scriptbarkeit
6. wird fortgesetzt
Angedacht sind für später auch noch DevIL und GLew. Die kenne ich aus früheren Tagen noch recht gut.
Auf allen Systemen verwende ich den GNU C++ Compiler in einer Eclipse IDE.
Folgende Ausbaustufen sind geplant:
Version 1: 2D Engine inkl. Spiel (dazu weiter und mehr)
Version 2: 3D Engine inkl. Spiel mit einfachen Grundfunktionen
Danach: Aufbohren und erweitern.
Das ganze wird als Baukasten angelegt und die einzelnen Module werden sich unterschiedlich koppeln lassen. Das schränkt zwar die Spezialisierung ein, ermöglicht aber eine flexible Verwendung in den Ausbaustufen. Dabei bleibt ein Kern immer bestehen:
Kern besteht aus:
- SDL Grundfunktionen inkl. Inputmanagement
- File- und Memorymanagement
- Mathefunktionen (die stammt bis auf Kleinigkeiten noch aus der alten HGE)
- GUI auf SDL Basis
- Scriptsystem
- Werkzeugkiste mit Logging, Exceptionmanager, usw.
Das ganze ist jetzt nichts womit man angeben könnte, aber darum geht es ja auch nicht.
Damit man auch etwas sieht ein kleines Video welches nach der Implementierung der Spriteanimation erstellt wurde
[youtube]52M_wwrDK_k[/youtube]
Das ganze läuft genauso unter Ubuntu, ohne Änderungen am Code.
Die Grafiken sind von Tiles, dem ich an dieser Stelle für seine tolle Sammlung an Grafiken danken möchte.
Was ist zu sehen? Neben dem Zombie ist der Hintergrund bereits eine vollständige Tileengine, wenn auch noch mit Fehlern (roter Streifen). Der Text ist bereits aus der GUI und kann auch positioniert werden, bwz. an Gameobjekte geheftet werden. Alle Text können Multilingual von außen via Textdateien zugeführt werden. Fullscreenswitch funktioniert auch. Zudem lassen sich die wichtigsten Sachen bereits von außen konfigurieren.
Alles in allem eine kleine, solide Basis.
Es gibt keinen zeitlichen Rahmen in dem es jetzt weitergehen soll. Das ist der Fluch von Job, Familie und anderen Verpflichtungen. Aber ich will dran bleiben und werde in unregelmäßigen Abständen hier und auf Hobbygamer.de neues Material veröffentlichen. Demnächst gibt es auch Screenshots von der gleichen Szene unter Windows und Ubuntu.
Das erste Game:
Hier jetzt wie versprochen ein paar kurze Sätze zum ersten geplanten Spiel. Es wird eine Mischung aus Towerdefense und Lemminge. Da Zombies aktuell ja in sind :) geht es um eine Gruppe Überlebender die vor den Zombies gerettet werden müssen. Dazu werden dann Wege verändert und Fallen ausgelöst um die Gruppe zum Levelausgang zu bringen. Soweit die Grundidee. Wie umfangreich es wird und ob es über den Prototypenstatus hinauskommen wird, keine Ahnung. Soweit bin ich noch nicht.
Das war es erstmal von mir und ich hoffe, das ich mit diesem Kleinen Projekt auch dazu beitrage das Anfänger sich mit ihren Projekten trauen.
Für mich heißt es jetzt dranbleiben. Drückt mir die Daumen.
Viele Grüße
Rainer
wie vor einiger Zeit in einem anderen Thread angedroht mal wieder etwas mehr von mir. Ich habe die letzten Jahre immer fleißig mitgelesen und das ein oder andere Projekt ausprobiert, ab und an habe ich mich mal zu Wort gemeldet. Kurzum: ZFX die Treue gehalten.
Ein privates Projekt an dem ich vor Urzeiten gebastelt habe war die Hobbygamer Engine, kurz HGE. Doch letztlich ist es mir damit wie vielen anderen gegangen.... man verzettelt sich hier, man verzettelt sich dort und zum Schluss hat man ein tolle Techniksammlung die im Kleinen funktioniert, doch im Ganzen nicht so recht passt. Wenn dann noch Zeitmangel hinzukommt bleibt nur noch der Griff zur Klospülung und weg damit :D
Trotzdem hab ich hier und da immer mal rumgebastelt und habe vor ein paar Monaten angefangen eine neue Engine zu bauen: Die HGER
Es wird keine Engine die sich mit anderen Messen soll. Es ist ein Spielwiese für mich. Trotzdem will ich mit jeder Ausbaustufe ein kleines Game erstellen um die Fortschritte so für mich erlebbarer zu machen.
Es gibt aber eine Regel die ich versuche durchzuziehen: Der Code soll 1:1 unter Windows und Linux kompilierbar und lauffähig sein.
Hierzu verwende ich nur Libs die auch für beide Plattformen zur Verfügung stehen:
1. SDL als Basis für Rendertarget und Inputsystem
1.1 Mixer für erste Soundausgaben
1.2 Image zum Laden Grafik für verschiedene Formate (BMP, TIFF, JPG, PNG)
1.3 GfX für Grafikoperationen (rotozoom-Funktion)
2. OpenGL (wobei 3D erst später kommen wird)
3. OpenAL (aber erst für spätere Ausbaustufe)
4. TinyXML für XML Zugriff
5. LUA für die spätere Scriptbarkeit
6. wird fortgesetzt
Angedacht sind für später auch noch DevIL und GLew. Die kenne ich aus früheren Tagen noch recht gut.
Auf allen Systemen verwende ich den GNU C++ Compiler in einer Eclipse IDE.
Folgende Ausbaustufen sind geplant:
Version 1: 2D Engine inkl. Spiel (dazu weiter und mehr)
Version 2: 3D Engine inkl. Spiel mit einfachen Grundfunktionen
Danach: Aufbohren und erweitern.
Das ganze wird als Baukasten angelegt und die einzelnen Module werden sich unterschiedlich koppeln lassen. Das schränkt zwar die Spezialisierung ein, ermöglicht aber eine flexible Verwendung in den Ausbaustufen. Dabei bleibt ein Kern immer bestehen:
Kern besteht aus:
- SDL Grundfunktionen inkl. Inputmanagement
- File- und Memorymanagement
- Mathefunktionen (die stammt bis auf Kleinigkeiten noch aus der alten HGE)
- GUI auf SDL Basis
- Scriptsystem
- Werkzeugkiste mit Logging, Exceptionmanager, usw.
Das ganze ist jetzt nichts womit man angeben könnte, aber darum geht es ja auch nicht.
Damit man auch etwas sieht ein kleines Video welches nach der Implementierung der Spriteanimation erstellt wurde
[youtube]52M_wwrDK_k[/youtube]
Das ganze läuft genauso unter Ubuntu, ohne Änderungen am Code.
Die Grafiken sind von Tiles, dem ich an dieser Stelle für seine tolle Sammlung an Grafiken danken möchte.
Was ist zu sehen? Neben dem Zombie ist der Hintergrund bereits eine vollständige Tileengine, wenn auch noch mit Fehlern (roter Streifen). Der Text ist bereits aus der GUI und kann auch positioniert werden, bwz. an Gameobjekte geheftet werden. Alle Text können Multilingual von außen via Textdateien zugeführt werden. Fullscreenswitch funktioniert auch. Zudem lassen sich die wichtigsten Sachen bereits von außen konfigurieren.
Alles in allem eine kleine, solide Basis.
Es gibt keinen zeitlichen Rahmen in dem es jetzt weitergehen soll. Das ist der Fluch von Job, Familie und anderen Verpflichtungen. Aber ich will dran bleiben und werde in unregelmäßigen Abständen hier und auf Hobbygamer.de neues Material veröffentlichen. Demnächst gibt es auch Screenshots von der gleichen Szene unter Windows und Ubuntu.
Das erste Game:
Hier jetzt wie versprochen ein paar kurze Sätze zum ersten geplanten Spiel. Es wird eine Mischung aus Towerdefense und Lemminge. Da Zombies aktuell ja in sind :) geht es um eine Gruppe Überlebender die vor den Zombies gerettet werden müssen. Dazu werden dann Wege verändert und Fallen ausgelöst um die Gruppe zum Levelausgang zu bringen. Soweit die Grundidee. Wie umfangreich es wird und ob es über den Prototypenstatus hinauskommen wird, keine Ahnung. Soweit bin ich noch nicht.
Das war es erstmal von mir und ich hoffe, das ich mit diesem Kleinen Projekt auch dazu beitrage das Anfänger sich mit ihren Projekten trauen.
Für mich heißt es jetzt dranbleiben. Drückt mir die Daumen.
Viele Grüße
Rainer