Back to Blog
February 3, 2025 Gaming Coding

How I Combined My Love for Coding and Battlefield Into My First Viral Game Mode

The story of combining my love for gaming with coding - and somehow ending up in the main menu of a AAA game.

Snipers vs Runners gameplay

I've been playing Battlefield since I was a kid. Bad Company 2, Battlefield 3, 4, 1, V - you name it, I've sunk hundreds of hours into it. There's just something about those large-scale battles, the chaos of 64 players fighting over objectives, the satisfying crack of a sniper rifle finding its mark from across the map. It's been my go-to game for over a decade.

So when Battlefield 6 launched with Portal - a mode that let you create custom game experiences - I was immediately hooked on the idea. Portal lets you write your own game logic in TypeScript and paste it into their online tool, along with custom maps built in Godot. That's exactly what I did.

The Idea

If you played Halo custom games back in the day, you probably remember Duck Hunt - that classic mode where one team runs for their lives while the other team snipes them from above. I loved that mode. A lot of people did. So when I started thinking about what to build in Portal, it was a no-brainer. Take that same concept that people already know and love, and bring it to Battlefield.

Simple concept. Turns out, not so simple to build.

Building It Out

Portal gives you TypeScript for coding all the game logic - things like spawn systems, team balancing, scoring, UI elements, and round management. For level design, you use the included Godot editor to place objects, set up spawn points, define combat areas, and create trigger zones. Then you export the spatial data and upload it alongside your TypeScript code.

I spent a lot of time getting the lobby system to feel right. I wanted that pre-game countdown, automatic team randomization, smooth transitions into the actual match - all the little details that make a game mode feel polished instead of thrown together. The 8v24 team balance needed careful tuning too, making sure both sides had a fair shot at winning.

Then Something Unexpected Happened

I started sharing clips on social media. People seemed to like it. The videos started getting traction - way more than I expected. We're talking millions of views across different platforms. Hundreds of players were jumping into matches regularly.

And then one day, I got a message from someone on the Battlefield community team. They wanted to feature Snipers vs Runners in the actual game's main menu.

I had to read that message a few times to make sure I wasn't imagining things.

Snipers vs Runners became the first-ever Portal mode to be featured in the Battlefield main menu. Something I built in my spare time, combining two things I love - gaming and coding - was now being showcased by DICE themselves.

What I Took Away From This

Honestly, this whole experience taught me more about development than I expected. Working within the constraints of the Portal SDK forced me to get creative with solutions. Building something that real players would use meant I had to think about user experience, edge cases, and polish in ways that personal projects don't always demand.

But more than the technical stuff, it reminded me why I got into coding in the first place. There's something special about building things that people actually enjoy using. Whether it's a website for a local business or a silly game mode for a shooter I've loved for years - that feeling of creating something from nothing and watching people engage with it never gets old.

If you've got a hobby you're passionate about, look for ways to combine it with your skills. You might be surprised where it takes you.

Want to see more details about how Snipers vs Runners was built? Check out the full project breakdown or watch some gameplay on my YouTube channel.

Chris Benoit
Chris Benoit
Full-stack developer in PEI. I build websites, web apps, and occasionally game modes.