Files
NS_unknown_game/game/docs/game_skeleton.md
T
2026-06-09 23:11:08 +08:00

2.4 KiB
Raw Blame History

Game Skeleton

本文档只保留游戏骨架总览。具体模块细节已经拆分到 modules/,后续查实现优先看对应模块文档。

总体目标

当前游戏骨架的目标是:游戏层只负责 ACT 清版游戏语义,资源、归档、动画、音频、存档、场景、UI 和渲染基础设施尽量复用 Frostbite2D 引擎能力。

当前主流程

main.cpp
  -> Application::init()
  -> GameServices::Initialize()
  -> WhiteboxScene
  -> LoadStageMap("map/stage_01.map")
  -> LevelDefinition
  -> StageRenderer / PlayerActor / DebugOverlay / GameUiOverlay

模块文档入口

  • modules/core_services.md:启动、服务、配置、资源路径。
  • modules/assets.md:全局资源槽位、PVF/NPK/PNG fallback。
  • modules/data_map.md.mapStageMapLoaderLevelDefinition
  • modules/stage_rendering.md:场景分层、parallax、sprite/色块 fallback。
  • modules/scene_camera.mdWhiteboxScene、摄像机、battle zone。
  • modules/movement_collision.md:平台碰撞、横版移动。
  • modules/actor_player.md:玩家 Actor、动画、输入消费。
  • modules/input.mdPC/Switch 输入统一语义。
  • modules/ui_overlay.mdUISceneTextSprite、fallback UI。
  • modules/audio_save.md:音频 cue、debug 存档。
  • modules/debug_tools.md:调试可视化。
  • modules/combat.md:战斗模块预留。

当前已接入的引擎能力

  • Asset:地图、贴图、字体、音频 fallback 路径。
  • PvfArchive / ScriptParser.map.ani 预留读取入口。
  • NpkArchive / Sprite::createFromNpk:角色资源 fallback。
  • Animation:玩家动画优先路径。
  • AudioSystem / Sound / Music / AudioDatabase:音频 cue。
  • SaveSystemdebug 开关存档。
  • UIScene / TextSprite / FontManager:局内 UI overlay。
  • Scene / Actor / Renderer / Camera:场景主循环、对象树、渲染和镜头。

当前 fallback 策略

  • 缺 PVF/NPK 时,玩家回退 PNG spritesheet。
  • 缺字体时,UI overlay 回退色条。
  • 缺音频资源时,音频 cue 静默跳过。
  • .map 或解析失败时,whitebox_level.cpp 提供 C++ 白盒 fallback。

原则

  • 引擎已有能力优先使用。
  • 游戏层只做数据转换和玩法语义。
  • 外部资源统一走 Asset / PvfArchive
  • C++ 白盒数据只保留为 fallback,不作为长期生产方式。