The Design

Make it Massively...

We used Photon multiplayer services to quickly prototype and get our game running the way we initially imagined. Where every single star is a unique server. "Room" as Photon, calls them. Every scene/view is like a massive multiserver listener. Every server can have up to 100 players at a time. Not ideal, for us. We want more. No limitation on CCU, connectivity, realtime-action, scene transitioning.

HeroicLabs

In order to meet our "Vision" for the game. To make it more performant, and seamless, as well as allow it to scale, have data persistance for saving items, and character properties. We started implementing Heroiclabs Nakama Frameworks into version 0.0.6 of the game.

Nakama

Nakama allows us to create server-authoritive games, basically dedicated servers. Where we can spin Docker instances up that are secure and meant to handle player interaction. What we mean by player-interaction, is syncing of realtime player data with other players.

Move Character > Server Validates Move > Player(s) Move

This is an oversimplification that doesn't take into account latency, zones, and object interactions.

Nakama has very cool api built-in that allows for quick production-level iterations of specific game features in a game:

  • Authentication & Sessions - How the player is Identified with the game.

  • Chat Stream - Text Chatting Features

  • Leaderboards - Competitive Statics based Social Features

  • Friends - A Friends List, for messaging and joining friends' in play.

  • Status - Status indicators, ex: online, offline, busy

  • Notifications - Sending messages to game clients about specific events.

  • Groups and Clans - Community-like features.

Last updated