Cookie Crumble - Screenshot / Key art

My First Online Multiplayer

Genre: Platformer / Party Game / Casual Game
Engine: Unreal Engine
Jahr: 2025
Solo Project

Short Description

Strongly inspired by “Ultimate Chicken Horse,” this prototype has each player trying to reach the level goal by adding new blocks to the level between rounds, creating new paths or sabotaging other players. The main focus of this project is learning how to create stable multiplayer systems.

Background

Many games I enjoy are especially good because they can be played in multiplayer. Inspired by games like “Ultimate Chicken Horse” and “R.V. There Yet?”, which are fun for exactly that reason, I decided to learn how multiplayer systems are set up in Unreal Engine 5. I assumed that a game like “Ultimate Chicken Horse” should be fairly easy to implement. Within just a few weeks of development, I was already able to achieve exciting results. The game loop (run round: each player gets 1 attempt to reach the goal -> then build round -> run round -> etc.) already works without issues. The online connection also already works. Players can join another player’s game via Steam.

Gameplay

  • Run round: each player tries to reach the level goal. If a player reaches the goal, that player earns points. If a player is defeated (for example by falling into spikes), that player earns no points when the round ends. Once all players are at the goal or defeated, the run round ends and the round recap screen appears.
  • Build round: each player must add a new block to the level in this round. At the moment, every player still has access to all currently available blocks, but this is planned to change soon. Once each player has placed their block, the next run round begins.
  • The first player to reach X points wins the game. The required number of points is intended to be configurable before the game starts; the default number of rounds will probably be around 8. Point tracking and the limit are not implemented yet.
Screenshot: Gameplay Übersicht
Screenshot: Level layout (overview)
Pickup: Mouse

Run Round

Each player gets one attempt to reach the level goal!

Pickup: Cheese

Runden-Rückblick Bildschirm

This screen shows the new score and how many points each player collected in this round. Every player must click “Ready” before the build round begins.

Pickup: Mouse

Build Round

Each player places a new block in the level! Once all players have placed their block, the next run round begins.

Pickup: Mouse

Beispiel: Level-Veränderung bei Runde 4

Here you can see the extent of the level changes by round 4. A simple level can turn into a very complex and difficult one!

- Development & Technology -

Technical Details

  • Engine: Unreal Engine (Blueprints / Visual Scripting)
  • Source control: GitHub.
  • Development time: 3 weeks
  • Solo Project
  • Online connection service: Steam

Features

Implemented Blocks

Pickup: Mouse

1x1 Block

Pickup: Cheese

1x2 Block

Pickup: Mouse

3x3 Block

Pickup: Mouse

L Block

Pickup: Mouse

1x1 Block with Spike

If a player touches the spike on this block, they are defeated for the current run round!

Pickup: Mouse

1x2 Moving Block

This block moves back and forth between the endpoints of the line.

Art

In my multiplayer prototype (“My First Online Multiplayer”), I used spheres as the player model for a very long time. That eventually bothered me, so I quickly animated my “Humanoid_Base” model and built it into the multiplayer prototype.

- Multiplayer Character -

Pickup: Cheese

Animation: Idle

Pickup: Mouse

Animation: Walking

Pickup: Cheese

Animation: Sprinting

Challenge → Solution

  • Challenge: No prior multiplayer programming experience.
  • → Solution: YouTube tutorials (Steam setup: https://www.youtube.com/watch?v=5nMKEKV0acI&t=434s ; replication basics: https://www.youtube.com/watch?v=bBK8A-mFH-s&t=1589s)

Learnings

  • Setting up an online connection through Steam was very easy for me.
  • I understood the basics of replication (which functions must run on the server, which can run on the client, etc.).
  • Programming a multiplayer game is a bit more demanding, but also much more fun. After a short time, this prototype already felt completely different from my other projects and gave me a lot of enjoyment.

← Back to Projects