Guten Tag zusammen,
mein Name ist Christian, ich bin 19 Jahre alt und programmiere sowohl hobbymäßig als auch beruflich. Ich programmiere seit gut 1,5 Jahre an einer kleinen Gameengine und wollte euch diese mal präsentieren.
Zuallererst bin ich mir bewusst, dass es viele Gameengines dort draußen gibt, nun könnte die Frage aufkommen: "Warum verwendest du nicht Engine xy? Die kann das schon lange.". Um diese frage zu beantworten, ja die könnte ich verwenden, doch ich wollte eine kleine Gameengine selbst schreiben.
Zudem hat mir dies sehr viel Spaß gemacht.
Allgemeines
Die Gameengine heißt "Divine" und ist eine kleine 2D Engine die auf SDL2 als OS Abstraktionsschicht baut und OpenGL 3.3 zum rendern verwendet. Sie läuft unter Windows, Linux und Android ab API Level 19. Zudem ist sie Open Source und steht unter der zlib Lizenz.
Features
- Node basiertes rendering
- Dateisystem API zum erstellen und Lesen von Dateien, auch unter Android den Assets Ordner
- Laden und speichern verschiedener Bildformate(.bmp, .jpg, .png, .tga). Diese können aber durch einen Callbackmechanismus leicht erweitert werden.
- Laden und rendern von Truetype Fonts
- Das sammeln von Systeminformationen wie z.B.: System Ram, Partitionen und deren größe, Monitorinformationen und GPU informationen wie z.B.: Vram
- Wie schon erwähnt Crossplatform(Android, Windows, Linux)
- Erstellen eines Fensters
- Eingabe über Maus und Tastatur
- GLSL Shaderinterface um eigene Shader einzubinden
Dies sind so ziemlich alle wichtigen und schon fast die einzigen Funktionen der Engine, wie gesagt eine kleine Engine.
Mögliche Features die ich in Zukunft noch einbauen will, damit die Engine ein bisschen mehr "abgerundet" ist, sind ein Audio Interface und eine GUI.
Wenn ihr Interesse bekommen habt euch die Engine mal anzuschauen, könnt ihr diese
hier herunterladen.
Ich würde mich sehr über Feedback freuen.
Mit freundlichen Grüßen
Christian