Building Surfpunk: How Photon Quantum Supercharged Our Co-op ARPG Development
This guest post was written by Stéphane Beniak, Technical Director of Double Stallion.
Hi, this is Stéphane, Technical Director and Co-founder here at Double Stallion Games. For over 11 years now, we’ve been building high-quality action games, renowned for their tight combat, satisfying gameplay mechanics, and vibrant art.
Today we’re hard at work on Surfpunk, a co-op extraction ARPG where you fight swarms of monsters and scavenge loot in an anime tropical universe. Set in a flooded world, players join the Raiders, a team of misfits who scavenge ancient ruins for resources to sustain their civilization. Surfpunk features a squad-based extraction loop blended with hack n’ slash action RPG gameplay. Designed for 1-4 players, Surfpunk emphasizes teamwork, progression, and island-hopping exploration across an archipelago with a multi-layered procedural generation system which offers deep replayability.
We’re building Surfpunk using Photon Quantum and we’re excited to tell you about how powerful the tech has been for our team.
After we wrapped up development on our previous single-player title Convergence: A League of Legends Story in early 2023, we knew our next game was going to feature online co-op, so we researched engines and multiplayer tech. There were plenty of middleware options available, but Photon Quantum immediately stood out as the best fit for our project.
We have a high standard for fast-paced and responsive combat in our games. Between 2016-2018 we developed Speed Brawl, a momentum-based brawler game with online co-op. We built the networking tech ourselves to power the game, implementing a rollback-and-resimulate system with state-syncs and client-side prediction. This replication system ran on top of native Unity monobehaviours using float math and best-effort determinism. We managed to get it highly accurate and feeling great in the majority of our speedy combat gameplay, but without full determinism there was always the occasional state correction happening on weaker internet connections, causing enemies to sometimes teleport.
As we started development on Surfpunk, we considered re-using this tech, but it was worth benchmarking it against modern solutions, like Photon Quantum’s deterministic ECS. We deconstructed one of their provided demo projects and built a simple melee combat engine on top of it, then did some stress tests with 8 players punching dozens of enemies over a network with 150ms of artificial delay, and the game remained surprisingly smooth for all clients. The high-performance, low-latency runtime of a well-implemented, fully deterministic rollback-and-resimulate system resulted in less desyncs and less teleports compared to our in-house tech. This ultimately sold us on the product, and we’ve been developing Surfpunk with it ever since.
One of the biggest benefits of working with Quantum is how all the gameplay code our developers write is fully multiplayer compatible by default. Thanks to the deterministic, rollback-based ECS multiplayer engine, gameplay programmers don’t have to worry about how state will be synced across clients. We simply write the code we need as if it was single-player, and it just works in multiplayer for free. This has unlocked a very high rate of productivity in our team. In just over 12 months, we went from having zero experience with Quantum, to having a highly-polished game demo being playtested by real people, and a public Steam page racking up wishlists.
Another benefit of Quantum’s fully deterministic simulation is that replays also come for free. Simply saving all input frames from all players into a small replay file means that we can rewatch a game anytime we like. This is extremely useful for reproducing bugs, or recording gameplay footage when putting together a trailer.
In Surfpunk, we’ve been working hard to make water gameplay feel great. It’s important for us that surfing feels fun and (reasonably) physically accurate. Quantum’s built-in physics module has made this easy by providing everything you’d expect out of the box: collision detection, physics joints, inertial tensors, etc. It all works as expected and in a fully deterministic manner so it works seamlessly in multiplayer. Thanks to this feature set, we’ve been able to easily develop emergent, toy-like physics interactions: surfboards can wipe-out, get briefly pushed underwater, and then float back to an upright position; multiple players can each attach their own tow cable onto the barge to pull it faster; and players can surf on a giant tidal wave that naturally pushes your board along the swell.
In addition to Quantum itself being a solid product, Photon’s support has been incredible. We are subscribed to the Photon Circle support package and it’s been well worth it. Anytime we have a question about the tech, the API, a possible bug, or just general questions about how best to solve a particular development problem, Quantum developers are extremely quick to respond and have proven to be very knowledgeable. It gives us confidence that we’ll never get stuck, our team velocity will stay high, and ultimately it pays for itself in the form of engineering time saved.
Story time: in March 2024 we were attending GDC in search of a potential publisher, demoing an early build of Surfpunk. Meeting space is at a premium at GDC, and a few times we had to pitch Surfpunk in conditions we couldn’t control. During one meeting, we were sitting in the middle of a hotel lobby, with no nearby meeting rooms available, no WiFi, and not much time to make a good impression. We decided to make the best of it and demo the game while sitting on the floor. We used a cell phone’s data connection, activated WiFi tethering, connected our two laptops to the WiFi tether, and booted up the game. Needless to say, these were very far from optimal network conditions, with high pings and high packet loss, yet the game was extremely playable and felt great overall. Quantum’s high performance architecture enabled us to show off the game’s multiplayer and make a great impression. You couldn’t feel the lag at all while playing.
All in all, we’ve been delighted with Photon Quantum and how quickly it has enabled us to develop Surfpunk. We look forward to continuing to build upon the technology as we head towards Early Access in 2025.
Ready to build your own successful multiplayer game? With Fusion and Quantum by Photon, it’s never been easier to integrate cutting-edge multiplayer features into your project. We offer the industry’s most advanced tools, comprehensive support, and everything you need to get started – from downloadable samples to detailed documentation.
Take the first step today – download Fusion or download Quantum and start building. If you’re looking for in-depth assistance, join our Gaming Circle, where you can connect directly with our developers and get expert guidance throughout your journey.
Your multiplayer success story starts here!
Wishlist Surfpunk now on Steam: https://store.steampowered.com/app/2434830/Surfpunk/
Visit Double Stallion: https://dblstallion.com/
Photon Quantum: https://www.photonengine.com/quantum
Photon Gaming Circle: https://www.photonengine.com/gaming