So once I decide on the goal of making a game, I started to think about game concepts. Specifically what my requirements on it should be. My thought led me to the following three:
- Controllable with one hand - Don’t know why, but I like games with simple controls.
- Turn based - I want to be able to be interrupted or change focus whenever while playing the game.
- Playable in a web browser - So it is easy to share what I done with my friends.
With these requirements I thought for a while and came up with the following simple idea: Be a little space ship that avoids and blasts falling boulder and try to prevent them from piling up at the bottom of the screen.
I’m not sure if that description is particularly clear, so below is some quickly drawn concept art :) As you can see, the game will have very blocky graphics.
A framework specifically for gaming was actually the first thing I started to look into. I found several frameworks and the first one I tried to learn was Phaser. But it felt to tightly geared for specific types of game play. It felt like it would be a hassle to make something original with. But the next framework I looked into, Pixi, looked just right for me and so far it feels great.
My learning projects
Test #1 - First thing I did. Something that looks like it could be a game. Move the blue block around with the arrow keys while other blocks fall down. Press R to reset the stage. Goal here was to learn to draw simple blocks and how to move them around.
Exploding block - An animation test of an exploding block. Simple experimentation of how an explosion can look.
Missile Test - Same as above but with how a moving missile might look.
Collision detection - Tied together the two last projects and learned simple collision detection.
Block grouping - I figured I would need some kind of algorithm to work out if blocks should start falling again if their support was blown away with a missile. This is my first attempt at an algorithm that groups blocks together if they have an adjacent block next to it. Press R to create new set of blocks.
Next step I would like to be is a project where I combine all the smaller project above into the first iteration of my game idea.