My next project
Submitted by Earok on Thu, 12/18/2008 - 20:47A couple of months ago I had another look at Derelict again with fresh eyes. Instantly I saw serious correctable flaws with the game that I had either missed or brushed aside, and knew I had to fix them.
So my plan had been to do a second edition of Derelict, with massive amounts of recoding to make the game a more immersive experience. The first part of it the planned project was to seperate the graphics engine (the part that does the bumpmapped walls) into a seperate codebase, the idea being that I could reuse it for other projects. I also wanted to extend the graphics engine a bit, by adding code for Terrains, since I wanted to set part of the new version of Derelict on the ice world in the background.
Then I realised that the upgraded engine could be used for games that were completely disimilar as well. The same code that renders the walls and floors, for instance, could be tweaked to render buildings and roads. The level editor I made for Derelict could, with a bit of work, become a more general purpose level editor for making levels for practically any 3D game that uses a tile system.
There were also lots of little pieces in the Derelict codebase, such as 3D Bitmap fonts, a 3D Sound system and an A* pathfinding algorithm that I could also chuck in the engine, as well as parts from my other projects. I thought that, if could extract much of the Derelict codebase to put into a seperate engine, then I could use that same engine to finish some of my abandoned projects (Raid Over Moscow, Traffic Department 2192, Luger Me Now) significantly improve some of my previous released projects (Project Firestart, Derelict, Blow Stuff Up) and use for brand new projects (Such as a First Person RPG, the Prince Mince RPG or Derelict Online). The problems of needing to continually write and rewrite boilerplate code for each new project would be gone, and upgrading the engine would upgrade every game that was hooked into it.
So, I'm announcing my next project now: The Earok Engine, or just EE. Currently, I plan for it to include the following components:
General Libraries
- 3D Bitmap Fonts
- 3D Image Drawing
- 3D Sound
- Configuration File Management
- Media management (Automatic loading of textures and sound files)
- Misc math, physics and general functions
Level Libraries:
- 90 degree architecture combined with bumpmapping (As seen in Derelict)
- Object placement
- AI* Pathfinding
- Skybox and Terrain Management
Utilities:
- Level editor, which can be used in 2D overhead or 3D first person modes.
I plan to spend a couple of months doing the primary development of the engine, but I'll continue to refine and upgrade it as I work on game projects. I won't be making this project publicly available, but I would definitely consider any requests for it if someone else wanted to use it in their game project. I'm really excited about this project. Work begins in January. Stay tuned.