Shocklane

Shocklane is a racing couch game with combat at its core. Your vehicle is in a elemental state (water-fire-plant) that you can switch at any time. When vehicles collide, the element dominating the other wins! Earn points by being first or colliding with other players.

Shocklane was made with a team of 6 students during our studies at ENJMIN (producer, audio designer, programmer, artist, UI/UI/UX designer, and myself game designer). We had 3 months to build an interactive experience that would be played in the schools hall by visitors and jurors, in 10 minutes rounds. We were given an open space with PCs and server infrastructure.

Shocklane was showcased at Games Made In France and La Game Cup 2.

Contents

Designing Shocklane

Defining the vision

Shocklanes original pitch was to have a RPG at the races heart. It meant creating a build of 2 among 4 elements before the race, level them up during the game and use a handful of interactions related to them : collisions, shortcuts, driving physics, etc. to win the race. The pitch was from our audio designer, Martin Rabiller.

Untitled
Untitled
Untitled
Untitled

With this pitch and our constraints, we defined some experience pillars at the project start :

Couch game fun
  • Player-player interaction : the fun factor is your interaction with other players on the couch
  • Accessible gameplay & controls : you can pick up the controller at any moment
  • Friendly rivalry : Shocklane is the game you would spend an afternoon with friends on
Tension
  • Players should always feel on the edge : through speed, through the danger of collisions
Tactics
  • Through RPG and elemental interactions, player should be able to build strategies to win
Image1.png
Key takeaways
-
Defining the vision as an experience helped us a lot during redirections

Designing gameplay

For context : Shocklanes development was organized for iteration, in an agile framework. Our process was inspired by SCRUM. This empowered us to test early, make important redirections without losing too much work or time, and more broadly to iterate efficiently.

1 : Finding the path

At first I designed Shocklane faithfully to its pitch. The core feature was to select 2 elements prior to a game, and switch among them during the game. All other gameplay features were tied to it :

OnePageDesignDocument.jpg
Overview of Shocklanes systems during this phase (prod doc in French)

However this approach had big issues :

4Vehicles.png
The 4 elemental vehicles models by Pierre Espaignet, our artist
Speeed3.gif
Level up animations (P. E.)

So we decided for a major redirection. We went back to our first pillar and work based on it.

The fun factor is your interaction with other players on the couch.

This led us to a massive shift :

Collisions are now the core feature
As they're a player-to-player interaction. They are standardised whatever elements are involved : the winning vehicle gets a speed boost and the losing one is rejected sideways. This ties closely the race and combat, as the reward of collisions (speed) feeds into racing.
Vehicles can switch among all elements
Rather than a limited set. This makes sure all collisions are a potential win for each player.
The win condition is completely remade from scratch.
It used to be first in 3 laps. Now, players score points through collisions and being in pole position. It rewards and incentivize wanted behaviors : collisions (interact with couch neighbor), race for first place (constant tension).
Shortcuts and levelling elements are cut
Respectively for polluting the collision loop and adding unnecessary complexity.

2 : Refining the loop

Once this big redirection was done, the core gameloop was much clearer. The design goal I set was then to make it shorter, more reliable and more fluid. I achieved this through targeted iterations.

Image3000.png

Players generating collisions

Originally, I gave players 2 actions to collide with others : a nitro ability and a lateral dash. (Nitro was element-specific and conveyed each elements feel). These 2 actions proved to be uneffective : nitro also allowed to avoid collisions, and in general it was clumsy to play with 2 actions.

To address this, I merged the two actions ine one : a grapplin.
It automatically targets the closest vehicle ahead and gives a speed boost in the direction of the grappled vehicle. This design avoids all the problems of the former actions. On top of that, it also gives a very clear sign about the collision to happen: there is a visual link between the 2 vehicles.

Collision5.gif
We also built a radar so players are aware of upcoming vehicles.
image20.png

Keeping players packed

Playtests showed players were spacing a lot along the track. Its usual in racing games, but it meant the grapplin was out of range at all times. To solve this problem, I designed 2 features.

image18.png

Rubberbanding. This is a classic mechanic making vehicles have a higher speed the later they are in the race. Usually, its balanced for couch gaming so that all players have a fun moment. For Shocklane, I went much more agressive than that. (There is no finish line!) Here, it fulfills the role of keeping vehicles in grapplin range, in a pack.

Disco balls. If a vehicle is far behind others, some disco balls spawn above the track. Disco balls can be grappled, but don't trigger the grapplin cooldown. This way, a late player can spam their grapplin until they reach the vehicle pack.

image19.gif

Other features help by their design in minor ways. The grapplin can only target vehicles ahead of the players vehicle. The level design is narrow and uses bouncing guardrails.

Managing cognitive load

To focus players on interacting with each other, I needed to free cognitive load from driving.

Publi_Manette.png

I reworked the driving inputs. I originally put acceleration on the right trigger, as it allowed me to give each element a different acceleration feel. I remapped it to A (Xbox), and made the acceleration reach max speed fairly quickly.

In relation, I designed the level design grammar to be very straight-forward. First, track turns follows the exact turn angles of the vehicle (normal turn at max speed, drifting turn at max speed). I designed a matching signage for each of these turn types. Last but not least, I designed the track to be traversed with the acceleration input held all track long.

image64.png
image65.png

Efficient collisions

Until very late in production, Shocklane featured 4 elements. Our UX designer came up with the idea to cut 1 element, as managing 4 of them was heavy on cognitive load.

Design-wise, I found this to have massive advantages :

It felt a bit crazy to the team to do such a massive change this late (especially art-wise). But our internal playtests and discussions led us to collectively agree on it. We cut the electricity and rebranded Wood into Plant.

image91.png
Image5000.png
Key takeways
start little then grow. Dont plan based on pipe dreams
- iteration is key, gameplay flourishes progressively
- external tests and especially playtests are a goldmine of information
- write down the gameplay loop at each stage
- defining a clear vision is key to manage redirections

3Cs : building a vehicle simulation

Vehicle simulation is the very first thing we implemented. We did so because we needed it for everything else, but also because the risk was high we would need to amend it later. Better take the risk early, when the scope can be modified.

As we were beginners in the field, we made extensive research, programmer (Baptiste Rousserie) and designer hand-in-hand. We watched GDC talks, read online resources, got feedbacks from multiple other students who attempted to do the same as us, and we benchmarked approximately 20 games. This led us to understand what is at stake when building such a simulation.

So we defined these properties our simulation had to match :

Shocklane should be
  • Easy to pick up
  • Collision focused
  • Not driving focused
So we want
  • Some simulation to make collisions feel impactful
  • Simple control parameters for us (no realistic physics leading to rich and deep driving)

This led us to the following design (this document is not the one we used in production).

SL__EN_ArchiV?hiculeExplication.jpg
image37.gif
Early vehicle simulation demonstrating WIP suspensions.

This great basis was then refined a lot through an iterative process. We did lots of testing, tweaking and added layers of complexity to this base model. Let me give a few examples :

As you can see, we were right in our choice to build the vehicle simulation first. It indeed presented a lot of challenges we didnt plan on meeting originally. Only through meeting this risk we were able to progressively address it, through iterations. If we had started by building something else, this risk could have overwhelmed us by the time we went to face it.

Key takeaways
Considering ourselves like noobs led us to build a healthy expertise
- Research don't take much time compared to how great knowledge you get from it
- A crystal clear high-level vision makes all other decisions simpler
- The more risky a feature, the earlier you should dev it. Iteration slowly addresses the risk

Gamefeel : being. on. the. edge.

Building the gamefeel was a collective effort spearheaded by our UX designer. The major topic was the feeling of speed. We also wanted vehicles to be agressive and powerful, conveying the always on the edge feeling.

For speed, the answer was a collection of solutions. The level art uses a lot of visual references and repeating patterns. On the design side, I built the camera to be close to the ground. I also designed a dynamic FOV system, reacting to different speeds, speedboosts, etc. The camera position is also very dynamic, making the whole feel very lively.

Speeeed3.gif
Untitled
Some patterns used for the feeling of speed.

I wont go in too much details, but we also adressed some other gamefeel topics. For instance, the vehicles are made to look powerful and agressive through their VFX, model, and reaction to interactions. Another example would be the pole position player: I made their controller rumble like a daunting pulsebeat, making sure to feel the high-risk / high-reward nature of their position.

Key takeways
Dont be shy. The speed boost VFX litteraly takes the whole screen.
- As for vehicle simulation : research & benchmarks.

Balancing Shocklane : an economy of points

Shocklanes balancing process started out of curiosity. I wanted to model the gameplay loop to see approximately how many collisions I would get in a typical game.

Unexpectedly, this enabled me to understand the actual economy of points happening in a game.

PicEquilibrage - EN2.png

This model gave me independant balancing levers, a precise estimation of how much points would be earned from collisions or being in pole position, and an good estimate of games duration.

I went back to the vision to define the target balance. Collisions are conveying the core experience, while racing for the pole position is a gamefeel intention. So I made collisions the most impactful (67%), while being in pole position gives just enough points to gain an advantage (33%).

When we got close to the end of the project, we were able to generate logs from games, so I built a second Excel to check if the my model was describing actual gameplay. And the answer is yes! The model predicts extremely well the duration of a game and the average distribution of points.

As a nice bonus, the model gave me an average duration of the core gameplay loop : 8 seconds. This is totally confirmed by watching gameplay!

Key takeways
having room for experimentation can yield productive and unexpected results
- I don't have enough perspective to say if this balancing approach is great by itself or only for Shocklanes case. I used it for Memes Die Too and it worked well!

Documentation strategy

At Shocklanes start, we used Confluence as a wiki for our documentation. It created some issues :

The solution became very clear once I got to know about one-page documents :

SL_3_EN_Treuil-Grappin_V1.2.jpg
(The document was originally in French, as was Shocklanes production. Otherwise its exactly the document we worked with).

I printed these one-page documents and posted them directly on the walls. Other students passing by would read them, as would do every team member, even those not concerned by a specific document. This new strategy had a ton of advantages. :

Key takeaways
to define a documentation strategy, one needs to understand the problem documents are addressing. These problems vary according to team size, team composition, project nature, team turnover, project duration, franchise, and of course, individuals particularities.
- a small team goes fast and relies on everyones responsibility towards vision. So no need to go in small details: documentation is here to enable work rather than enclosing it

Level design

I did all the level design that went into the end product, though we were two working on it during its production. The audio designer of the team (the person who pitched the game) was working on level design with me.

We did some research on level design, as I am not specialized in level design and even less in racing games LD. We found some great resources, which allowed us to build our design process.

Image10000.png

This process was carried to build the track, and created a good understanding of Shocklanes needs in level design. At the end of the project, we added a hub, for players to grasp controls when waiting for others to sit on the couch, and this knowledge was reused.

Untitled
Extracts from a great Gamasutra article
Untitled
Lobby WIP blockout (more complex than the final one)
Key takeways
understand the place of a gameplay loop in the global gameplay, and manage its complexity and cognitive load accordingly