
Battlegrounds is a multiplayer, free-to-play medieval sandbox game featuring real-time virtual reality PvP combat. Players engage in sword fighting enhanced by gadgets like bombs, rockets, cannons, bows, guns and staffs, while competing in procedural generated game events. The gameplay is made even more intense and fast-paced by dynamic movement mechanics such as dashing, grappling and climbing. Battlegrounds is currently available on the Meta Quest Store.
Battlegrounds was developed from the ground up, and I was a part of the process from the very beginning. As a result, I was a key contributor to core gameplay systems including player movement, gripping, and the Free-For-All and Team Deathmatch modes used during the beta. From the very beginning, there was a focus on performance so we could get as many players as possible into a lobby. I supported our performance goals by creating an item clean up system that would greatly reduce the number of irrelevant actors that exist in the world at any given time.
As development progressed, I was a major contributor to developing a more dynamic game mode system using Unreal Engine's Gameplay Ability System (GAS). This new system would use actors and gameplay abilities to spawn objectives at pre-determined points around the map, enabling easier prototyping for designers and supporting both pre-existing game modes like Team Deathmatch and new ones, such as Scepter Seeker which is a mode where players compete to hold the scepter at the end of a given time limit. I also solo-developed a grappling-based race course, which remained persistently active in the world and allowed players to race against their own high scores.
The project also included daily quests progression systems involving in-game currency for unlockable weapon skins, gadgets, and cosmetics. Although I didn’t implement the backend systems directly, I worked closely with developers using Epic Online Services (EOS) and later AccelByte. As a result, I learned a lot about how to effectively and efficiently store player data.
Developing Battlegrounds deepened my understanding of multiplayer game architecture and the challenges that come with it. One such challenge involved in-game communication during server outages. To address this, I developed a system that allowed us to dynamically change a message board within the main menu of the game to display whatever text or image we wanted to the player in real-time. Another challenge was simply having to account for network latency and packet loss. As in any networked game, this issue arose throughout the game and we constantly needed to find ways to ensure smooth gameplay for all players as best as possible. This experience helped me gain valurable problem solving and debugging skills in networked environments.