Today I want to talk a little about the process behind Adolfish. Well, the most important part of a game is the game editor, so the first thing I did when I started Adolfish was using a game engine I knew, Irrlicht, to build up an editor from scratch. Maybe Irrlicht wasn’t so great for a simple 2D game, but it had a feature I really liked at the time, a simple in-game GUI.
Building up the editor is like building up the game itself with all the needed features, like the bullet system, the physics, the animation system and all the stuff. Well, where is the editor, you might say? In Adolfish, every level is built up of several enemies, called entities inside the editor, each with a different AI attached using an external LUA script, several skins to create the world you see and several vertices for the physics. Let me explain with a picture:
As you can see, this is level0, the first level you play in Adolfish, and all that purple lines are the vertices I was talking about. When building a level, the level designer places as many vertices as he wants and then presses the button “New Object”, this command connects all the vertices togheter and create a new object in the physics system. Ok, now let’s see level0 complete with all the skins and entities placed:
The level is now complete, but the entities don’t move! In the level0 directory there’s an AI script for every entity, but completely void. Now the developer can write the AI as a finite state machine and pack it all togheter to build the final level.
There’s a lot more then this in the editor, but that’s all for now!
…Are you ready to play?