# EGE - Easy Game Engine



## Steev (24. Feb 2010)

Hallo liebe Forengemeinde,

ich habe heute entschlossen euch meine Easy Game Engine (EGE) vorzustellen.
Wie der Name schon sagt ist EGE eine kleine Engine, die dem Programmierer die Zeichnungs-, Animations- und Soundlogik abnimmt damit man sich auf das wesentliche seines Spieles beschränken kann. EGE ist sehr allgemein aufgebaut und ist daher voll erweiterbar.

Von der Grundlogik her gibt es in EGE eine oder mehrere Bühnen, auf denen Objekte, Sounds, Kameras, Texte usw. platziert werden können. Hierbei wird jedes Objekt als Zeichenobjekt verwaltet und kann mittels einfacher Methoden transformiert werden. Für jedes Objekt ist es möglich eine Animation zu hinterlegen, die über einfach Methoden wie play, loop, stop, usw. gesteuert werden kann. Eine Animation kann dabei aus beliebig vielen Szenen bestehen, die wiederum aus beliebig vielen Bildern bestehen können. Grundsätzlich wird in EGE jedes Objekt über eine Bitmap dargestellt.

Von der Ereignislogik ist es so, dass man einfach Ereignislistener auf ein Objekt registrieren kann, um bestimmte Ereignisse, wie zum Beispiel einen Mausklick usw. zu ermitteln. Mausklicks werden dabei pixelgenau anhand des Bildes eines Objektes ermittelt.

Mithilfe von Container ist es möglich beliebig viele Ojekte zu gruppieren und selektiv zu transformieren. Alle Objekte innerhalb eines Containers haben eine relative Position und können daher transformiert werden, ohne das man sich Gedanken über übergeordnete Komponenten machen muss.

Mithilfe des geom-Packages könnte Ihr Kollisionen zwischen beliebigen Shapes, die beliebig Transformiert sein können ermitteln. Dies kann zum Beispiel als Ansatz für komplexere Spiele verwendet werden.

Folgend findet Ihr die JAR-Datei der Engine, die ihr einfach in eure Projekte einbinden könnt, externe Bibliotheken oder DLLs werden nicht benötigt.

http://steev.st.ohost.de/ege_1_15/EGE_V1_15.jar
http://steev.st.ohost.de/ege_1_15/EGE_JavaDocs.zip

Unter diesem Link könnt ihr euch den Quellcode der Engine als Eclipse-Projekt herunterladen. Es sind bestimmt noch einige Fehler im Code, da ich die Engine komplett geschrieben habe. Wenn Ihr irgendwelche Unschönheiten oder Fehler findet, dann postet sie einfach. ;-) Nicht das ich erwarten würde, dass sich irgendjemand dafür interessiert 

http://steev.st.ohost.de/ege_1_15/EGE_source.zip


Damit man mal sieht, wie man die Engine überhaupt verwenden kann, habe ich ein paar Testklassen und Beispielprojekte erstellt. Unter folgenden Links könnt ihr sie als Eclipse-Projekt herunterladen.

http://steev.st.ohost.de/ege_1_15/EGE_Test_source.zip


Und hier ist nochmal der Quellcode für ein kleines Spiel, das ebenfalls mit der Engine geschrieben wurde:

http://steev.st.ohost.de/ege_1_15/EGE_BallonShooter.zip

Gruß
Steev


----------



## Marco13 (24. Feb 2010)

Hmmm... :reflect: http://www.java-forum.org/spiele-mu.../88412-performancetest-kleines-spielchen.html 

Hatte damals schon kurz reingeschaut... werde bei Gelegenheit nochmal gucken, wie das jetzt so aussieht


----------



## Steev (25. Feb 2010)

Mein ISO-Editor wurde auch mithilfe der Engine geschrieben. Falls sich jemand noch dafür interessiert würde ich den Code mal etwas "aufhübschen" und zum Download zur verfügung stellen.

http://www.java-forum.org/spiele-multimedia-programmierung/90151-performancetest-iso-editor.html


----------

