top of page

A programming task for university where I had to design and program a prototype level for a game.

Week 1

Week Commencing Monday 25th Jan

neutral.png
stage 1.png
stage 2.png
grid.png

My agenda for the first week was to come up with my idea. A clear, concise concept of a mechanic that I can produce, and that would be fun in terms of gameplay and game fundamentals.

​

The idea I settled on is as follows:

- Whack-A-Mole but you're the moles. 'Don't Get Whacked!'

Points for keeping the moles out for longer, the AI whackers have to move from hole to hole. Difficulty changes whacker speed, amount of whackers. Power-ups appear on certain squares on the grid and if you pick them up you can stop the whackers etc.

​

​

​

​

​

​

​

Stage 0 refers to the neutral stage, where the whacker is in the middle, an idle state. Stage 1 is their movement towards the moles, and Stage 2 is them whacking the mole. If the player is still out when the NPC whacks, then they lose points. If they successfully hide away again, they earn points in proportion to the time they spent outside of the hole.

​

The NPC will telegraph whacks, so the player can react, but the aim is to leave it as long as possible in order to earn the most points.

​

Levels are likely to have more than these 4 holes, and more than

one NPC whacker. 

 

​

​​

​

​

It occurred to me that players may just spam holes on opposite sides of the level in order to outsmart the AI, so I decided to add different types of NPC personality, which I will go into more detail about below.

Week 2

Week Commencing Monday 1st Feb

During the second week I began to look at programming the prototype. I set up a basic play area in Unity, and started to program enemy AI to move towards the mole.

​

I also added a score system, where points are increased over time when the mole is out, but you lose points if the whacker touches the mole while it is out.

play area.jpg
game.jpg
gameplay.jpg
Week 3

Week Commencing Monday 8th Feb

In the third week I continued programming the basic gameplay loop. I added lives that you lose if you get hit, and if you run out its game over and you can choose to start again. I also added the mechanic that allows the whacker to choose the closest mole to attack, rather than only going for the first one that pops out.

closestmole.jpg
gameover.jpg
Week 4

Week Commencing Monday 15th Feb

This week I worked on the second enemy type, Carl.

 

Carl will randomly go out and place a trap on a hole, and if a mole hits this trap it will be unable to retreat into the hole for a short time. A second Carl also spawns at 50 points.

 

I also added a difficulty curve by increasing the main whacker Norman's speed in proportion with the player's score. This meant I also had to do some balancing in order to ensure the curve felt gradual without the game becoming boring. Finally, I added some music that can be muted at will.

trap placed.jpg

Trap on bottom right hole.

speedcode.jpg
stunned.jpg

Trapped mole on bottom left (flashes white and black)

Week 5

Week Commencing Monday 22nd Feb

Week five was my final week of working on this project. I set up a how to play screen that displays when the game is launched, and also added some placeholder music and sound effects to help with player engagement.

​

I also took steps to ensure my code was well maintained, with comments explaining functions for any other readers. This was also the week I spent a lot of time balancing things like enemy speed, Carl's chance to trap the player etc.

​

Finally, I built a playable version of this prototype.

image_2021-02-27_135847.png
image_2021-02-27_140157.png
image_2021-02-27_140034.png
image_2021-02-27_135939.png
bottom of page