15 years of Game Engines Evolution
My journey into game development began back in 2008, during my Game Development Master at UCM (University Complutense of Madrid). At that time, I first encountered a game engine called Nebula—a framework built in C++ that required creating scenes manually (often with Tiled or a custom system) since it didn’t have a visual editor. This raw, hands-on approach laid the foundation for everything I would learn about game design and development.
Over the years, I ventured into various projects and experimented with different engines and frameworks:
-
libGDX
After my initial exposure, I enrolled in personal projects where I learned libGDX. Written in Java, libGDX is a framework geared toward mobile development, targeting platforms such as Android, iOS, and Windows. It opened my eyes to cross-platform possibilities and the benefits of using a lightweight engine for mobile game development. -
cocos2djs
My next project involved cocos2djs, which uses JavaScript. This engine required a mix of separate tools—a dedicated editor for animations, another for managing prefabs, one for setting up data containers, and then a final tool to compose everything into a scene. At runtime, the game would load the composed scene. This modular approach provided a unique workflow, albeit with some integration challenges. -
Unity & GameMaker
As I entered my professional career, I began working with Unity and programming in C#. Unity’s robust visual editor and extensive ecosystem revolutionized my development process. I also had experience with GameMaker, which uses its own scripting language and a drag-and-drop interface—ideal for rapid prototyping and 2D game development. -
Unreal Engine (Project Rime)
I even had a stint with Unreal Engine during the development of the well-known project Rime. Using C++ and Blueprints, Unreal provided me with high-fidelity graphics and powerful tools, albeit with a steeper learning curve. -
Today: Exploring Godot
Currently, I’m learning Godot. This open-source engine, using GDScript (with support for C# and C++), offers a lightweight yet flexible environment and continues to grow in both features and community support.
Comparison Table: Engines and Frameworks I’ve Used
Engine/Framework | Programming Language | Target Platforms | Visual Editor | Pros | Cons |
---|---|---|---|---|---|
Nebula | C++ | Primarily PC (custom setups) | None (manual scene creation) | Full control; foundational learning | Steep learning curve; requires manual scene creation |
libGDX | Java | Android, iOS, Windows | Minimal; relies on external tools | Great for mobile development; cross-platform | Lacks integrated visual editor |
cocos2djs | JavaScript | Web, Mobile | Multiple separate editors | Modular workflow; lightweight | Fragmented toolchain; integration complexity |
Unity | C# | PC, Mobile, Consoles, VR | Robust, integrated visual editor | Rich ecosystem; extensive community support | Requires learning Unity-specific workflows |
GameMaker | GML | Primarily 2D (Mobile, PC) | Basic drag-and-drop interface (GM1) | User-friendly; ideal for rapid prototyping | Limited flexibility for complex projects |
Unreal Engine | C++ / Blueprints | PC, Consoles, VR | High-end visual editor | Advanced features; high-fidelity graphics | Steep learning curve; resource-intensive |
Godot | GDScript (also C#/C++) | PC, Mobile, Web | Integrated, lightweight editor | Open-source; flexible; growing community | Maturing ecosystem; smaller asset store |
Conclusion
Every engine and framework I’ve used has taught me unique lessons. Nebula introduced me to the fundamentals of game creation without the aid of visual tools, while libGDX and cocos2djs showcased the power—and challenges—of cross-platform and modular design. Transitioning to professional environments with Unity, GameMaker, and even Unreal broadened my perspective on visual editors and advanced features. Today, exploring Godot continues that journey with its open-source flexibility.
Choosing the right engine isn’t just about features—it’s about aligning your tools with your project needs and target audience. Understanding the pros and cons of each system, as well as integrating efficient version control for both code and art assets, ensures that you can deliver polished, high-quality games. Whether you’re a beginner or an experienced developer, there’s always something new to learn on this evolving journey.