For the final year of my Game Design Bachelor's degree, we were split into groups to create a game from scratch.
My teammate and I spent 9 months in total, starting from early development phase to the final product.
This project was very fun and memorable for me as I spent lots of work to ensure a fun experience.
Studio: Bus Boyz
Team Size: 2
My Primary Roles: Game Designer, Programmer, Audio Designer, Level Designer, Project Manager, Dialogue Writer, Environmental Asset Designer
My Additional Roles: 3D Asset Designer, Social Media Management
Engine: Unity
Description: The story of our game begins with the player accepting this job offer from this intergalactic bus company that promises you with a very successful future and salary. The player is then tasked to drive the bus in a foreign planet to pick up the passengers and delivery them to their bus stops. The catch? Let just say the passengers that you will be picking won't be just any regular passengers and being the bus driver is going to be a very chaotic job.
Responsibilities Include:
Designing the mechanics
Designing the level
Programmed all systems and mechanic using C#
Designed and written all dialogues
Managed sound design
Ensure the direction of the project
Download the game: https://busboyz.itch.io/ordeals-on-the-bus
Table of Contents
Concept
The idea sprouted by our poor and bizarre experiences with the Dublin busses.
From the beginning, we wanted to create an immersive experience that portraits our experiences, but after many iterations we realized this game could potentially be too offensive so we taken that into considerations and made all the characters fictional.
Finally we decided to make the passengers to be bananas set in a modern world.
All the ordeals and or events are inspired by popular trends such as the phone TikTok the player can pick up to appeal more to the current generation.
Prototyping
First I identified all the core elements needed so the team can get a feel of what the game would be like:
Bus movement
Bus docking
Passenger AI
In the beginning I coded to make the bus move but eventually came to a problem where because of the Unity AI pathing system, navmesh can't be dynamic.
In solution, I made the world move instead and baked a navmesh onto the bus.
The passengers using the basic navmesh AI pathing system with additional coded logic to direct it where to go and what state it is in.
Due to the limited project time I scrapped the idea of allowing the player to steer left and right due to the amount of bugs I encountered and switched it to a 3 lane system
Once we had a rough idea of what the game was going to be, it was down to gathering all the bits and pieces together and started building the game in unity.
I asked my teammate to see which area they are most confident and comfortable in and split the roles amongst ourselves.
The first thing that I did was to list all the elements needed for the game on Trello. We did this as it would keep us organized and help us stay on track as to what to do next, then each individual task were assigned to each member of the team.
I made sure that every week we would have a small meeting to check up on each other's work for feedback and further adjustments and every 2 weeks for a standard meeting to discuss the phase of our progress or any adjustment or new ideas that we would like to add to the game.
Because of our group size, I knew that we were underhanded for such an ambiguous project, but through open communication and the dedication of my teammate we managed to pull through.
This game only has one level and it has evolved a lot since the beginning of development due to some idea changes to the passengers or events.
In the very beginning I did not have any assets to work with so I created everything off white-boxing.
I designed the level to be a straight line with some inaccessible side streets for players to feel the less claustrophobic, but eventually I felt players would find it boring as they could stare at the end of the level and lose the element of surprise.
I modified the level by added 2 T-junctions to solve this issue and populated the level with many more variations of white-boxing to create a city feel experience.
With every side street I made sure there is a turn so no extensive amount of buildings are needed to create a horizon effect (enhance performance), plus it creates an illusion that the level is massive. Additionally, taller buildings are added in the background to create a parallax effect.
Once the white-boxing is complete, I written down a lists of buildings and objects for the replacement process.
Some buildings can be seen through to make the world feel more alive and interesting.
In the very beginning the player controls are introduced by the intercom system as this fits with the humor of the game, plus it allows the players to immerse themselves as the new recruit driver.
During this period the player can familiar themselves with the controls without any distractions before the first bus stop. The timing of this is specifically tailor to best optimize for player flow after many iterations from design and player feedback.
Originally, the player drives to the bus stop manually but based on the gameplay loop, automatic docking was added.
To allow the player to understand how the picking passenger mechanic works, the first passenger is designed only to give the ticket to the player so they understand what to do for the rests of the passengers, plus it won't overwhelm them.
After the first bus stop, different types of obstacles are added to increase engagement and also to introduce a new mechanic where if you hit an obstacle, there will be a slow down penalty.
There are in total 3 streets and throughout each street there are going to be interactive or non-interactive events to upkeep the player retention and engagement.
Finally after the last bus stop the player would be familiar with the mechanic of the game and this is where the climax begins where it creates a challenging situation that requires the player to utilize their knowledge before the game ends.
As this game is targeted to a younger demographic, there are no fail states to best optimize for player flow, but the more skilled player will be rewarded with a better salary shown at the end.
Banana crossing ordeal
I got this idea from watching a viral video where the person was in a driving test and the instructor asked them if there was a group of kids and old lady in front, what would they hit first. They answered the kids but the correct answer was the breaks.
I then modified this idea and put it into the game where the player have the choice to run them over or not.
Depending on the player's decision different dialogues will be triggered to be more immersive.
T-junction ordeal
When designing the level I felt the T-junction was very boring as no matter which lane the player is on, it always turns right for the gameplay so I decided to allow the player to go in different directions before finally going right.
I designed each of the experience similar to a Disney ride feel as I feel it fits with the targeted demographic.
Gorilla ordeal
This is the climax of the game and I wanted the gorilla to have a dramatic entrance.
However, I didn't want the targeted audience to be scared of the gorilla so I worked with the asset team to it as goofy as possible.
Other elements
A radio with two music station is added to create a more immersive experience.
A phone with a personalized TikTok that tells the player the lore of the level is added based on the current trends to surprise the player and make the experience memorable.
An influencer banana is added on the side of the street as it was a super popular trend.
Bus driving
The bus always moves forward but its speed can be adjusted by a lever.
The bus can moved into different lanes by turning the steering wheel all the way to the left or right.
The player cannot switch lanes while in the processing of switching lanes.
A visual indicator is shown to let players know which lane they are on.
Bus docking
Once the player enters the area of docking zone the driving mechanic is temporary disabled.
No matter which lane the player is at the bus always dock at the same spot.
Visual and audio signals are indicated to let players know that the bus is automatically docking.
Passengers
To let any passengers on the player must open the door by pressing the blue button.
Each passenger will walk up to you and hand over their ticket and all of them can be punched and be ragdoll.
For the passenger to be seated the player must take it off their hands and deposited it into the ticket machine.
Each passenger at the bus stop will only get on if the previous passenger is seated.
There are in total 3 special passengers.
The first one emits a foul odor that can be cured later by the player injecting it with a dart but they would have to do it every so often as the foul odor will resurface.
The second one won't get onto the bus until the player has taken care of the foul odor and while they are seated and the foul odor comes back they will complain non-stop.
The third one will emit smoke while seated which makes it impossible for the player to see unless they keep reopening a window that rolls up every so often.
Dodging obstacles
Towards the end of the game the player would need to dodge a series of cars.
If the player fails to do so the gorilla will catch up and snatch up one of the passengers and lowers the salary in the end.
For the narrative design I want to firstly introduce the player into the game with a sense of humor to give them a feel of what the game is going to be like and what is happening.
To do so we made the introduction of the game purely a comedic dialogue of the supervisor informing them that they are going to get hired by the IBC (Intergalactic Bus Company). I really liked the idea of a supervisor acting as a guide for the game, so I went with the idea and came up with dialogues for it.
There was a lot of work when it came to the voice acting for the game. I had to write dialogues for each individual passenger and basically everything that needed a speaking voice.
It was a challenge for me to come up with good dialogues as well because I did not have much experience on narrative writing but through research and a lot of iterations, I finally came up with dialogues that we were happy with.
When designing the dialogues for each character, I kept in mind their characteristics and came up with funny dialogues for each of them, for example we knew the supervisor was a person that does not enjoy their job and so I wrote their dialogue in such a way that conveys such emotions.
What is even more challenging for me was to record the dialogues and that is because since I was just getting my friends and family who are not professional voice actors to record these dialogues, I had to do many cuts and decide which line they did was the best convey the emotion that I were looking for.
In total I spent a little over 1 week to get all the dialogues recorded which was much longer than anticipated since I had to wait and schedule dates for the voice actors and each recording session was 4 hours long to get the perfect lines.
I also wanted to have NPCs in the world that played certain dialogues for world building but due to the time constraint of the project that idea was scrapped. Additionally, I really wanted to have custom billboard ads for world building as well but again this idea was scrapped because of how time consuming it would be.
When designing the audio for our game, I knew that I wanted to keep the sounds cartoony to suit the theme of the game and to achieve this I did some research on similar genres of games and found an idea of what the sounds are going to feel like.
The hardest part about this designing process was to make the audio play at the correct volume in the 3D space, I had issues with some audio playing too loud or too quiet so there was a lot of fine tuning but in the end I made it all work together.
I spent a lot of time finding sound effects that best suited for the game and made sure that it is non copyrighted. I wanted to have as many sound effects as possible because I feel that audio is a very important component for any actions in the game, plus it will give the player indication of anything that is happening around them.
Another key feature that I wanted to include was a subtle sound that plays when the player interacts or picks up objects in the game. I felt that this was a very important feature as it will give the player an indication and satisfaction for interacting or picking up the object.
I used FMOD (a software for audio integrated with games) for the project which has made adding audio and different features such as randomized repeated dialogue much easier.
For the laser cannon sound effect, I choose a very dramatic futuristic sound as I feel the player would find it very hilarious that a cannon from the 13th century would be charging up a laser shot.
There is a radio in our game which has two stations; kids’ music and chill music. The reason I choose those two genres of music is because we feel like the younger audience would prefer the kids genre and older audiences, plus this gives the player the choice as well.
Each passenger's voice has been chosen to fit its personality as I feel that the voices of the NPCs really give a lot to their character building and the gorilla sounds are designed to be very dramatic to give the player a feeling of a boss music but we have made his action sounds very silly and goofy to give the humor needed.
As mentioned in the prototyping and level design section we have always constantly tested our game to ensure the best player experience but since that we are constantly working on the project, we could have been tunnel visioned and that is why we wanted to get other people to try our game for fresh ideas and feedback.
We only had the chance to let the public playtest our game during the Beta stages, but we have learnt a lot of things coming from this experience.
With each individual play tester, we would ask them questions on how they feel about the game and any additional things they would want to see in the game, to which they have given us many valuable feedback and ideas that we ended up adding to the game as well. For example, one play tester really wants something to happen to the bananas when you touch them, so we added in a ragdoll function for when you punch the bananas.
The team found playtesting with others to be very valuable as some play testers have found out that if you constantly shoot the rotten banana or keep changing the lane will break the game.
Overall after the playtest, we knew that there is still a little bit to go before we are finished with the game, but our team was super excited to get fixed and add the features suggested by our play testers.
Overall, I am happy with how the game turned out given we only worked on this project for 9 moths but there are additionally changes or improves I would love to do in the future as we were quite rushed to finish this project on time.
Visually speaking, some additions such as a more bustling city and NPCs would also have made the game pop.
Additional fine tuning to the performance so the game can be run fully on VR headsets would be ideal.
The sound and visual effects are indeed slightly lacking, the sounds are there, yet not mixed and mastered, the animations could be improved upon to a large degree such as syncing mouths with dialogue etc.
GAMERFEST 2024
When I heard that Gamerfest was around the corner after we finished our university project Ordeals on the Bus, I discussed with my teammate and we ultimately wanted to showcase our game at the event!
At first I was very nervous as this was my first time showcasing our game in public but eventually with tons of people trying the game, I began to feel a sense of accomplishment as they all loved the game and was asking if we are ever going to develop it more or put it up for sale.
This experience was very fun and if given the opportunity I would loved to be at the showcase again!