This Game was a university project that was worked on by me and three other people. It is a lane based, wave, tower defence game. It is a mobile game that was created in the Unity game engine and is designed to be both family friendly as well as exciting for people of all ages. We worked with a graphic artist on this project who had the majority of control over the look of the 2D assets but as a team we all pitched in when it came to the designs.
For this game the main mechanical parts that I worked on was the shooting mechanics for the projectile based units as well as fixing and helping with the implementation of the upgrade system. I also was the lead on fixing both the enemies and the "Cop with shield" unit. I was the main contributor to the "Onboarding UI" implementation and design along with our artist. The sound effects and music where also found and compiled completely by me.
Table of Contents
This week I focused on the initial planning stages of our game. This included working with the team and eventually settling on our 2d lane based tower defence game based on Cops VS Robbers.
We started out by researching other games with a similar feel to what we where going for and used those to brainstorm the mechanics we wanted implemented into our game. The biggest inspiration used was the game "Plants VS Zombies" which had similar mechanics, such as the lane based tower defence elements and is what led to us wanting to implement features such as our Cop cars that are a last ditch defence, much like the lawn mowers in "Plants VS Zombies".
We also came up with some simple concept art (FIG 1) for out artist to work with so we can explain to him what the assets we are looking for are and so he ultimately can create the first assets for out game. We decided on having the police be defending somewhere that the robbers might want to break into, like a jail to free there friends or a jewellery shop however as of this week the details are undecided.
FIG 1
This week I focused on creating the base prototype of our game. We made a change to go from a vertical game to a horizontal game where the enemies come from the right to the left so that things would be more clear as when we started to try and implement the horizontal layout we found ourselves very pressed for space.
During this week we also decided to go with a 2d game as we think it will fit in more with other mobile games while also being able to run much better on older mobile models without lagging as much as a 3d game might.
I personally worked on helping to set up the UI by discussing with another developer where everything should be positioned and creating a simple prototype using online assets so that we could see how everything would be laid out. We made sure to run our ideas and final product past our artist so that he could see what we wanted as well as so he could give input from an artistic point of view, which is how we ended up with our first prototype (FIG 2).
Next week we had a concept pitch where we had to present our idea and gewt feedback on both the quality of our game idea as well as if we where allowed to go ahead with the devlopment of our game, so making sure we had everything finished was quite a crunch but I am glad we got everything finished in time.
FIG 2
This week we had our game pitch, we decided to add a some actual functionality to our game as well as record a short video explaining roughly how the game would work and show off what we currently have created (VID 1).
Our pitch was very successful and both the other developers that where working on other projects as well as our overseer was very happy with the idea and how things where currently looking. We got full marks as far as our actual pitch was concerned and we got the go ahead to carry on with our development and to keep going in the direction we are as it is looking promising.
VID 1
This week I worked on ironing out a lot of the bugs we had in the basic functions in our game as it is now. Firstly sometimes in the menu you are unable to place a unit after clicking on it, this was very quickly fixed by just rewriting the system so that it can track even if you double click on the unit when selecting it, because it used to select and then deselect so its good that it is now working.
I also worked on fixing the problem of the hit registration since the robbers are getting shot and its being detected, which we can tell because they are knocked back, however they are not actually taking damage. I implemented the health pools for the enemies and sorted out the basic damage reduction when hit so that we can track how much damage they are taking and if they are now defeated. I also then had to go back and make sure all the units do the correct amount of damage based on the damage table we created (SHEET 1). We wont be adding the upgrading feature until later but the base damage is implemented.
SHEET 1
This week we had a week off so we where not working on our project.
This week I worked on the implementation of our sound effects and our music. I found some music that I believe suited our game well and got it double checked by our team before implementing it in. I think the music is definitely well done and fits in well so I'm happy with that choice.
As for the sound effects they took some searching but i found some very good free, copyright free sound effects that sounded clean and well made while also sounding like they where not out of place in our gaem. I got all of these double checked by out team so that we where all happy and then implemented them into the game.
Our game now has soundtracks as well as sound effects for all the actions in-game and im happy with them all.
This week I worked closely together with our artist to implement the unit animations.
He had created some assets and animations but they did not really fit in the game and looked very poor on the small scale factor of a phone screen. So we worked together to remake the animations and implement them into the game.
All animations for the units where done in game, this includes the muzzle flash of the machine gun where the flash appears and disappears in game.
The technical parts for implementing all the animations where very easy, this is both the animations for our menus, whether that be the acetal implemented gifs of the actions of our side menu opening in a much more clean fashion, this was all done during this week.
This week I worked on fixing how the defence units "Cop with gun" and "Machine gun" work.
There where some issues with both the hit registration of the projectiles that appeared part way though testing. This was easily fixed by slightly increasing the hitboxes of the projectiles so that there was more interaction space between the projectile hitbox and the enemy hitbox.
There was also an issue with telling the difference between the "Cop with gun" projectiles and the "Machine gun" projectiles. This was fixed by colouring the "Cop with gun" unit's projectiles blue while keeping the "Machine Gun" unit's projectiles black. (See FIG 3)
FIG 3
This week I worked on the upgrade menu for all of the defence unit's in the game.
I started by collecting all of the assets from our artist and discussing with him about the layout before actually implementing the canvases and creating the menu and upgrade visuals (FIG 4).
I then went on to add actual use to the UI. I did this by making sure that you could actually upgrade down one of the paths of our upgrade sheet (SHEET 1). I then made sure that the upgrades would actually correlate to the correct aspect on the correct unit, for example increasing health or damage.
I then had to implement that ability so that you can only go down one upgrade path since upon testing you could actually upgrade both paths which effected the balance of the game.
FIG 4
SHEET 1
This week I worked on the events that happen during levels 14 and 15.
In level 14 and 15 the movement speed, spawn speed and damage of the enemies increases be a set percentage.
All of the coders worked on implementing these changes on the different levels that occur so that we could split the workload and get it all completed in a more timely fashion as by this point in the project we all had extra time and thought it would be good to give everybody something to do.
This did not take long to do so we started on gathering people for next week who would be willing to come in and test our game as that is what we had planned for next week.
This week we had the first large scale testing event for our game.
The main feedback we got is as follows:
All units should have health bars
The health bar for the friendly units should be green and not blue as it is hard to see
The Units should get faster and stronger more often as its to spread apart
These where the main feedback points so we worked on these this week. We managed to implement these changes quite easily and we then prepared our game for a second round of large scale testing and feedback next week.
The main changes i worked on where updating the units so that they speed up and hit harder and spawn more often. This was quite easy to accomplish as we only implemented the system last week so it was fresh in my mind, how to make these changes.
This week we had the second large scale testing event for our game.
The main feedback we got is as follows:
Splash when the bullet hits the robber
Cop car light effects
Particles when Money is picked up
Money visibility while in the building mode
Fixing Land Mine shake to destroy
These where the main feedback points so we worked on these this week. We managed to implement these changes quite easily and tried to get as much done before we have a Christmas break.
We decided not to implement a splash when a bullet hit a robber because it could be mistaken for blood which would have bumped up our PEGI rating of our game which we wanted to avoid. I instead emphasised the knock back from the bullets when they collide with the enemies but not so much so they could get pushed back or held in place by tow many bullets.
This week we had our christmas break so we did not actually work on our game at all.
This week I worked on updating and adding on to our onboarding UI.
I made sure to update it so that it explains all the new main features of the game and actually contain text that makes sense rather than the placeholder text we had been using for some of it.
We also added a Polish language option to the game as one of our developers spoke it so thought it would be a good proof of concept that we can have multiple different languages (FIG 5). So I had to make sure to implement the Polish translations (FIG 6) into our onboarding with the help of our polish developer who both made the translations and told me where they needed to go.
FIG 5
FIG 6
This week is when we finished up our documentation and placed the final finishing touches on our game.
We made a final presentation video (VIDEO 2) to display how our game worked, which had an issue with lag when recording with many characters on screen but had no actual in game issues so that was okay, we also had to do our individual reflection (SHEET 2), where we answered some questions from our supervisor and handed that in along with out final presentation video.
We also put the final updates on our trello board which we had been using the entire project (FIG 7) to make sure everything was ticked off and we had not overlooked anything which we luckily didn't so everything was good there. Other than that we where completely finished so that marks the end of this blog and our Cop's VS Robbers project.
VIDEO 2
SHEET 2
FIG 7