So before you can start making a game, ideally you need to have an idea of what type of game you are going to make. Will it be some form of shooter? A puzzle game? A creative builder/construction style game? What about the perspective the player will have to interact with the game.
A first person view?
A third person view?
Then there is the isometric thirdperson view…
What about VR and AR?
So what sort of game do I want to make
I sat down with some paper, a pencil and a complete lack of any cohesive thought.
After staring at the blank sheet for about 10 minutes, then went to make lunch. I had no idea what sort of game I wanted to make, and therefore no idea where to start.
I knew I wanted AI enemies as one of the mechanics. I enjoy playing games where the challenge is increased by having to account for AI behaviour and the penalty for failure. This meant that I needed to implement some enemy models, and their behaviour. A few video tutorials on AI movement and Unitys NavMesh, and I decided I wanted a game where I would fight my way through some AI zombies to achieve some sort of goal.
The game idea: The Little Zombie Project
So fighting zombies, how am I going to achieve this. Well we have 2 classic mechanics that work in a lot of games; shoot them with a gun or hit them with a melee weapon.
This is a good start. I have a basic idea – player has to kill zombies – and a plan for how I want to do that – pew pew or thwack thwack. I know I want the player character to move around under some sort of user control, and for the zombies to move around using some sort of AI movement mechanism.
But I dont just want the zombies to move about in some form of predefined pattern. I also want them to be able to “spot” the player and give chase…
So now we have a basic list of mechanics/functions we want to create to get our game going (in no specific order);
- User can move the player
- Zombies can patrol an area (via a set of waypoints)
- Zombies can “look for” and “spot” the player
- Zombies can “chase” the player instead of patrolling
Exciting stuff. Lets get started and create one of these functions…