Kayak Race

A game with the restriction of using only the joysticks.

Kayak Race

04/2023 - 05/2024

Unity

Student project developed by Marc Morlas and Guillem Llorach on the Game Design subject, with a reduced control scheme. In this game, you can only use the 2 joysticks on the controller, making it inherently a cooperative game where both players need to communicate and coordinate to progress.

What I did

  • Development of the concept and mechanics
  • Level design
  • First prototype of movement
  • Menus and UI
  • Tutorial
  • Time trial and game loop

Game Idea

For our Video Game Design course, we had to create a game using a simplified control scheme, and we chose to use only the controller's joysticks. We experimented with drawings and tested the possible movements using the joysticks. Among all the ideas, one stood out as the most interesting and fun: a cooperative game where each player controls a kayak paddle with one joystick, making coordination and communication essential to progress. It can also be played solo, but the journey would be much easier. This game is still a prototype, so some functionalities might not have the visual feedback you would expect.

Movement

The movement of the kayak is simple. Each paddle is associated with its respective joystick. Making a circular motion with one joystick will propel the kayak in the opposite direction of the rotation, just like in real life. To move forward faster, both players need to perform the movement simultaneously to propel the kayak forward. The paddle changes color to indicate movement. To restart the level, both joysticks must be pressed and held for a few seconds. All these actions are accompanied by different levels of vibration on the controller.

Move to left

Move to right

Move forward

Restart

Meta

As it is a race, we need to reach the finish line. Each map will be a race against the clock, and passing through certain checkpoints will add 5 extra seconds to the timer. It's crucial to collect some of these checkpoints; otherwise, reaching the finish line will be impossible.

Ready, Steady, Go!

Gain seconds

Pass level

Time Up

Obstacles

To add more interest to the race, aside from the walls covering the area, there will be rocks obstructing the path. We need to navigate around them to avoid losing time. If we hit the rocks, the player will be pushed back, losing control temporarily. However, to prevent this from being too frustrating and causing an immediate game loss, the paddles will turn purple at the moment of impact, indicating that the current movement won't propel the kayak but will instead rotate it, allowing for better re-alignment to avoid another collision.

Rock

Realocate


Menu Navigation



We wanted the menu to have more movement, so all menu elements have their own scene within the water channel, transitioning between them through camera movements.

Level Selector

For the level selector to have more information and interactivity, all maps have a preview when selected, giving a glimpse of the level.




Tutorial



To ensure the tutorial closely mirrors the gameplay, we designed a small area within the menu's water channel, where signs similar to those found in other levels teach the player how to play.

Here, you will learn all the things you can do with the joystick: moving, repositioning your kayak when you get hit, and restarting the level.

Post Mortem

In the end, the kayak's movement felt good enough to be playable, but due to some issues that needed fixing, the movement wasn't completely perfected. A lot of work was needed on feedback to make the gameplay feel right, and the total lack of sound was another area that required attention. Although the idea was to push the class project forward and release it as a game, there was still a lot of work to be done to reach a satisfactory level, and I couldn't dedicate that much time to it. However, throughout the development process, I was able to learn more about the design and iteration of a mechanic, complete a game loop in a short amount of time, and test more interactive menus.