supervisor-simulator/GEMINI.md
2026-01-18 12:38:03 +08:00

3.2 KiB

GEMINI.md - Context & Instructions for "Super Mentor" (最强导师)

1. Project Overview

Project Name: Super Mentor (最强导师 / Supervisor Simulator) Type: Simulation / Strategy / Roguelite Game Engine: Godot 4.x (C# / .NET) Platform: Windows (Win32), likely cross-platform capable.

Core Concept: A "survival horror" simulation of academic life. Players manage a lab, recruit students, publish papers, secure funding, and navigate academic politics ("publish or perish").

2. Architecture & Directory Structure

2.1 Game Engine (Godot/C#)

  • Root: Contains project.godot, .sln, .csproj.
  • scripts/: The core C# source code.
    • Core/: Game systems (TurnSystem, TaskSystem, EconomySystem, SynergySystem) and Interfaces.
    • Models/: Data models (StudentModel, TaskModel, etc.) and Definitions.
    • [Node classes]: Player.cs, Student.cs (Godot Node behaviors).
  • resources/definitions/: Data-driven design files.
    • .json: Archetypes, Roles, Traits.
    • .tres: Discipline specific resources (Godot Text Resource).
  • scenes/: Godot .tscn scene files.
  • docs/: Detailed game design documents (GDD).

2.2 Tooling: Numerical Design & Balancing System (NDBS)

Located in tools/ndbs/, this is a web-based tool for designers to edit game data and write scripts.

  • Backend: Python 3.14 (FastAPI), managed by uv.
  • Frontend: Vue.js (Vite, Naive UI/Element Plus).
  • Spec: specs/numerical_design_system.md.

3. Building & Development

3.1 Game (Godot)

  • Prerequisites: Godot Engine (Mono version), .NET SDK.
  • Build: Standard Godot build process or via IDE (Visual Studio / JetBrains Rider / VS Code).
  • Run: Open project.godot in Godot Editor or run via CLI.

3.2 NDBS Tool (tools/ndbs)

  • Backend (tools/ndbs/server):
    • Manager: uv
    • Run: uv run main.py (or uvicorn main:app --reload)
  • Frontend (tools/ndbs/client):
    • Manager: npm / yarn
    • Build: npm run build (Output consumed by Python server).

4. Key Conventions

4.1 C# / Godot

  • Systems Pattern: Core logic is decoupled from Godot Nodes where possible, residing in scripts/Core implementing IGameSystem.
  • Rule System: Game logic "rules" (Buffs/Debuffs) are referenced by string IDs (RuleIds) and executed via a RuleManager (using Reflection).
  • Data Driven: Heavy reliance on JSON/TRES definitions for content.

4.2 Code Style

  • C#: Standard .NET conventions (PascalCase for public, camelCase for private/locals).
  • Python: Type hints required (Python 3.14+). Pydantic for data validation.
  • Frontend: Vue Composition API (<script setup lang="ts">).

5. Current Task Context (As of Jan 2026)

The project is actively implementing the NDBS Tool defined in specs/numerical_design_system.md. Goal: Create a unified service where a Python backend serves a Vue frontend to allow editing of resources/definitions and generation of scripts/Rules/Generated/*.cs files.

Immediate Next Steps:

  1. Initialize the Python backend using uv.
  2. Set up the Vue frontend.
  3. Implement the File System API for JSON/TRES handling.