Things I learned making a game engine
2 days ago
- #programming
- #custom-engine
- #game-development
- Dave’s Word Game, developed using the Growl engine, is set to launch on iOS and Android.
- The author shares their journey of creating Growl, a custom game engine, starting from learning C++ to implementing features like graphics rendering, text handling, and audio.
- Key motivations for building Growl included overcoming limitations with Java and libGDX used in a previous game, Feud, and the desire for better portability across platforms.
- Development highlights include implementing Metal and OpenGL for graphics, creating a command-line tool for texture atlases, and tackling text rendering with support for multiple languages and emojis.
- The engine was ported to multiple platforms including iOS, Android, and experimentally to 3DS and web via Emscripten.
- Scripting support was added with Lua as a reference implementation, allowing for game logic adjustments without recompilation.
- The project was driven by the development of Dave’s Word Game, which helped focus engine features on practical needs.
- The author reflects on the extensive learning and personal growth achieved through the project, despite acknowledging that building a custom engine is not the most efficient path to shipping a game.