🥏

Mirror Multiplayer RTS POC

Our goal on this project is to build a proof of concept real time strategy game with online multiplayer via the Mirror framework using the Steam networking transport.

This core learning we expect to get from this POC ares:

☑️ Synced multi-editor client/server development and testing workflow

☑️ Two user Mirror POC with server authoritative navmesh movement and user property syncing

☑️ Unit spawning over network

☑️ Unit Selection of only owned units

☑️ Selected unit movement

☑️ Multi-select units

image
command units to attack
Complete basic POC of unit building, resource, selection, movement, and network
Mirror multi-user over Steam networking for peer to peer communications
Utilize at least 1 art asset from the Assets to Utilize below
Mirror based persistent Headless dedicated server
A&A for users (via steam)
build a tool to build and deploy server quickly
persistent data storage to "offline" such as mongo, redis, etc.
  • NetworkBehavior.OnStopServer() for final write out to persistent data store
Utilizing at least 3 of my asset picks from the asset store
evaluate what hypothesis I have about my RTS
setup google forms for player feedback
link end of playback session with "give the dev feedback" link to form
figure out how I can get notified for possible play of 1v1 for every match
SHIP game to Itch.io
market it until I get at least 100 plays and at least 10 feedbacks
write up "Lean Canvas" mixed with "game one pager" for Gestalt RTS

Infrastructure work

Plastic SCM with CI/CD pipeline
Unity Playmode and editor mode Unit tests
docker container with headless dedicated server built and deployed per branch
Livegame metrics via??? (unity Liveops via DELTA DNA if cost effective)
Server HTTP REST for admin and player access to real time data
  • A&A via http
  • User level access to owned grid list, grid properties, grid contents
  • admin level access to all grids, all factions, all users
simple html web app POC talking to http REST backend

Basic Game Design

The GestaltRTS module will have the following core game mechanics:

highly refined RTS controls for individual and combat groups of units
mining, refining, part assembling, and unit construction
persistent research for upgraded parts and functional blocks
persistent mining, refining, and parts storage across all matches
Player built "kitbash" unit editor (functional blocks + framework + armor)
Shipments from persistent hq to battlefield
  • Shipments can be blockaded and slowed by various units built in match
  • Skill level differences are made up by nerf and buffs on shipment rate and size
  • Everyone can get resource and base unit shipments from their faction home planet so new player can still zerg a veteran
per unit, and per combat group behavior options
  • Set Position in formation
  • Set default aggro behavior (chase, retreat, hold ground)
  • Heath threshold position modifications
persistent hero unit RPG stats which buffs and debuffs buildings and other units in AOE
  • Hero levels up based on what he uses, so a commander always in the front of the battlefield will skill up his offensive stats such as combat accuracy, fire rate, distance, or damage.
  • A hero in the rear flank will optimize EWARskills like signal jamming, radar, cloak
  • All skills will have the option to buff attached army or to buff hero directly.
point based PVP matches
store-able group template for units and behaviors
Tutorial Missions with voice over
highly refined hover / flight controls for individual unit (third person, over the shoulder)
programmable keys for turrets and combat groups (ctrl-1 to set group 1, left click to fire group 1)

Polish for Steam Release

Steam workshop for group templates
AI skirmishes
CoOp PvE skirmishes
Aesthetic microtransaction supported paints, decals, and parts
Evolving tech tree via updates and DLC

I will be learning from the best practices in the following games:

  • Avorion
  • Homeworld
  • Supreme Commander
  • Age of Empires
  • Sins of a Solar Empire
  • Ashes of the Singularity
  • BattleZone II
  • Warzone 2100
  • Zero-K (Spring)
  • HaloWars

Assets to Utilize

Assets for Research or Artwork