Awards:

This game was made as part of the Nord-MÁ-Namdals Easter Game Jam, where we won:

  • #1 for OVERALL QUALITY
  • #1 for FUN
  • #2 for GAMEPLAY
  • #3 for INNOVATION/UNIQUENESS
  • #3 for DESIGN

THE

  • Genre: Platform, 3D, Online, Racer
  • Team: Aedan Soelhaart, Bastian Engø, Benjamin Berg
  • Project Length: 48 hours
  • Project URL: gravitylens.itch.io/the

Game Description:

Wait what? Did the title not load again? Those pesky kids with their jamming devices keep intercepting our signals!

In this online 3D platform racer you will be going up against your friend in a race to the end! Pick up devices to JAM their signal and mess them up, or you could jam your own signal for an advantage. Anything to win!

Features:

  • Online Lobbies (no setup required)
  • 3 courses to race through!
  • 6 different power-ups to use!
  • Fast-paced energetic movement!
  • CHAOS!


In-depth description of my contributions


The Brainstorm Process:
To be honest, we were all scratching our heads when the theme of the game jam was announced. What could one make to fit into the "Jam" theme.
Our initial thought was, "okay we know a lot of people may be thinking about creating either a rhythm game, or a strawberry jam game", and we wanted to be unique. We wanted to stand out. So we started thinking more about what else the word "Jam" could mean. I remember all of us just scrolling through online dictionaries and encyclopedias for 20-30 mins just pulling out every possible definition of "Jam". One of the definition which stood out was this particular one, signal jamming or causing interference.



The Game idea:
So based of that definition we began to develop our idea and finally ended with a 3D platformer where 2 players are racing against each other, they will be able to pick up power-ups which grants the player the ability to jam either their own "signal" for an advantage, such as giving themselves a speed boost or "hacking" the gravity to make them fly, or jam the opponents signal to sabotage them, such as rubberbanding them back to a place they were 3 seconds ago.

The Reality of the Situation


Why it was challenging:
There were a number of challenges I realized we had to overcome once we had decided on adding multiplayer/networking to our game. First of all, the game jam only lasted 48 hours so we were already pressed for time. Secondly, other than experimenting, I've never created an online game before. And lastly, Unity (the game engine used for this project) had very limited resources and documentations regarding online networking. With all of those challenges, I am frankly surprised and proud we were able to pull this game off, no less winning some awards.

How my previous experimentations proved to be crucial:
The whole decision on implementing multiplayer was initially my idea. Since I had done some experimentations before on multiplayer features using Unity and the Photon Engine, I wanted to challenge myself a little so I confidently proposed to the team about adding online multiplayer to which they agreed. It was really risky indeed, but I wanted to make this experience a little more fun and challenging as this was also my first game-jam. Once the game-jam was underway I immediately began working on implementing one of the core online features, Syncing Player Movement. At first, my team did not seem very convinced, after a few hours I showed them a prototype of the online movement and the project looked like it could be done after all. The level designer had already put together the first level and so we got to testing and this was the result after several hours of progress and a bit of tweaking:

Keep in mind this was a very early version, there was no menu, no UI, only the movement and the level. In the video we counted 3..2..1..GO in real life and tried to simulate how the game would feel.

An Area within my reach:
Gameplay programming was something more within my realm and something I have been doing for a while so this wasn't the most challenging part of the jam in my opinion. Although having online multiplayer did also mean, I had to program the gameplay to fit and become compatible with the network.

Communicating between Gameplay and all the players:
During the development we ran into a lot of issues regarding network replication. We would call an RPC from the wrong source resulting in a lot of duplicates in the scene. We realized what was happening and immediately began being more careful about where each object would spawn from and where things were going into the code. Other than trying to make movement feel smoother, and tackling duplicated objects, there weren't much obstacles we faced while programming the gameplay.