Rejected: VR Game with 80 Players and One World Server

The Context

We aim to create a virtual reality (VR) game that can support eighty players simultaneously using a single world server.

The Problem Statement

The challenge lies in managing the load of player simulations, world server, and game state delivery.

We update the state of PLAYER_COUNT vsync times on a TBD CPU bare metal machine.

It takes 30ms to update the database on the prototype on VSK_godot/modules/mvsqlite/demo returning the list of all changed states.

We are going with the grid approach. Our world is a 1km by 1km area and each grid cell is 100m squared.

A 1x1 grid of 100m squared requires 1 server.

Our database is SQLite FoundationDB.

The game state delivery process involves the world server generating a stream of data containing the states of all players. This data is then sent to the client-side for rendering and interaction.

This list can then be used to generate the TBD gigabit/sec stream of packets that is sent from the world server.

Please note that the limiting factor here is due to the lack of multicast support over the internet.

The Benefits

  • Supports a moderate number of players simultaneously
  • Provides a rich, immersive gaming experience
  • Simplified infrastructure with only one world server

The Downsides

  • Requires significant resources and infrastructure
  • Bandwidth requirements may be high for some players
  • Lack of multicast support over the internet could limit game state delivery

The Road Not Taken

An alternative would be to increase the number of players or world servers, but this would require more resources and infrastructure.

The Infrequent Use Case

In cases where player traffic is consistently low, the infrastructure may be underutilized.

In Core and Done by Us

The proposed stress testing will be conducted by the V-Sekai development team.

Status

Status: Rejected

Decision Makers

  • V-Sekai development team

Tags

  • V-Sekai

Further Reading

  1. V-Sekai · GitHub - Official GitHub account for the V-Sekai development community focusing on social VR functionality for the Godot Engine.
  2. V-Sekai/v-sekai-game is the GitHub page for the V-Sekai open-source project, which brings social VR/VRSNS/metaverse components to the Godot Engine.
  3. creating-a-first-person-shooter-that-scales-to-millions-of-players

AI assistant Aria assisted with this article.