Available in the Gaming / Industries Circle
quantum | v2 switch to V1  

Quantum Survivor

Level Beginner

Overview

This sample is provided with full source code and demonstrates how Quantum can be used to create a co-op survivor game with hundreds of enemies.

Back To Top
 

Screenshots

Back To Top
 

Download

Version Release Date Download
2.1.5 May 11, 2023 Quantum Survivor 2.1.5 Build 215

Back To Top
 

Before You Start

To run the sample in online multiplayer mode, first create a Quantum AppId in the PhotonEngine Dashboard and paste it into the AppId field in PhotonServerSettings asset. Then load the Menu scene in the Scenes menu and press Play.

Back To Top
 

Technical Info

  • Unity: 2020.3.37f1.
  • Platforms: PC (Windows / Mac), Mobile.

Back To Top
 

Highlights

Technical

  • Scheduling routine for collectible entitites.
  • Usage of a multithreaded system for Characters Movement.
  • EntityView object pool.
  • Usage of physics queries injection Broadphase Queries.

Back To Top
 

Gameplay

  • Basic wave system.
  • Synced character powerup selection.
  • Quantum Command to add more time for powerups selection
  • Basic Bot players.

Back To Top
 

Useful Patterns

Scheduling Routine For Collectible Entitites

This is a good approach to prevent iterating over all the collectibles every frame, thus distributing the CPU load.

int schedulePeriod = 10;
foreach (var (entity, c) in f.Unsafe.GetComponentBlockIterator<Collectible>())
{
  if (entity.Index % schedulePeriod == f.Number % schedulePeriod)
  {
    CheckCollectDistance(f, entity, c);
    if (c->TTL <= FP._0)
    {
      f.Destroy(entity);
    }
    c->TTL -= timeMultiplier * schedulePeriod;
  }
}

Back To Top
 

3rd Party Assets

The Sample includes several assets provided courtesy of their respective creators (CC-0). The full packages can be acquired for your own projects at their respective site:


To Document Top