Planning is important before I jump into coding my Game. Here is a list of stuff that I have prepared to make my game and center it around a theme/seed.
Seed for my Game: Stone
I watched in a recent GDC Talk that it is important to center your game around a theme. Also being my first game it also has to have a very limited scope. Something which is small and fun.
Yes Stone. The entire game will be pretty basic. About a 3 unit turn based strategy game. Simple and easy to use. I will center the game on random terrain generation (ScaledJS will be converted to ScaledC 🙂 ) and provide same screen multiplayer for Couch Co-op gaming something similar to worms.
Think of it as: Small Scale Civilization V + Worms
Will need to make it gamepad compliant since it will be a couch multiplayer game.
Well now that I have my theme and idea. I need a set of tasks and a set of deadlines. Given that I am working at my company (StoreDock) and I am also involved in many projects other than this, I need a good schedule that can fit my busy workload.
Basic Initial Tasks
- Game Assets – Buttons and basic UI
- Stone like Buttons for Start Menu, Game UI and Pop Ups
- Game Textures – Tiles & basic Unit Textures
- Tiles: Grass, Water, Forest
- Units: Swordsman, Archer, Catapault, Horse
- Buildings: Castles (Occupied and Unoccupied)
- ScaledJS port to ScaledC
- Port all needed APIs to C
- or Find out a way to called ScaledJS from C++/CX
- Upgrading Azura – State and State Manager
- Using Azura’s State Manager (Made one recently need to test)
- Upgrading Azura – Units, Melee Units, Ranged Units
- Ability to Define Units just like Tiles
- Upgrading Azura – Movement Control
- Support for Keyboard
- Support for Mouse
- Support for X360 Controller
- Game Logic – Combat System
- Decide the Combat Bonuses based on Terrain
- Game Logic – Health System
- Regeneration
- Poison / Decay HP (Add Support not needed in Game)
- Game Logic – Unit Movement System
- Ability to Decide Movements using A* Algorithm
- Game Logic – Basic Utils like Game Start, End etc.