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.