Subscribe to:

The Kiwi's TaleWitchBlasterDerelict Blow Stuff Up

EE Dev Post #1

No screenshot this time! All I've done is just coding so far so a screenshot wouldn't be very informative. I will post screenshots of the new level editor when I actually start work on it though! I'm going to use this blog post to explain the central philosophy behind the project, and how I hope to achieve it.

The philosophy is simply that the source code of a particular project should be kept to a bare minimum. Writing more code adds more time, complexity and potential bugs, so I'm all for keeping it lean and tidy.

Three of the principles of my philosophy are

1. Code that isn't game specific should go in the engine

If I could reuse code for another game, then it should be in the engine. Asides from not needing to rewrite the code for each new project, this allows me to backport updates to older games that also use the engine.

2. Data should not be in the code

All of the data in Derelict determining character attributes (walking speeds, health etc) is hard coded in the game. By contrast, in The Kiwi's Tale, nearly all of the character and vehicle attributes are stored in plain text files. This allows team members (and even the general public!) to edit enemies without needing to recompile the source. The Earok Engine will contain several functions to handle importing data and scripts at runtime.

3. Loading of files should be automatic For example, by default in Blitz, you need to type something along the lines of 'HANDLE = LOADSOUND("SOUND.WAV")' for each new file you wish to load. This can be especially painful if you make a typo in the filename! The Earok Engine requires a folder called 'engine\sound' to be in the project folder, and it will automatically load all sound files from there (regardless of whether it's an OGG, WAV or MP3) and add it to an object collection. This isn't 100% efficient as the objects can't be directly referenced (just found from a list), but this should be unnoticible in the game, and will save a lot of coding and debugging time.

I am about a third of the way towards the first milestone, which is simply to extract and refine the core of the Derelict engine. I expect to begin the second milestone within the next couple of weeks. Stay tuned.