← Work
Case study · 2023 · Gameplay Programmer

Sk8 Escape

A four-week class project at Forsbergs where the whole class made one mobile game together. We split into four teams. I was on the gameplay team, and my part was the player: the movement, the tricks and the input behind them. The idea for the game was mine as well.

The game

Sk8 Escape is an endless runner about skating through a city and landing tricks. You steer and trigger tricks with touch input, the score climbs while you stay on the board, and a run ends when you come off it. There's a leaderboard to climb after that.

We made it in four weeks at Forsbergs, and the whole class worked on it. That was a bit over twenty people split into four teams: gameplay, meta game, backend and integrations. I was on the gameplay team and the player was mine. The idea for the game was mine as well, so I had a hand in a lot of the design decisions.

The art is AI-generated, and I'm not proud of it. We had no artists in the class, image generation had only just turned up, and we wanted to see what it could do. I wouldn't do it again.

The player

The player is split into three parts, loosely based on MVC. PlayerModel holds the data and the tuning values, PlayerView drives the animation, and PlayerController takes the input and moves the player. This helped more the further in we got, because a new trick or behaviour only touched the part it belonged to.

The tricks themselves are a state machine. Each trick is a state, and the transitions say what has to be true to enter it. An ollie has its own behaviour but sits in the same movement system as everything else. Adding a trick meant writing a new state and its transitions.

Four weeks

Four weeks leaves almost no room for iteration or polish. We ran it Scrum-style: tasks handed out at the start of the week, a short check-in every day, and a meeting and a fresh build at the end of it.

Gameplay also had to fit with what the other three teams were building, so the movement had to be easy to extend once the rest of the game came in.

What I took away

This was one of the first larger things I made in Unity together with other people, and most of what I got out of it came from that. Input handling, player architecture and state machines were all new to me, and I learned them on a four-week deadline with three other teams waiting on the result.

The part that stuck is keeping gameplay systems modular when several people are working on the same game. Because the tricks were separate states, adding one late didn't put the ones already working at risk.