novolis-gaming / design.md
Design — novolis-gaming
Game authoring above simulation
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
GameKitmonolith or Frank.GameEngine.Core port - No
Novolis.Simulation/Novolis.Raylib/Novolis.Renderingreferences 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
| Package | May reference |
|---|---|
| `Procedural` | BCL only |
| `Identity.*` | BCL; abstractions chain |
| `MenuFlows` | `Identity.Abstractions` |
| `Multiplayer.*` | `Identity.Abstractions`; AspNetCore → `Microsoft.AspNetCore.App` |
| `Packaging.Inno` | BCL / 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
IExternalIdentityLinkerand auth
Related repos
| Repo | Role | |
|---|---|---|
| `novolis-commands` | Commands (intent) · `novolis-agent` | Agent Surface |
| `novolis-install` | Novolis platform package installer (`novolis` global tool) | |
| `novolis-templates` | `dotnet new` scaffolds (general + MonoGame) | |
| `novolis-workflows` | Shared GitHub Actions workflows for org CI/CD | |
| `novolis-dogfooding` | Integration samples |
WorkflowEngine (Cron / Mapping / Messaging orchestration) is a future import into a dedicated `novolis-workflow-engine` repo — not novolis-workflows.
Backlog
dotnet newgame templates (coordinate withnovolis-templates)- Full Inno compile integration (invoke ISCC)
- SignalR host migration and production auth samples
- Dogfood infinite-runner sample using
Novolis.Game.Procedural