ShootEm is a FFA (Free for all) Game where 6 players battle together, player against player.
The game was inspired by the Quake franchise, I always wanted to create a fast paced shooter game, but making a 3D game alone, especially as Multiplayer is a complex task that takes years to develop alone.
I collabed with my brother in Fall 2022 and we began making the game,
Me as the developer and he is the artist who made everything that visual.
Since 2D games are much more manageable for indies, we chose 2D style.
![]()
ShootEm is a Quake style FFA game set in a 2D world.
You gather with up to 6 friends in a map and fight to beat the leaderboard. Each round is 3 Minutes and the goal is to be the best eliminator
The game is available at Steam marketplace.
Architecture of the game
ShootEm is one of my biggest developments, It contains Multiplayer architecture, Advanced backend and diverset gameplay. We wanted to make a multiplayer game that will be fun to play and will maintain zero management costs..
The core of the game has been developed with Unity and Mirror (Multiplayer framework) same tech that have been used in my previous game Virtual Project.
When we first started development we taught about how 2 brothers can make a game that will be fun and manageable for us to push updates for years while not needing to maintain servers. That's how I did that.
For backend services to store data we choosed Playfab, it's a great service that is used by thousands of games. This service gives great flexibility for game developers who want to implement databases to their game while not developing and managing a server. Playfab also gives us a platform for player IAP, statistics and analytics. We choose Playfab since it has a pretty good pricing for our expected playerbase and we can scale the game with it easily.
![]()
When it comes to servers we thought a lot about how we can implement servers architecture into the game. Playfab offers a good Matchmaking platform which can also be used as a server hosting provider on the fly (Open server based on matchmaking).
After making some calculations we dumped that idea of hosting servers on our end, especially since our game is pretty small with very little to none budget.
The game works as a P2P model, after using various methods (Mostly at our end) we found that Steam has pretty robust P2P services.
When a player wants to play a game he communicates with Steam all the session, this way the player never steps on our servers.
How does it work?
When a player starts a matchmaking, if there are no matches available to join, he becomes a host. Steam has a server in each region with a Relay model. It's like a Whatsapp server that transfers messages between clients securely without the need to open ports like traditional servers require.After the Host opened a match. Other players can connect to his computer by tunneling through the Relay server securely.
That way the host is hosting the match, leading us to zero expenses in servers.Games that working with similar multiplayer architecture: Crab game, Among us.
![]()
The game has been developed for around a year and a lot of progress and changes have been made. ShootEm is a game that will always be live as long as Steam and Playfab servers are active (Both managed by big companies, Valve and Microsoft). And we will be able to push updates to the game without the need to manage complex server architecture.
ShootEm is available on Steam.
Hop on with friends to the arena and become the king!