diff --git a/README.md b/README.md index 7b38f4d..d714760 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ | Area | Choice | |------|--------| | Client | **Godot 4.x** (GDScript) | -| Game server | **C# / .NET 8** (ASP.NET Core), **PostgreSQL**, **Protobuf** (JSON OK for earliest spike) | +| Game server | **C# / .NET 10** (ASP.NET Core), **PostgreSQL**, **Protobuf** (JSON OK for earliest spike) | | Content | **JSON/YAML** + **JSON Schema** in CI | Full rationale and constraints: [`docs/architecture/tech_stack.md`](docs/architecture/tech_stack.md). diff --git a/docs/architecture/tech_stack.md b/docs/architecture/tech_stack.md index b5a42dd..b54568e 100644 --- a/docs/architecture/tech_stack.md +++ b/docs/architecture/tech_stack.md @@ -4,7 +4,7 @@ **Constraints from product vision:** Solo operator, server-authoritative critical paths, fixed isometric 3D client, tab-target combat, data-driven skills/items/recipes/quests, optional PvP zones, eventual scale-out (not day one). -**Server runtime (locked):** **C# / .NET 8** — primary author has ~10 years C# experience; authoritative game logic, persistence, and ops stay in this stack. +**Server runtime (locked):** **C# / .NET 10** — primary author has ~10 years C# experience; authoritative game logic, persistence, and ops stay in this stack. **Client scripting (locked):** **GDScript** in Godot—fast iteration, native engine integration; server remains the only **C#** game-logic surface. @@ -15,7 +15,7 @@ | Layer | Choice | Role | |--------|--------|------| | Game client | **Godot 4.x** + **GDScript** | Rendering, input, camera, local prediction (if any), UI, telemetry emit | -| Game server | **C# / .NET 8** (ASP.NET Core) | Authoritative simulation, zones, combat/crafting resolution, persistence boundaries | +| Game server | **C# / .NET 10** (ASP.NET Core) | Authoritative simulation, zones, combat/crafting resolution, persistence boundaries | | RPC / messages | **Protobuf** (or **JSON** for earliest spike only) | Versioned contracts between client and server | | Primary database | **PostgreSQL** | Characters, inventory, progression, economy ledger, idempotent transactions | | Cache / presence (when needed) | **Redis** | Sessions, rate limits, hot read models—**defer** until second scaling pain | @@ -44,7 +44,7 @@ - **Unreal** for this phase unless art direction *requires* it. -## Server: C# (.NET 8) +## Server: C# (.NET 10) **Why** diff --git a/neon_sprawl_vision.plan.md b/neon_sprawl_vision.plan.md index 9a8e8c8..70e3bb5 100644 --- a/neon_sprawl_vision.plan.md +++ b/neon_sprawl_vision.plan.md @@ -118,7 +118,7 @@ These decisions heavily affect architecture and content pipelines and should be **Decision record:** [`docs/architecture/tech_stack.md`](docs/architecture/tech_stack.md) - **Client:** Godot 4.x — isometric 3D presentation, intents to server, no client-authoritative economy or combat outcomes. -- **Game server:** **C# / .NET 8** (ASP.NET Core)—authoritative simulation, PostgreSQL, Protobuf (JSON acceptable for earliest spike). Locked: operator primary language for backend. +- **Game server:** **C# / .NET 10** (ASP.NET Core)—authoritative simulation, PostgreSQL, Protobuf (JSON acceptable for earliest spike). Locked: operator primary language for backend. - **Content:** JSON/YAML + schema validation in CI; shared definitions drive skills, items, recipes, quests. - **Plan B:** Unity client if the art pipeline warrants it; **server remains C#** for continuity. diff --git a/server/NeonSprawl.Server/NeonSprawl.Server.csproj b/server/NeonSprawl.Server/NeonSprawl.Server.csproj index 87441a4..b13f202 100644 --- a/server/NeonSprawl.Server/NeonSprawl.Server.csproj +++ b/server/NeonSprawl.Server/NeonSprawl.Server.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable NeonSprawl.Server diff --git a/server/README.md b/server/README.md index 8a756ac..5df8ff9 100644 --- a/server/README.md +++ b/server/README.md @@ -1,6 +1,6 @@ # Game server (`NeonSprawl.Server`) -ASP.NET Core **.NET 8** host for authoritative simulation (prototype: HTTP + health only). +ASP.NET Core **.NET 10** host for authoritative simulation (prototype: HTTP + health only). ## Run