PROJECT BREAKDOWN
- 4+ years on my spare time
- 5+ people team
- Unity
- Focus on creating depth and pleasant 3Cs
- Main designer and project lead
Tiebreakers is a game I have been working on since I graduated.
I made it in my spare time with the goal to find a publisher and fund it.
The following breakdown will be mostly about my responsibilities related to the game design and direction of game, that I mostly handled by myself:
1. Core gameplay
2. 3C (Character / Controller / Camera)
3. Tech Design
1) Core Gameplay
The Fantasy
Tiebreakers are vigilantes who master their sport to defeat the enemies. They shoot bouncing projectiles and can parry their own balls.
I took the run n’ gun genre to provide a fast-paced experience so the Tiebreakers would use their skills to save the population as fast as possible. On this way, the game would be short (2 to 3 hours straightforward) but very intense and diversified.
Fun factor
The first mandatory thing to the game was to have a very strong gameplay execution, with a superb gamefeel. A minute-to-minute fun factor.
Tirebreakers needs lots of surprises in its gameplay, with various power-ups and new situations to discover.
Gameplay Pillars
AGILITY 🏃♂️💨
- Any player action is cancellable and replaceable by another one to give a dynamism and a movement freedom for the player.
POWER 💪💥
- The character has very powerful and exagerrated attacks to give the feeling of being a sport player mastering their sport.
PRECISION 🎯✨
- The balls bounce and allow the player can parry them so they can chain enemies in various ways.
Game Loops
2) 3C (Character, Controller, Camera)
Character/Controller/Camera
- Character: inertia in the moves and weight to make the aiming satisfying for the player.
Cancellable actions to keep the agility of the character.
- Camera: Medium focus – Goal is too keep a good visibility on the enemies while
having the focus the character and its projectiles.
- Controller: “Pick up and play gameplay” – all mechanics are unlocked, it’s up to the player
to master them and discover their subtleties. The controls have 5 buttons.
Finding the cool factor
A lot of time has been spent in finding the right gameplay. Our aproach consisted in iterating as many mechanics as possible that would fit our core pillars.
Many core mechanics staid:
– Shoot: Attacks enemies with an 8-direction aim
– Parry: Reloads shooting balls + Avoids and defends from parriable attacks
– Special: Loaded by shooting and parrying balls. Helps player to escape an overwhelming situation
– Jump: Provides aerial combat opportunities
– Slide: Avoids non parriable attacks and offers mobility moves
Some of them got avorted:
– Crouching: it made the jump + ↘️ attack hard to use. Also, it didn’t feel so linked to the fantasy to see a tennis player crouching for shooting a ball.
– Wall Jump: It was designed for connecting level design elements, but it felt too much to introduce in the first level regarding the gameplay complexity.
– Speedboost Level 2 and 3: the speedboost is a very subsidiary mechanic, adding too many layers made it too complicated to understand.
– Ultimate Attack: the gameplay is already long to master, the Ultimate attack felt a “too much” addition for the player to take into account.
Adding the depth
Then came the sub mechanics which provide a deeper mastering of the core gameplay.
Adding the details
Knowing that the game is gameplay-focused, I put extra efforts in the gameplay details to make a smooth experience for the player.
I believe that a good playable character will make 50% of the game success for this type of game.
Here’s a video with a few details I made.
Clarify vs. Style
Our art and animation style implied lots of tweaking in various fields.
- 2DFX: make sure the efffects are satisfying, but keep the game readability. Design-wise, it requires very simple shapes to match the art style. In terms of tweaking, these three parameters were the most important : Alpha opacity, Scale transform, Layer.
- Background art: with the Art director we chose a simpler art style (geometric shapes, like TMNT Shredder’s revenge) over a more detailed style (illustrated, like Streets of Rage 4) to keep readability in mind and faster background iterations.
- Character Animation: aiming a great animation quality coupled with smooth controls is important to enhance the gamefeel. Sometimes the animations might have too many frames or deformations so it needs to be integrated and designed in a proper way in engine. For instance, while the animation can look cool as a gif, deformations are hard to track with a frame-per-frame style so it makes the gameplay less precise.
AI Design
The prototype being focused on the game introduction, I went for very simple enemy patterns that would challenge the player and their mechanics. Successful run n’ guns come with diversity, especially regarding the enemies. Player has to understand their behavior quickly and find the way to defeat them as fast as possible.
Red color: non parriable projectiles
Blue color: parriable projectiles
- Standard: Close combat to the player and throws curves grenades
- Bazooka: Shoots projectiles
- Tank: Shoots projectiles
- Helico: Shoots projectiles dividing into small projectiles
- Catcher: Sends player’s projectiles back – player has to parry to defeat him
- Turret: Shoots projectiles parryable one out of two times
Normal – 2 HP:
- Objective: putting pressure, stronger with a bigger crowd.
- Behavior:
-
- Follows player’s position
- Close melee attack next to the player
- Throws curved projectiles at longer distance
-
Bazooka – 5 HP:
- Objective: putting pressure from distance
- Behavior:
-
- Position is static
- Shoots parriable projectiles
-
Catcher – 1 HP:
- Objective: forces the player to parry
- Behavior:
-
- Cancels player’s balls
- Position follows player’s position
- Send parriable projectiles back
- Close melee attack next to the player
-
Tank – 50 HP:
- Objective: putting pressure from distance.
- Behavior:
-
- Position is static
- Shoots projectiles at longer distance
-
Helico – 15 HP:
- Objective: putting pressure from distance
- Behavior:
-
- Position is static
- Shoots parriable projectiles dividing into small projectiles
-
Turret – 125 HP:
- Objective: forces the player to play 2 ways (mobility and parry)
- Behavior:
-
- Position is static
- Shoots parriable projectiles and non parriable one time of two
-
Power-ups: designing new balls
One of the funniest part of this game was to define the projectiles for the player to shoot.
- Pingpong: I wanted something powerful, easy to use, surprising but still respecting the run n’ guns legacy. On this way, I went for a kind of “Heavy Machinegun” that would please Metal Slug fans and adapted it to a Pingpong feeling.
- Discoball (Cancelled): this one was designed before I want power-ups related to sports. The goal was to create a chaotic ball shooting at everyone with sounds. While the idea sounded cool in my head, it made the player very passive. So after that I decided to design power-ups related to sports, I cancelled this one and created the Bowlingball.
- Bowlingball: replacer of the discoball. Designed to make lots of damages along the ground. While it’s very powerful, it also puts the player in danger from the air attacks above them. Contrary to the Discoball, The Bowlingball fantasy works well here and the player is active in the use of the mechanic.
The programmer and I worked on a bunch of parameters for our “bullet scriptable” which allow to iterate on new balls faster.
To process, I simply gave him the intentions of my features, and he then translates this into technical features with parameters.
For very specific parameters, I might ask him the parameters directly.
3) Tech Design
Clear communication was key when working with my programmer.
Briefs have to concise, but explained enough so I can avoid round trips.
The scripts were accessible enough so I could easily tweak things directly inside the scripts, or adding variables
(new sounds for instance, or parameters to change some timings etc).
He managed the general programming and the whole architecture of the technical aspect.
On my side I handled the UI part for which I made the design, the art, and the programming.
Here the intention was to make a very punchy main menu, before entering into the action. I especially care about the player onboarding and making them feel the game fantasy as soon as the game started.
Code example from my programmer
Menu UI design
Menu UI parameters
Post-Mortem
What went well ✅
- The action is varied, the controls are nimble,
and it’s fun to move around. The parry action is cool and pleasant. - Solid gameplay base fitting run n’ gun genre
What went wrong ❌
- I spent too much time on 3C details before actually trying the gameplay loop with a real LD and AI
- More playtests could have been done before pushing forward some mechanics
- The background visuals came up very late, preventing from progressing on the readability
What could be better 🛠️
- The gameplay could be a bit more streamlined (especially the parry mechanic can be hard for casual players)
- The pleasure of destruction, which is essential in Run&Gun games, should be incorporated.
Next steps – 3C Rework
Following the post-mortem, here’s my analysis and the solutions at the problems the actual prototype has.
Game’s Readability
– Lick’s cable comprehension: the lick is a “burst” attack, whereas the visuals may show a “continue” attack. Earlier I talked about my struggles on a technical side to solve this issue. Instead of the cable I should have made a sphere going from character attacking – to the other player. It would have been better than seeing the cable staying between both characters.
– Changing camera to 3/4 top: what I noticed later in the process is that it may be difficult to understand the position of the lick between the 2 characters. Also there should be some restrictions like the second character not able to go too far from the first player. Otherwise the readability becomes complicated. A solution to that would be a 3/4 top camera which displays a large camera so it eases players to move around the area.