Before starting, I need a game plan. Every software project should have one, so I’m going to fight the urge to jump in and start coding and actually put a rough project plan together. I’m not concerned about a business plan at this point, but a high level plan of action for leading me through the long and complex task of developing my first video game in nearly fifteen years.
Since I’m going to spend much of my time learning game design and the various technologies needed along the way, I’ll need to leave enough wiggle room to adjust and change this plan as I go. Given this need, I won’t include any dates in my plan but simply list the high level tasks I’ll need to complete. Additionally, I suspect that these items will not necessarily be sequential. I may be able to work on several in parallel and some of them will need to be revisited many times during the duration of the project.
Setup Development Workstation and Environment
- Select and install a Version Control System
- Select and install a reliable backup system
- Select and install development tools (compiler, editor, tools)
Write a Design Document
- Describe the basic game idea
- Define the game play (players, enemies, goals, etc)
- Define game engine requirements (view, player movements, controls, save & load, etc)
- Sketch graphics ideas (players, enemies, world levels, scenery, etc)
- Define sound requirements
- Licensing mechanism, demo vs licensed version
Simple Game Engine Prototype
- Get a very simple version of the game working with developer graphics & sound
- Test that game engine idea will support game requirements
Develop actual Game Engine
- Refine / Refactor Prototype Engine?
- Implement all required game functionality
- Implement all extra screens (load/save, help, options, demo screen, intro screen)
- Test, Test, Test
- Acquire professional graphics and artwork
- Acquire professional sound effects and music
- Installation Package
- Play Testing and Beta Testing
- Final Touches
Over time I’ll revisit this project plan to fill it in, refine it and hopefully improve my process along the way.