-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
🌐 English · Русский
- .NET 10 SDK.
- Windows. Keyboard input uses the Win32 API, and the wizard's mouse support uses the Win32 console API, so the app is currently Windows-only.
- A terminal that supports 24-bit ANSI color for the best output (Windows Terminal is recommended).
- (Optional) An NVIDIA GPU with CUDA — or any OpenCL device — for the GPU renderer. Without one, worlds that ask for the GPU transparently fall back to the CPU.
dotnet build -c ReleaseSet SampleGame as the startup project in Visual Studio, or run it directly:
dotnet run --project SampleGame -c ReleaseNote for contributors: a clean/verification build uses
dotnet build -c Release --no-incremental(a plain incremental build can report a false "0 warnings"). See Self-Tests for the headless test commands.
A branded setup wizard runs before the render loop. It is drawn by the engine's own console UI (no external UI toolkit) and driven by keyboard and mouse; it re-lays-out when you resize the terminal. It walks you through, in order:
-
Nickname — pick a previously used nickname or type a new one. It is remembered locally in
SampleGame/users.json(git-ignored) and never gates or isolates content — worlds, models and textures stay shared local files. Your nickname prefixes your chat lines and travels to other peers. - Session mode — local solo, or online.
- Network role (online only) — host a Server or join as a Client.
-
World — Create a new world or Load a saved one (
worlds/*.json).-
Create lets you set:
- the world name;
- toggles: Shadows, BVH acceleration, Extra fixed light, Disable camera light, Include platform;
- the Renderer — CPU or GPU (NVIDIA);
- the platform shape — Square / Rectangle / Circle — and its size / width / depth;
- the physics switches — Gravity (+ its strength) + Bounce (restitution 0–1), and Collision.
-
Create lets you set:
- Network (online only) — the listen port (server) or the server IP + port (client).
A client that joins a server downloads the host's world automatically. See Multiplayer for details.
The wizard reflows when you resize the window or use keyboard font-zoom (Ctrl+= / Ctrl+-).
Ctrl+scroll font-zoom does not resize the wizard (it captures the mouse wheel for clicks) — but the in-game 3D still reflows on Ctrl+scroll, as does the startup splash. The whole in-scene HUD adapts live to a window stretch or a font zoom.
- Learn the Controls (movement, editor, HUD modes, chat).
- Author a scene: see the World Format and add your own Textures.
- Go Multiplayer, or turn on the GPU Renderer.