School Project
Class: DESIGN 5193 - Individual Studies (with a focus on Game, level, and narrative design)
Platform: Unity
Members Involved: Donald Neidecker-Gonzales (Myself), Alex Sallade (Assisted in Music)
My Role: Game Design, Level Design, Narrative Design, Programming
For this project I worked predominantely independently to build out a narrative driven platformer where the player would utilize a triple jump to navigate and fight and in between levels would go through narrative beats to give more info on the world and determine the ending as well as levels they went through. While the audio and art was premade and edited assets, everything else from design, to writing, to programming was done by me over a semester and 1 additional month totalling about 5 months.
TABLE OF CONTENTS
1.) Production Process | 2.) Level Design Process | 3. Boss Design Process
4.) Narrative Design Process | 5.) Programming Process
PRODUCTION PROCESS
At the beginning of the project, I made a trello board to keep track of the work I had to do and the level of importance each task had (red: urgent, yellow: important, green: possible goal with time). Additionally, I set up a onedrive folder for my professor and playtesters to access the builds of the game I had created.
LEVEL DESIGN PROCESS
Pre-Production
To start off the level design process, I created paper maps for every level in the game. For each level I created a key to identify the objects, defined what I wanted the goals of it to be, and then when sketching out the level, tried to keep those goals in mind, whether they were utilizing the triple jump (JetGun) more as a tool for manuevarability like in the first two levels, or using it as a weapon as was done in the final paper map. Additionally, each I planned it so that each level slowly introduced new mechanics to the player.
Alpha
Around a month and a half later, I had all the levels in a playable state. Through thorough playtesting, I was able to discover some of the major problems which included unfair enemy placement, the camera not following properly, which created awkward situations for the players as they did not know what was below them, and most of all the triple jump. Although it was supposed to be used as a tool for navigation, by having the third jump as a projectile seperate from the player, it made it very difficult for the player to aim. From this, I learned about the importance of thinking like the player as I found the triple jump quite easy but for nearly every player, it felt far too difficult.
Beta
Around two months later, I finished the beta version of the game with improvements in the camera movement as it now changed direction whenever the player went near a ledge. Additionally, I changed the layout of enemies to get rid of the places where it was extremely unfair such as enemies that shoot at you in narrow spaces and made it clear when you got another jump. The biggest change I made was adding in the new triple jump so that the last jump persisted when you used it. This made it much easier to use as a tool for navigation. I still had a few alpha blockers or objects that made it unclear where to go and additionally some parts of the level were inconsistent. Although I felt this inconsistency was meant to be a way to increase difficulty, ulimatley I learned that I introduced these changes too fast or made them too different from the orignal creating some clunkiness.
Gold
About a month and a half later I finished the gold. In this final version, I replaced all alpha blockers and tried to make things as clear as possible with some in game dialogue as well. I also, I polished the camera movement throughout all levels so the player should always know whats below them when they are supposed to. Furthermore, I created more consistnecy within each level by making sure the challenge took what was already introduced and added a slight change whether it be making the area to jump smaller or more deadly. One other addition was adding more checkpoints so that the player would not lose large portions of progress.
Throughout this process of designing levels (and later bosses), I was able to see the importance of frequent playtesting and iterating upon previous designs that way you can catch mistakes as soon as possible and create innovative solutions to those problems.
BOSS DESIGN PROCESS
Boss 1
For the first boss I designed, I wanted it to heavily utilize the player using the JetGun as a way to manuever to damage with each wave of blasts requiring better use of it to jump higher. After playtesting the alpha version of this boss, I realized that the gameplay quickly became stale and the final wave was more unfair than challenging as it gave the player very little time to react. For the beta, I added in the second wave that occured at Half HP, however it had a very rough transition to it and included many exploits. For the gold version, I made the transition to the second wave a lot more clear with a roar and camera shake and I patched out the exploits. One thing I later learned was that even though I stated within the story that the head was the weakspot, many players did not know that. Instead I feel I should have included a phase where the player fought just the head to make it clear thats what your supposed to hit.
Boss 2
While the first boss used the Jetgun mostly as a way to manuever more slowly around a stagnant enemy, I realized that post alpha, I wanted a second boss, to force the player to use it in more creative ways through fighting an enemy that is around their own size. When introducing this in the beta, I finished most of the design and programming for it but their were many exploits the player could do to minimize the experience, such as jumping in front of it to damage it and kill it quickly with the jetgun, when it was more meant to be used minimally when in teh air. Furthermore, it felt a little confusing within the story. I later removed these exploits and also added in a cutscene at the start to clarify everything and answer questions within the story.
Wave 1
Wave 2 Wave 3
Each time the boss lost 10 HP, its attack pattern would subtly change. The first one shows the player the shooting ability and how it functions in a rather safe way. In the second wave, it starts targeting the player more by aiming bullets in a downward direction. The last phase takes this the furtherest by shooting one large bullet that the player has to dodge or face large amounts of damage and then quickly shoot afterwards. In between waves, there was also a lighting special that forced the player to use the JetGun as a pure navigational tool. Each of these waves, built upon the unique ways of using the JetGun to quickly manuever, while also allowing small periods where it could be used effectively as a weapon.
NARRATIVE DESIGN PROCESS
To create the story of this game, I first started out by free writing about the world with no particular goal in mind as a method of brainstorming. Using the information I got from that, I developed some basic characters and also spent some time free writing the script to see where it would take me.
Using the draft I wrote in my journal, I typed up another draft into a google doc to make easy changes for when I eventually had to transfer it over to my game and so I could easily reference it when talking with my playtesters. Additionally, if the playtesters wanted to look through the script after playing, they too could easily do so. For the script itself, I wanted to keep it dark and gritty as is done in a cyberpunk world and show where the greed of a person can take the world of others.
PROGRAMING PROCESS
To do all the programming I used a visual scripting plugin for Unity called Playmaker. All Visual Scripting is done in finite state machines, that uses states with a series of premade scripts which you insert values into and connect together with other states in order to get things to function. The one on the left controls movement and shooting when on the ground and the FSM on the right controls the special Lighting move that happens when the boss loses 5 HP.