Join Addaadah Engine’s community for a deep understanding of what goes behind the scenes in game/game engine development.
Introduction
We’ve always been fans of making our own tools. For no clear reason, we always reinvent the wheel 😀 But it’s not like we are wasting our time. We gain lots of experience that cannot be found anywhere else. We also gain a deep understanding of how games work, which allows us to use any other engine to its full potential. It’s not uncommon to see sloppy games developed by large companies and made by brilliant engines. We can only attribute this to the lack of experience, time or interest in making better games. At least we know we could have done it better given enough resources 😉 (or so we think!).
Making a game development framework is a huge effort. But we’ve done it before and plan to do it again. We’ve just made our previous engine – NONGL – open source. It took a bit more than two years in active development to reach its current state. We’ve used it to make several games – check our demoreel. However, it still has a long way to go. It lacks several core features, like scripting, an editor, easy deployment options and .. documentation 😀 The engine has also seen several massive refactorings that left some undesirable effects on the code. We were also planning a few more massive refactorings and a general shift in the way the engine works. So instead of working on the old code and keeping it all to ourselves, we decided to start from scratch and make the engine open from day one. An active community is the best thing that can happen to a project like this. We plan to avoid all the pitfalls of NONGL and maximize on the experience we gained while developing it.
Core Features
The engine is in its earliest stages, so it has no features yet 😀 . But here’s a list of what we intend to do without diving into details:- 2D/3D.
- Cross platform.
- Entity-Component-System based.
- A custom scripting language.
- An editor.
Road map
- Design our custom scripting language.
- Make a compiler for the scripting language.
- Lay the basis for a trivial system abstraction layer.
- Implement the Javascript system abstraction layer.
- Implement a Javascript VM that runs the compiled scripts.
- Implement the Linux system abstraction layer.
- Implementing a cross-platform VM.
- Implement the MacOS system abstraction layer.
- Implement the Windows system abstraction layer.
- Implement the Android system abstraction layer.
- Make an entity-component-system framework.
- Design and implement an OpenGL abstraction layer.
- Think about whats next instead of planning too far ahead.