Social Platforming

See Solo Platforming if you're building a platformer for the first time.

Social platforming games combine competitive racing with fun parkour mechanics, all in a vibrant multiplayer setting. This kind of gameplay includes:

Physical Spaces

Hub/Lobby

Access point to the race zone, entertaining players who are waiting for the next race

Race Zone

Obstacles, platforms, checkpoints, etc. that challenge players to reach goals (score, time)

Logic (Rules & Objects)

Portal System

Triggers a racer checking system and player movement between the lobby and race zone

Racer Registration System

Controls which players may access a race (racer count, resources needed, etc.)

Timer System - Core Loop

Triggered by a racer registration system when enough players enter

HUD - Personal Race Data

Announcement/posting of which player(s) won the most recent race

HUD - All Race Data (Optional)

Additional data tracking which players won across multiple races, personal bests, etc.

Secondary Loop Logic (Optional)

Gain and use resources, interact with objects, etc. while waiting in the lobby

Currently, Game Maker does not have matchmaking and lobby systems, but you can build your own!


Lobby

A lobby is a space to manage which players can enter a race and entertain players who don't enter in time. Players waiting in the lobby during a race may spectate, play mini games, etc.

  • JOIN (SPAWN POINT) - Players enter the Experience via the lobby area or hub near it.

  • EXIT (TELEPORT) - Players exit the lobby when they interact at a portal to join a race.

  • ENTER (TELEPORT) - Players return to the lobby when a race ends.

Race Zone

The race zone should be designed with a variety of physical obstacles and transitions between them that alternate between danger and safety with checkpoints. Risk should be rewarded.

The race zone needs a start area blocked off with invisible barriers until the registration timer ends, then the barrier should disappear with Actor Property Switcher behaviour. It also needs a finish area to detect the player and record their time by detecting entry to the area with a Trigger Volume component.

Portals

A portal is an access point for players to join a race from the lobby. You may have one portal or many.

States: Inform Players

Players in the lobby need information about race status when they approach a portal.

UI Text

🟢 BEGINNER

Display text above an invisible object and control UI visibility of it.

Show/Hide It


🟡 INTERMEDIATE

Control UI visibility (Actor Property Switcher) based on play entrance/exit of a Trigger Volume and race status.

Logic: Teleporting to the Race Zone

Players in the lobby need to interact with an object with [MP] logic at a portal. This provides player source data for the Game Rules system to manage the core game loop so you can start and end races. It can also be used to limit how many players may enter a race.

Portals need logic to "open" when a race is not happening and close when a race starts. With multiple portals, the collect logic handles whether a portal is "open" or "closed" when triggering logic in Game Rules.

Detection System

When the player enters a Trigger Volume at the lobby's only portal, they can be teleported to a holding area at the entrance to the race zone.

Once the countdown timer ends, the collisions for an invisible barrier around this area can be removed with Actor Property Switcher behaviour, and the race can begin.

HUD/Banners - Race Data

Personal Race Data

Create variables for data that players will enjoy keeping track of, including their personal best time. They'll also need a variable for the current race to compare with their personal best to see if a new personal best has been achieved.

All Race Data

If you've already collected the player name in a variable, you can save that text in a Fastest Racer variable when the player's personal end race time is larger than an instance best time variable.

Registration Timer (Portals Open)

The registration timer is simply a countdown until the race will begin. During this time, players can be detected at a portal to register to join a race, which starts the stopwatch. The end of the race triggers the stopwatch value to be reset and to begin countdown again.

Race Timer (Portals Closed)

The race timer should begin counting up when the registration countdown reaches 0. Game Rules logic should record player data.

Reset

Certain logic needs to run in a loop, such as timers to switch between the registration period and the race. Some logic will need to be destroyed once used and respawned when players switch between the primary loop (racing) and the secondary loop (lobby/shop).

This serves to automatically reset the gameplay so multiple races can be enjoyed. You can also add logic to manually reset race data, including timers, in case there are no racers but timers are running.

Mini Games (Optional)

The lobby can offer interactive objects or NFT art to entertain players as they wait to join the next race.

It can also be a secondary loop to the Experience's primary loop of racing. For example, Resource Management logic can be created to offer players in-game currency earned from playing mini-games.

Currency could be used to enter a race or buy equipment at an in-game shop. Equipment could be cosmetic or have Attributes that give players an advantage in the next race, such as additional running speed. Shop items may even include collectable items that are consumable PowerUps the player can use anytime during a race by opening their inventory. You can even add collectable items in the race course as resources to spend in the lobby. All of these options give players a secondary goal to the primary goal of winning a race.

Shop Setup

Create an area for the shop, add a shop NPC, add logic to spawn shop items, and create presets to be spawned with logic applied if they are provide a benefit when equipped or consumed.

For a shop with only a few items, you can integrate a Shop preset in the Game Rules with your asset spawners.

For a shop with many items, you can set up a message with arguments for currency and shop items and modify the Shop preset so that collected items add currency, lose currency while gaining items, or simply spend currency depending on the player's choices in the shop and in lobby mini games.

Spectator Area (Optional)

A spectator area has open visibility with invisible barriers, allowing players to view the race zone. This should look similar to the other portals, but allow players to travel freely by entering a Trigger Volume and teleporting (set up both in the lobby and in the spectator area).

The spectator area may not be one small viewing box, but many areas throughout the race connected via teleporting. Just make it easy to get back to the lobby.

Projectiles

You could offer spectators an opportunity to interact with a cannon that spawns projectiles at racers. When a projectile hits a player, it can reduce the running speed of any player it touches. The cannon needs Asset Spawner behaviour to spawn a preset of your projectile. The projectile needs to be set to send the message Speed with a negative number in the argument, broadcast at Hit Actors.

Powerful Shop Item

Make one of your shop items a high cost perk that unlocks special powers in the spectator area, like the power to toggle on and off platforms in the race zone by with a certain key input.

Last updated

Was this helpful?