Ricochet Ritualwiki

Co-op

Up to 4 wizards in one run, invited with a link.

Starting a party

From the main menu, Multiplayer → Host party opens a lobby with four seats and Copy invite link. Paste the link to your friends: clicking it opens the game and drops them into your lobby, or they can copy it and press Join from link on the same screen, which reads it off the clipboard. Each player picks their own colour from the palette on their seat and their starting family with the arrows; the host picks the difficulty and presses Start run. A host still alone in the lobby gets Play solo there instead, an ordinary single-player run on that difficulty and family. Everyone needs the same version of the game: a different one is turned away at the door.

Reaching the host

The host's game listens on UDP port 27420 and asks the router to open it (UPnP); the lobby says whether that worked. A link carries every address the host might be reached at -- its public address (from the router, or from a public STUN server when the router will not say), its address on the local network, and any VPN adapter's -- and the joining game tries them all at once. Join from link also takes a bare address someone copied by hand.

Two different networks

Who is who

Each player picks a colour in the lobby, from the palette on their own seat; no two in a party can wear the same one, and the game remembers your pick for the next party. It is worn on the wizard's robe, its orb, the ring at its feet, its name over its head and its bar in the party list at the bottom left. An arrow at the edge of the screen points at a teammate, or a shrine, that is out of sight.

Blue · Red · Green · Gold · Purple · Orange · Pink · Cyan · Lime · Teal · Magenta · Crimson · Navy · Brown · Silver · Shadow

Harder with more

Each wizard past the first adds 50% more enemies to a wave, and to how many can be alive at once, and 35% more health to every enemy, bosses included. Enemy damage is unchanged. Abilities and cards that deal flat damage still scale with the wave alone, so a bigger party is a bigger fight rather than a weaker one.

WizardsEnemiesEnemy health
1×1.00×1.00
2×1.50×1.35
3×2.00×1.70
4×2.50×2.05

Your run, together

Everyone plays their own build in a shared world. Each wizard has their own cards, essence, Essence Shop, rerolls and banishes, ability, companions, combo and score. When a wave ends, every wizard is dealt their own hand, and the world waits until everyone has picked (the screen says who it is waiting for). [U] lists your cards; Tab, or a click on a name at its top, turns to a teammate's. An enemy chases whichever wizard is nearest, and keeps chasing it unless another comes clearly closer. A kill, and what it triggers (kill cards, score), goes to whoever landed it, including burns and other damage over time. Essence is shared: every kill pays every wizard a share, so over a wave each one earns 1.25× what a wizard playing alone would, the extra enemies counted, and the first shop is as affordable as in a solo run. Drops go to whoever reaches them.

Falling, and the shrines

A wizard who goes down leaves a ghost where they fell, and a shrine rises 9–13 m away, with a ring 13.2 m across. The rest of the party revives them by doing the shrine's task: an Offering counts enemies killed inside the ring, by anyone and by anything; a Vigil counts seconds spent standing in it, and drains back at 0.5 s a second while nobody is there, so it has to be held rather than visited. A boss wave has no crowd to offer, so its shrines are always a Vigil. Done, the wizard stands up in the ring at 50% health with 2 s in which nothing can touch them. A downed player's companions stand still and out of sight until then. A downed player watches whoever is nearest, still picks cards between waves, and sees how far along their shrine is. The run ends only when the whole party is down at once.

WaveOfferingVigil
16 kills5.1 s
58 kills5.5 s
1011 kills6 s
2016 kills7 s
3018 kills8 s

The party board

When a co-op run ends, the game-over screen opens on the party board: every wizard's kills, score, damage dealt and taken, how often they went down and for how long, the revives they gave and their cards, with a title for what each did most -- MVP, Medic, Heavy Hitter, Punching Bag, Professional Spectator, Hoarder, Shrine Keeper, or Along for the Ride. PARTY on that screen shows it again. Co-op runs keep their own bests, shown on the Multiplayer menu: the furthest wave for each party size, runs played, and the revives you have given and the times you have gone down.

Co-op achievements

Counted for the player at the keyboard: a teammate's revive is theirs. The hidden ones are listed on Achievements with the rest.

AchievementWhat it takes
Better TogetherClear a wave in a co-op party.
Full CovenClear a wave with a party of four.
FellowshipReach wave 20 in a co-op party.
Four Against the DarkReach wave 30 with a party of four.
Second OpinionRevive a teammate at their shrine.
Field MedicRevive teammates 25 times.
No One Left BehindReach wave 15 in co-op without anyone in the party going down.
Last Wizard StandingRevive a teammate while you are the only one still standing.
ClutchRevive a teammate with less than 15% of your health left.
Hold My OrbKill a boss while the rest of your party is down.
One-Wizard CongregationMake every offering a shrine asks for yourself.
CarryEnd a co-op run with more kills than the rest of the party put together, and at least 150.
Dead Weighthidden until earned
Frequent Flyerhidden until earned
Till Death Do Us Parthidden until earned
Professional Spectatorhidden until earned
Passengerhidden until earned

What changes

No hitstop: one wizard's hit freezing the world would stall the other three. The pause menu and [U] do not stop the world, since it is not yours alone, and the F3 cheat menu is off. Co-op runs are not recorded in your personal bests; achievements count what you did, not what a teammate did.

How it stays in step

Every machine in the party runs the whole game itself from the same seed, and the only thing sent is each player's controls, a few ticks ahead of when they are used. The delay is set from the party's ping when the run starts, and the run moves at the pace of its slowest connection: if someone's input is late, everyone waits for it (the screen names who). Each machine fingerprints its world every two seconds and the host compares them, so if the copies ever disagree the game says out of sync rather than playing on quietly wrong. Each player's game then writes coop_report.txt in its save folder (%APPDATA%\Ricochet Ritual), with that machine's world at the moment it went out of step and any frames that ran slow; the two reports side by side show what differed. A player who leaves mid-run is out from that moment, a still ghost marked (left) where they stood, their companions with them; the rest play on.