I have finally completed my first simple game. It feels great even though the end result is really basic. The nice thing is that I have a good base to work from for future projects.
The current feature set includes the following.
- Game loop
- Speed system
- The end game
- Races (Tank, DPS and Human)
- The player (Human)
- Lighting (Shadow Casting)
- FOV (Shadow Casting)
- Fog of War
- AI (ZombieBrain and NullBrain)
- Movement Behaviour (Humanoid)
- Sight Behaviour (Humanoid, Nightvision, Torch)
- Dungeon Generator (Corridors, Rooms, Doors, Prefab Rooms)
- A* Pathfinding
I am in the progress of thinking about the next milestone and at the moment I’m considering the following functionality.
- Scripting Engine
For a GUI I’m going to have to think about what information I need to present to the user. I’m a bit uncertain of this as I don’t know what my future games will need. Maybe I can implement something basic and just work from there.
Save and Reload is self explanatory.
Replays is an idea I’ve always wanted to implement. Imagine the replays in Warcraft 3 where you can fast forward or rewind the replay to an exact point in time. I propose to implement this by storing each “event” in the game in sequential order. I can then replay these events to restore the game state to a certain point in game time.
The scripting engine will allow me to “easily” configure new games (story, NPC, quests, races, classes, equipment etc.) It essentially decouples the game code from the infrastructure code. I haven’t decided on a scripting language yet but I’ll probably use LUA.