There is currently no real objective to my game, aside from competing with others to earn the highest score. Initially this was not going to be the goal and instead the goal was to survive all the waves and finally escape the environment, no matter the level. But whilst myself and others were testing the game I had a score system which ended up being used to compete between the testers and others who played.This was purely by chance but, after I saw the enjoyment the testers got from the competition, I decided to add a highscore screen after death with the ability to even enter your name, if you got the new highscore. I chose to only have the highest score displayed as this presents more competition and as it is the main objective this only made even more sense.
I will probably change this in the future, as the game gets out to more people and it expands from simply local play I would like to not only display highscores, but all scores no matter the rank, but I would also like the game to have an ending. I feel it should be noted for the game to have an ending I feel it would have to include more content and change to change it from an endless game to a game that actually progresses in more than difficulty, this would make the game's progress more profitable and the payoff for the Player would then be greater .
This objective is currently achieved through a few simple mechanics (I have plans to branch out to other mechanics later)
My mechanics are essentially the following I will group them into those that aren't directly controlled by the Player and those which are.
Player not in direct control
Needs System
One of the core mechanics is the 'Needs System' in my game. This is essentially a system with different meters representing the Players needs (hunger,thirst,bladder,hygiene,sleep) Once any meter goes below a certain threshhold the Player will experience an effect. For example if their hunger goes below half they might hear a stomach grumble then once it hits depletes fully the Player will die. I want the basic consequences to occure in the final game. Once hunger and thirst are depleted I want the Player to die but just before I want some audial feedback such as a groan or a raspy moan. When bladder is depleted I want the Player to start walking awkwardly and then eventually stop to relieve themselves which will probably result in death. Once hygiene is depleted I want the zombies to start spawning quicker and maybe start getting faster as they can smell you. When sleep is below half I want the Player to start randomly closing their eyes and eventually pass out when depleted fully, which again will probably result in death as The Zombies catch up with the player as a result.
Zombie Spawning
Zombies will continuously spawn regardless of if the player has fully cleared the wave. I wanted to simulate a constant wave of zombies that would not wait for more zombies to be killed. Currently as the level is not the ideal closed space I had desired I have not done this instead I have gradually increased the max zombies as the others are killed. But once the map is a closed space zombies will be a bigger threat and I will continuously spawn them in to chase the player but in smaller amounts but spread out around the various entry points around the map.
Zombie enemy
Once the zombies are spawned they will seek out the player using A* pathfinding to naviagate around objects and find the player. They will be encouraged to take different paths to eachother in order to attempt to flank and suprise the player. This whole time they will be playing a looping walking animation. Once a zombie gets into attack range of the player the zombie will attack the player and do damage to the players health.
Health
Once the player takes damage their health will be reduced, the player will be given feedback through the health bar in the UI and a hurt sound that will play. Once the player's health reaches certain points different effects will happen the main one being death at 0 health.
Score
The Score is a number that is constantly increased and as of now is always equal to the amount of time the player has survived times 5. I did this as I have a theory that multiples of 5 are nicer to see and gives the player a greater payoff once they see their score. As instead of "you survived 33 seconds" it will say "You got a score of 165" which is a more appealing number as it is a multiple of 5. I am sure a pyschologist or even a ludologist could offer more insight into this.
Highscore
The Highscore is also a number that is saved to the game's permanent player files. The Highscore is a number that is equal to the highest score that has been achieved. It works like this: once the player inevitably dies, if their score is higher than the Highscore (which is a default of 0 to prevent any null exceptions) then the new highscore is the scores value. If this does happen then a function is called that lets the player type a name into an input field. The inputted name is then saved into a variable along with the highscore value. These are then both displayed like so "NAME got a highscore of HIGHSCORE" This is displayed on the end screen from then on until another player beats the highscore then they get to write THEIR name and THEIR highscore, and then theirs are displayed until another person beats that.
Player in direct control
Pickup and use items
The items that can be picked up are randomly assigned to positions around the map. To use an item the Player has to pickup the item first. The player can pickup any item by simply looking at it and pressing the E key. Once the player picks up the item they can use it once they have selected it by using left click.
Items
Items are objects with different properties that are placed around the map. Items are currently split up into two main categories that dictate what the item does when it is used. The two categories are weapons and consumables. Weapons are items that allow the player to play an attack animation which moves the weapon. Once the weapon hits an enemy the enemy takes damage and is killed. The frequency in which the Player can use a weapon is limited to prevent the player from spamming attack with the weapon. Consumables are currently the only way for the player to restore their needs meters. Upon eating or drinking, the relevant needs meter is filled by the consumables amount. Some consumables
play a particle effect which makes particles of the consumable appear in front of the player, this is a little bit of Juiciness. (I will go into that more later, in short it adds to the feeling of the game).
My game features a very fast placed form of gameplay, I will aim to create a game that will give the player very limited or no downtime at all. This means the player will constantly be doing something to help themselves, be it run away from a zombie or find a bed to sleep in.
I hope what I feel is a rather unique take on fast paced gameplay (especially in this genre) will be my main unique selling point. The game will heavily focus on that unique selling point and as such will help to focus on the mechanics above, by having simple low poly visuals that will never distract from gameplay and as such will only enhance the mechanics and show the feedback that is required.
To focus soley on the gameplay even further, there is no real story in my game as of yet. I think in the end I will do a pointless story that adds to the game but does not change it in any major way. This will either be in the form of a story with very little detail or one that does not take itself seriously which will likely be ignored by the Player. Funnily enough I think this is exactly what two of the games I have mentioned so far do.
In The Ship the story is a short simple one.
Killing floor 2 is the perfect example of a story pointless to the game, because its story is mostly irrelevant in the game all the players needs to know to is ZEDs are bad shoot them, oh and there is also a boss at the end. Coincidentally this is the most the player is told with a few dialogue lines from the players as exceptions. This is the story for the game I found on their website, which can only be found out through external means, the full story is not told by simply playing the game.
"In KILLING FLOOR 2 players descend into continental Europe where the outbreak caused by Horzine Biotech’s failed experiment has quickly spread and gained unstoppable momentum, essentially paralyzing the European Union— Just one month after the events in the original KILLING FLOOR, the specimen clones are everywhere and civilization is in disarray; communications have failed, governments have collapsed, and military forces have been systematically eradicated. The people of Europe know survival and self-preservation too well and lucky survivors have gone into hiding.
Not all have given up hope though... A group of civilians and mercenaries have banded together to combat the outbreak and established privately funded operation bases across Europe. Upon tracking specimen clone outbreaks, players will descend into zed-laden hot zones and exterminate them."
The story is in a way quite seperate from the game. The game certainly takes place in the story, but does the story take place in the game. I feel it doesn't. Except when it is something directly involving the mechanics, that is the only exception. For example there are certainly ZEDs everywhere or specimen clones as the story puts it. So to conclude this thought, I feel the story is only relayed vagely through game mechanics where it is needed, but even then it only tells the player what they have to know.
My favourite example of this is how the variety in the characters and the classes is explained. "Not all have given up hope though... A group of civilians and mercenaries have banded together to combat the outbreak" This seems like either the laziest or most simple way to explain the character variety. But that is ok, the focus is most certainly on fast paced visceral and juicy gameplay, not story telling.
The most my game would definitely tell the player is that they would be in a large seemingly all purpose shop much like an IKEA or something like it. The Player will learn this as they navigate the map and see the signs for the store and see how large the area is and what is seems to sell. All of these are details about the environment that sells a story based on facts and contextual clues from the environment. The Player does not even need to know this to play the game mind. They could play it without taking in any contextual clues in the environment in anyway. That would be fine as it is up to the player how they play the game. I suspect I will modify the game if I was to see people play it and see their opinions on it and possibly their feedback.
This will not be any different to how I have changed the game, based on my testers feedback and firsthand experiences. With the exception that the information I acquire would be more accurate and true to the majority of my games players and fanbase. I feel this is because when a tester plays a game they are already connected with the game and feel a connection to it. So they would react differently. Whereas if someone completely new to the game with no obligations of any kind, who is not connected to the game in anyway would react differently and more naturally. The biggest contrast I have observed that is related to this is how I would play a game I had created and how someone new to my game would. I would play my game quickly and it would be almost mechanically natural as I play it as close to how I envisioned it in the first place.
Whereas if the new person played it they would play it much slower and arguably more naturally as they are learning it they would also make wrong assumptions about how the game works and its controls etc. Which is actually great for testing, in a completely ideal world I would get a completely new tester every time. As there is seemingly no flaw in getting someone new every time. The closest to this I could realistically get is a large varied focus group of testers.
(After deciding on the basics of my game, after I had written my synopsis I looked at other games that fit my games description. The two main games that stood out were Killing floor 2 and The Ship. Killing floor 2 has the well polished visceral melee combat that I envision my game to have in the future, while The Ship has the frantic fast placed gameplay with the needs system, which causes the player to constantly be on the go, whilst it continues giving varied gameplay. I have included videos to both games below.)
After looking at the games my game was similair to I had a thought about the basic mechanics and the suitable controls for those mechanics. This was what made me think the game would be most suited to PC gamers because I find that the first person shooter combat genre is best on PC anyway. Also there were not many controls so the controls would quite simply be the genres conventions.
WASD to move
Space to jump
Mouse movement to look around
E to pickup items
Scroll wheel / numbers 1 - 5 to select items
Left click to use the selected item
After I was happy with the games finished state on PC then I could easily port to XBOX ONE or PS4 with very similair controls just with slight auto aiming to counter the lack of accuray using the analog, but as the games combat would mainly be melee this would not be a problem. The controls would most likely be the following
XBOX ONE
Left Analog to move
A to jump
Right Analog to look around
X to pickup items
Left and Right bumpers to select Items
Right trigger to use the selected item
PS4
Left Analog to move
X to jump
Right Analog to look around
⬜ to pickup items
Left and Right bumpers to select Items
Right trigger to use the selected item
Once I had a basic idea of what my game actually was, I decided it was important to figure out my games Target Demographic. This was essentially who I would target my game at. In the end I settled on primairly male indie gamers around the age of 14- 36 (research showed this was the range which targetted the majority of gamers, but it was hard to research the ages of 'Indie gamers') My decision on the demographic was then made easier when I saw how many gamers use social media related to gaming and more specifically indie gaming.
I looked up stats on popular Youtubers and subreddits related to gaming and saw the exposure popular games that were featured had. For example a popular youtube channel "PewDiePie" gets on average over 5 million views daily. Games have often been made popular by youtubers for example Goat Simulator and Flappy bird. These are both indie games that made the developers and their games more popular, due to exposure through social networking sites like Youtube and Reddit.
I decided my game fit the indie game market, as it was not a niche game but it was not serious enough to fit into the AAA or mainstream market. Also the previously niche low poly style I was going for certainly influenced my choice.
I feel the theme that I actually wanted was achieved more effectively through my game's media designs. I am especially happy with the arcade cabinet designs and the promotional poster.
Alpha patch notes (Combat Update)
So I only wanted to make these patch notes once the game got to an acceptable standard for me. I feel this alpha patch has given it that standard, so here goes.
Tester comments / Personal observations
A play tester said “To kill a zombie you took damage almost everytime, so it was difficult to kill them without dying”
(This was not a bug it just needed rebalancing according to the tester)
They also said “You could pick up a food within a food like Luke did with the burger (not sure if that will be easy to recreate or not)”
(This showed it was a reoccurring bug that another play tester found)
Balance Changes
Zombie Balance Changes
Increased delay on the Zombies attack
This made it much easier to kill the zombie before it attacked. This led to fairer gameplay.
Weapon Balance Changes
Increased length of the Katana
This made it easier to hit the zombies from a greater range. This led to less challenging, but fairer gameplay
Item Balance Changes
Made hunger-reducing items increase The Players health. This increased the potential amount of time The Player could survive for.
Bug Fixes
Modified the layers that the Raycast used for picking up items. This makes the Raycast only interact with Objects on the specified layers. This fix now allows The Player to pick things up regardless of anything in the way.
Changed how items were switched and the Hotbar and its slot’s Items were managed. This fixed a bug where The Player could hold more items than their inventory allowed, resulting in multiple non-interactive objects.
Juiciness Research
Once I had done my alpha I started to notice a real lack of fun and engaging feedback. What I mean by this is their were no sounds or little details that engaged me. This made me remember a talk by Vlambeer's Jan Willem Jijman who spoke about a term called 'Juiciness'. Juiciness is essentially adding lots of engaging details to give the game a good feel essentially. It is hard to explain without giving examples, so I have added the talks below.
When I remembered the talk I decided to research some examples that related more to my game genre. (as Vlambeer makes 2D action shooters such as Nuclear Throne which is an entirely different genre). After researching I started looking at a game very similair to mine which was Killing floor. Killing floor 2 specifically made every weapon more powerful to make the player feel powerful and to give an excuse for more Juiciness in the form of blood gore and gibs. (Great gif below)
I feel this research really helped to improve my game.
I feel Juiciness is something all if not most game developers need to add to make their game fun. I really hope other game developers learn from talks like those above. Juiciness really empowers players and I feel it completely sells the game. For example which breakout clone would you rather play below?
Beta patch notes (Waffles)
Tester comments / Personal observations
A play tester said “I could only see one waffle, but I could see more of everything else”
(Initially I had it down as a random occurrence, but the problem persisted)
Balance Changes
More Zombie Balance Changes
Increased The Zombies top speed to 4.8 (which is 96% of the player’s top speed). The Zombies are now a greater threat to The Player after last week’s update which made them significantly weaker and easier to deal with. This change made the game challenging but more balanced.
Bug Fixes
Fixed a bug where The Zombies could still attack in a short window after they were killed but before they were destroyed. This was due to a case sensitive check of The Zombie’s state that would always return false.
Fixed a design bug where The Waffles food item had the wrong material type when instantiated, making them white when spawned in at the start. This meant they were virtually impossible to see against the white colour of the shelves.
Changed The Waffle’s Pivot which previously made them spawn under the shelves making them completely hidden to the player, giving the impression there was only one waffle on the map again.
After I had completed my Final Major Project I decided to review my progress so I could improve my effectiveness in similar tasks in the future. Here is my evaluation of my progress below.
Despite my efforts to plan my time effectively ahead of time using a gantchart. (below) I would say I did not use my time as well as I could have.
To start off with I would say I could have used my time much more effectively if I hadn't had other things to work on. But even with the distractions and the actual mis-use of my time in certain areas, I was able to complete most of what I wanted to. As a result of this I ended up with a completely playable tech demo. I think this is largely due to how well I used my time in the last few weeks coming up to the deadline. In these weeks I was fitting in hours wherever I could in order to actually complete the project in time. I had also started to finish the other things I was working on, which allowed me to free up even more time to do other aspects of my FMP.
Despite my lack of good time management skills I had my basic core mechanics done in less than a week.
Skills
Whilst I was making my game I had to research a lot of game design to give my game the right feel. Because at the start of my project unbeknownst to me there was a ton of design choices to be made as I chose to make a nonlinear more open game which gave the player more freedom in their choices. This ultimately made game design harder as I had to know how to not focus on certain areas and to improve all aspects of my game at the same time.
One of the main design choices and the main skill I think I started to grasp was how to add flavour and more of a feeling in your game.
I did this through a term called juiciness that I have explained above in other areas of my blog much better. It is essentially how to give your game a better feeling through using good attention to detail such as the addition of the right sounds or particle effects. In my game I added eating particle effects and eating sounds to make the eating feel like something more than clicking and restoring the hunger. In a sense it made it more believeable but not realistic exactly.
I had also intended to improve my skills in low poly 3d modelling I wanted to do this to give my game an overall style. Unfortunately I had to admit this would give me too much to do, especially since I chose the programming pathway and had that on top of various parts of game design to do.
I also feel I have learned how to more effectively act as a team and respond to feedback fairly well. As when I had my peers test my game they found various bugs or unspecific problems and whether the information was helpful or not I managed to fix every known bug so far. There is no existing problem that I am aware of currently in the game.
Overall the most useful skill I have used throughout the entire process and one that I value above all else, is the ability to problem solve and figure out either how to solve the problem or how to find out how to solve the problem. I find the latter much more useful and more versatile than any other skill.
Proposal
I feel like I set myself an interesting challenge, which I was fairly unsure about at first. The challenge was to constantly challenge the player giving them no down time between anything. The player was constantly doing something that was the plan when I started. I am pleased to say I think I achieved that hectic fast paced gameplay that continuously hounded the player for action. I would say it works but the game is just a tech demo at the moment
Despite this I feel like I achieved most what I stated I would in my project proposal. I said I wanted to make a game, my exact words were “How not to survive is a first person shooter which focuses on hectic fast paced gameplay. This game will be a zombie wave shooter with survival elements, in a low poly setting” Now do I feel like I did all of this? I have made a first person shooter it has very hectic fast paced gameplay. My game also spawns hordes of Zombies in waves. One of my games core mechanics is the survival elements in the form of a “Needs system” Which is a system in my game which depletes various meters representing the player’s needs (Hunger, Thirst, Bladder, Hygiene, and Sleep). These are the typical survival elements so I would say I have covered all of the criteria I mentioned even the low poly settings I guess. However I feel like saying I achieved a low poly setting in its current state is a huge copout. Because I have technically, but that is because of the lack of time put into the environment compared to the other areas. I made sure my environment was functional and able to be used to showcase the programming and design of my FMP. But despite the complete copout I feel the environment I did have worked in the tech demo and made me think about potential ideas for the game’s environment in the future.
Evaluation
In terms of functionality I completed everything I said I would on this list of features I said I would produce. Now that I think of it there was a mechanic that I scrapped and that was the introduction of an Entertainment or Sanity meter, I simply don’t feel it would work in the game, as even though the game is currently only a tech demo the player has enough to constantly deal with. So simply adding in another meter to constantly monitor and maintain could throw off the fragile balance the game has between fun and hectic. As the game relies on it being hectic if the game was less hectic I feel it would be boring, if it was too hectic it would be frustrating and unenjoyable.
“I aim to produce a playable tech demo, showing main mechanics such as basic map navigation, and the needs meter; Thirst, Hunger, bladder, sleep,
Entertainment/sanity and hygiene. These meters will decrease slowly requiring the player to replenish them by Drinking, eating, urinating, sleeping, and entertaining oneself and showering/washing hands, respectively. The items required to satisfy the player’s individual needs meter can be found around the map. The needs can be satisfied by using objects such as sinks and beds.
I will also add basic zombies with A* pathfinding that hunt down and attack the player. The player will also be able to fight back with various weapons including a katana. It should be noted that initially there will most likely be no complicated animations or even animations.”
I feel like I even completed what I set out to do which was to make a successful and unique tech demo that people could play and enjoy. I also think I did what was required of me as well which was essentially to create a working game prototype that I have designed and built using a games engine. I was also to focus on showing function in my game. I feel I have more than done this as I have gone for the programming pathway and as such most if not all of my work I have done myself for this assignment has been adding function to my game by programming it in. I was also quite familiar with how to use the 3D game engine of my choice (Unity) as I have used it many times in the past to do projects quite like this one. I feel I added juiciness poorly this was mainly due to being pressured for time, as to create the right feel for YOUR game I think it is better to custom make the sounds and particle effects. It is rare you will find any that fit well.
I have also heavily recorded my progress in a professional manner through frequent blog posts showing my progress. I even made alpha and beta patch notes so people following my game could keep up to date on any changed that could affect how they play the game. The belief that I completed the task to a good standard was only further enforced when people played my game at an event designed to showcase work. Complete strangers (with no pre-conceived thoughts) played my game and I am pleased to say that once they grasped the controls they did seem to enjoy the game.
However I do not think they were my target audience because they did not grasp the FPS’s conventional controls.
Overall I would say my FMP fit the brief and delivered in every aspect, apart from having the ideal low poly environment that I had envisioned from the start of its development. However I believe I would be able to complete the game with no additional skills if I had only more time. I plan to do this after I finish college in the upcoming weeks after the time of writing this.