Novolis Docs
novolis-gaming / design.md

Design — novolis-gaming

dotnetgamedevnovolis

Purpose

Libraries used when creating and shipping a game: menus, pseudonymous player identity, multiplayer lobby patterns, procedural content helpers, Windows installer scripts. Not runtime simulation, physics, or rendering.

Non-goals

  • No GameKit monolith or Frank.GameEngine.Core port
  • No Novolis.Simulation / Novolis.Raylib / Novolis.Rendering references in this repo
  • No game domain (ships, factions, GalacticSim content)
  • No PII types in public API (email, real name, provider subject strings)
  • No SignalR in novolis-transports — game multiplayer lives here
  • No live agent surface wire — that is novolis-agent (Novolis.Agent.Core / .Surface)

Dependency firewall

PackageMay reference
ProceduralBCL only
Identity.*BCL; abstractions chain
MenuFlowsIdentity.Abstractions
Multiplayer.*Identity.Abstractions; AspNetCore → Microsoft.AspNetCore.App
Packaging.InnoBCL / MSBuild only

PII split

  • Platform (`Novolis.Game.*`): opaque PlayerRef, optional in-memory display names supplied by host
  • Product apps: Steam/email/GDPR, persistence, Identity Server — implement IExternalIdentityLinker and auth

Related repos

RepoRole
novolis-commandsCommands (intent) · novolis-agentAgent Surface
novolis-installNovolis platform package installer (novolis global tool)
novolis-templatesdotnet new scaffolds (general + MonoGame)
novolis-workflowsShared GitHub Actions workflows for org CI/CD
novolis-dogfoodingIntegration samples

WorkflowEngine (Cron / Mapping / Messaging orchestration) is a future import into a dedicated `novolis-workflow-engine` repo — not novolis-workflows.

Backlog

  • dotnet new game templates (coordinate with novolis-templates)
  • Full Inno compile integration (invoke ISCC)
  • SignalR host migration and production auth samples
  • Dogfood infinite-runner sample using Novolis.Game.Procedural