Desktop applications and shared libraries for the SI family of projects:
- SIGame — desktop game client and host UI
- SIQuester — package editor
- SImulator — offline presentation/simulator app
- SICore — game/session orchestration, messaging, and runtime logic
- Common — reusable engines, package APIs, UI libraries, and helpers
- .NET 10 SDK is required to compile the main solutions.
- Visual Studio 2026 is required to publish the SImulator ClickOnce application.
- WiX Toolset is required to build app installers.
ARCHITECTURE.md— repository-wide map, entry points, and common workflowsNAVIGABILITY_REPORT.md— assessment of code structure and documentation gaps
src/SICore/SICore/README.md— core game/session runtime guidesrc/SIGame/README.md— SIGame app and view model guidesrc/SIQuester/README.md— SIQuester editor guidesrc/SImulator/README.md— SImulator guidesrc/Common/SIEngine/DOCUMENTATION.md— package-level engine behaviorsrc/Common/SIEngine.Core/DOCUMENTATION.md— question-level engine behaviorsrc/SICore/SICore/GAME_AGENT_DOCUMENTATION.md— game agent messaging protocolsrc/Common/SIPackages/README.md— SIQ package format and APIs
src/Common— shared libraries used by multiple appssrc/SICore— game/session runtime and network infrastructuresrc/SIGame— main desktop game applicationsrc/SIQuester— package editing toolssrc/SImulator— simulator/presentation apptest— tests, generally grouped by product areaassets— schemas and supporting assetstools,deploy,web— supporting infrastructure and packaging
- SImulator — SIGame offline app for hosting a game with a single computer and projector
- SIQuester — SIGame questions editor
- SIGame — SIGame desktop app
src/Common/Notions— helper methods for working with stringssrc/Common/SI.GameServer.Client— client for the SIGame serversrc/Common/SI.GameServer.Contract— SIGame server contractsrc/Common/SIEngine— package-level SIGame enginesrc/Common/SIEngine.Core— question-level enginesrc/Common/SIPackages— SIQ package model and persistence APIssrc/Common/SIUI— shared SIGame table UIsrc/Common/Utils— auxiliary shared classessrc/SIQuester/QTxtConverter— text-to-package conversionsrc/SICore/SICore— high-level SIGame runtimesrc/SICore/SICore.Connections— low-level network connection abstractionssrc/SICore/SICore.Network— network nodes and client abstractionssrc/SICore/SIData— shared models for client and server
Start with:
src/SICore/SICore/README.mdsrc/SICore/SICore/GameRunner.cssrc/SICore/SICore/Clients/Game/GameController.cssrc/SICore/SICore/Clients/Game/Game.cs
Start with:
src/Common/SIEngine/DOCUMENTATION.mdsrc/Common/SIEngine.Core/DOCUMENTATION.mdsrc/Common/SIEngine/GameEngine.cssrc/Common/SIEngine.Core/QuestionEngine.cs
Start with:
src/SIGame/README.mdsrc/SIGame/SIGame/App.xaml.cssrc/SIGame/SIGame.ViewModel/ViewModel/MainViewModel.cs
Start with:
src/SIQuester/README.mdsrc/SIQuester/SIQuester/App.xaml.cssrc/SIQuester/SIQuester.ViewModel/Workspaces/MainViewModel.cssrc/SIQuester/SIQuester.ViewModel/Workspaces/QDocument.cs
Start with:
src/SImulator/README.mdsrc/SImulator/SImulator/App.xaml.cssrc/SImulator/SImulator.ViewModel/ViewModel/MainViewModel.cssrc/SImulator/SImulator.ViewModel/ViewModel/GameViewModel.cs
Unless the task is specifically about build output, localization generation, or resource generation, contributors can usually ignore:
bin/obj/Properties/Resources.Designer.cs- generated
*.g.csand*.g.i.csfiles - very large static resource dictionaries unless the task is about theme/resource definitions
dotnet build src\SIGame\SIGame\SIGame.csprojdotnet build src\SIQuester\SIQuester\SIQuester.csprojdotnet build src\SImulator\SImulator\SImulator.csproj
tools/sigame-build.ps1— builds a SIGame project in Release configuration and sets the provided version numbertools/sigame-build-msi.ps1— builds a SIGame MSI for the provided platformtools/sigame-build-setup.ps1— builds a SIGame installertools/sigame-publish.ps1— publishes SIGame and sets the provided version numbertools/siquester-build.ps1— builds SIQuester in Release configurationtools/siquester-build-msi.ps1— builds a SIQuester MSI for win-x86 and win-x64tools/siquester-publish.ps1— publishes SIQuestertools/simulator-build.ps1— builds SImulator in Release configurationtools/simulator-publish.ps1— publishes SImulator in Release configuration for win-x86 as a compressed single file