A downloadable game

Game Demo Development

Game title – HALO 64

When creating my game, I decided to recreate the final mission from halo reach called Lone wolf. The objective of the mission is to survive and kill as many enemies as possible until you die. I changed this up a little bit and made it so that you have 3 lives and once you lose all 3 lives the game will pop up with game over and you can play again. You collect Data Pyramids to gain more ammo and collect Data Cubes to gain more health.

Game and Engine Development

Introduction

The development log bellow highlights the key features in my development of HALO 64. The log will cover the following parts of the development, What the goal / objective I was trying to achieve, the development process / what I did when making it, the outcomes, fixes / comments, and the evidence to support the feature I was implementing into the game.

Development Log

Goal / Objective

Development process / what you did.

Outcomes

Fixes / comments

Evidence

Background was added to the game demo.

I completed work on worksheet 1 to assist with this task.

The game demo compiled and ran as it was supposed to without any need for debugging.

N/A

Screenshot of the character in the game running are in Appendix A.

Platforms were added to the game demo.

I completed work on worksheet 1 to assist with this task.

The game demo compiled and ran as it was supposed to without any need for debugging.

N/A

Screenshot of the character in the game running are in Appendix A.

Game states were implemented into the game demo.

I completed work on worksheet 1 to assist with this task.

The game demo compiled and ran as it was supposed to without any need for debugging.

N/A

See screenshot of the game running in Appendix A.

Controls were added to the game demo.

I completed work on worksheet 1 to assist with this task.

The game demo compiled and ran as it was supposed to without any need for debugging.

N/A

See screenshot of the game running in Appendix A.

The main character was implemented into the game demo.

I used the work on worksheet 1 to assist with this task.

The demo compiled and ran as expected without any need to do any debugging.

N/A

Screenshot of the character in the game running are in Appendix A.

When the game loads up the game boots up the menu screen before it spawns the player into the level.

I created a background and put text over it describing what the objective of the game is, the title of the game and a message saying, “Press to start”.

The demo compiled and ran as expected without any need to do any debugging.

N/A

Screenshot of the Menu screen are located in Appendix A.

When the Menu screen loads the Halo, theme plays in the background.

Using the work from the worksheets I was able to add the music I wanted to play in the background of the menu screen to add more effect to the game.

There were some trial and error trying to get this working and I had some problems getting the song to actually play but, in the end, it worked the way I wanted.

N/A

Screenshots of how I got the sound to work can be found in appendix A.

The Map loads the way I designed it using a .csv exel document.

Using letters assigned to certain sprites and functions I was able to create my game in a .csv document.

I used highlights to colour code the map, so it was easier to make. And it worked as I was expecting it to.

N/A

Screenshots of the .csv document are in Appendix A.

When I use “c” on the .csv document a data cube will spawn in that location on the map.

Using this letter, it was easier to choose the locations of where I wanted this item to spawn on the map.

I used highlights to colour code the letter “c” whenever I used it on the map, so it was easier to understand. And it worked as I was expecting it to.

N/A

Screenshots of the .csv document are in Appendix A.

When I use “r” on the .csv document a data pyramid will spawn in that location on the map.

Using this letter, it was easier to choose the locations of where I wanted this item to spawn on the map.

I used highlights to colour code the letter “r” whenever I used it on the map, so it was easier to understand. And it worked as I was expecting it to.

N/A

Screenshots of the .csv document are in Appendix A.

When I use “v” on the .csv document an enemy will spawn in that location on the map.

Using this letter, it was easier to choose the locations of where I wanted the enemies to spawn on the map.

It worked as I was expecting it to. I highlighted anything with the letter “v” in the .csv document to make it easier to spawn enemies and decide where rot spawn them.

N/A

Screenshots of the .csv document are in Appendix A.

The code responsible for spawning enemies and collectibles are working as they should.

I used assistance from the work on the worksheets for this.

The code worked as expected with help from the .csv document to know where to spawn each object on the map.

The code and the .csv work together to build the map.

N/A

Screenshots of the code and .csv document are in Appendix A.

I added collision into the game

Used assistance from the worksheets to get this to work.

It worked how I intended but there are the odd areas of the game where the collision is a bit glitchy.

Sometimes when you jump on the left side of a block you can jump up the walls that I tried to make solid.

Screenshots of the game in Appendix A.

I created some custom sprites.

I made some custom sprites to fit the theme of the game. These sprites are of the theme of the halo series. I used inspiration from the internet to help me make these sprites.

The sprites work and load perfectly. Some of the sprites to do with the player are a bit jittery such as when jumping there is a bit of a jagged effect.

It’s a bit jittery when the player jumps.

A screen shot of the game running with sprites are in Appendix A.

I added a custom background that matches the platforms and walls of the game.

I found a background online that matched the theme of the game.

I decided to go with a nice background of the halo ring since that is a vital part of the game.

I didn’t end up sticking with the pixelated theme of the game with the background since I liked the way this background looked.

A screenshot of the background implemented into working game is in Appendix A.

I created custom platform sprites.

I created some platforms in the 32-bit style of the rest of the game which fits with the rest of the game.

With the platforms I created 2. The first platform is a simple grass terrain which is a one-way platform (you can only jump up) and an alien style of hovering platform which is 2 way so you can jump up and down the platform.

To jump up the platform press “W”

 

To go down the platform press “S” and the “up arrow key”.

A screenshot of the platforms in the working game are located in Appendix A.


 

Test Logs

Element / test

Expected outcome

Actual outcome

Evidence / Fixes

Game run

when you launch the game the game runs as it was designed to.

Yes, the game runs as it was expected.

When I was building the game, I had some issues getting the background song to play in the main game.

Menu page display

When you load the game up it will display the menu screen as intended.

Yes, the menu page displayed and worked as it was expected.

I changed the music in the background of the menu to fit the game better.

Does the player character move

When WASD is used the player character will move in game.

This worked as it was intended.

N/A

Does the character look the correct way?

When the player presses “A” or “D” the players character will turn to look “Left” or “Right”.

Yes, the players character faced the correct direction as intended.

N/A

Do enemies move

When you spawn in the game the enemies will move.

This worked as it was intended.

N/A

Can player shoot

when the “Space bar” is pressed the player will shoot.

Yes, this is working as it was intended.

One fix I couldn’t manage to do was line the bullets up with the players gun, so they are a bit off.

Can enemies shoot

when the player is near the enemies, they will shoot at him. (the bullet curves up and down towards the player)

This worked as it was intended.

This feature didn’t require any fixing since the bullets aligned up perfectly first try.

Players weapon fires

When “space bar” is pressed bullets will appear.

This worked as intended.

A fix I couldn’t make work is that the bullets appear too high rather than in line with the player’s gun.

Players take damage

When the player is hit by one of the enemy’s laser bullets, they will take 5 damage.

Yes, the player takes damage when hit by an enemy bullet.

I’m not sure if 5 damage is enough so I might change it at a later date but for now it is enough for me to test the game.

Enemies take damage

When the player presses “Space bar” it will shoot bullets, which will damage the enemy.

The enemies take damage but I’m not sure it is enough damage.

I increased the damage the player deals to a point where I believe it is enough to balance the game.

Players pick up collectables

The collectables consist of Data Pyramids which add more ammo, and data Cubes which give more health.

The collectables work how they are supposed to.

I may need to change how much ammo the pyramids give you but for now it is enough.

Player regenerate ammo

When the player goes over the Data Pyramid, they will receive more ammo.

The Data Pyramids work as they are supposed to.

N/A

Player regenerates health

When the player goes over the Data Cube, they will receive more ammo.

The Data Cubes work how they are supposed to.

N/A

Does the audio play (menu screen)

When the player starts the game the menu screen works and the audio plays in the background.

The music works as intended and there were no problems.

N/A

Does the audio play (Main Game)

After the menu screen the menu screen music stops and the main game music starts to play in the background of the game as the player plays the game.

The music works as intended however I had a few problems when trying to get it to work.

When the game started to play it didn’t want to play the music and would just stop the menu music however, I managed to figure out what the issue was. Evidence for this is in Appendix A.

Do the textures load

When the game is launched all the textures load as intended.

Yes, when the game is launched all the textures load as intended.

N/A