tehDroidX/forsaken-studio

GitHub: tehDroidX/forsaken-studio

基于 Electron 和 three.js 构建的 Forsaken(1998)游戏 mod 开发与关卡编辑工作室,精确读写原始引擎格式实现所见即所得的关卡创作。

Stars: 0 | Forks: 0

# Forsaken Studio 一个用于 Forsaken (1998) 的 mod 开发工作室和关卡编辑器,基于开源的 [ProjectX](https://github.com/ForsakenX/forsaken) 引擎。 采用 Electron + React + three.js,使用 TypeScript 编写。 工作室中的每个编辑器都精确到字节地读写原始的 1998 年引擎格式:在这里构建的地图可以直接在未修改的 ProjectX 客户端中加载。

Forsaken Studio: level open in the quad-view editor

Forsaken Studio showcase video on YouTube
Early workflow showcase on YouTube.

## 功能 * **资源浏览器** - 浏览来自游戏数据的关卡、模型、贴图、声音和 FX,带有实时带贴图的 3D 视图(包含烘焙顶点光照、线框、空心和转盘视图)。 * **世界构建** - Radiant 风格的四视图(3D / 顶视图 / 前视图 / 侧视图)。房间在 64 单位的网格上绘制,并在重叠处自动合并;切割和走廊工具用于打通通道;支持按面贴图、形状参数(长方体、棱柱、八边形、平台)、非 90 度构建块的预制件套件、网格顶点编辑器和 glTF 导入。 * **地图编译器** - 将房间编译为引擎的渲染几何体、碰撞 BSP 和传送门 BSP,生成生成点和初始拾取物,烘焙光照并注册地图,使其立即可玩。已针对附带的官方游戏关卡验证了往返一致性。 * **实体** - 用于拾取物、出生点、敌人、灯光、区域、目标、SpotFX、传送门、水、作用力、机器人节点、背景物体和摄像机的编辑器,并带有针对不同游戏模式的多人模式就绪检查。 * **触发器系统** - 用于引擎的变量 / 条件 / 动作 / 事件逻辑的完整可视化编辑器。 * **叙事工具** - 消息和对话编辑器、带有可放置摄像机的过场动画序列器,以及用于单人故事讲述的战役编辑器(任务顺序、简报、关卡结束验证)。 * **游戏配置** - 数据驱动的敌人属性和引擎标志编辑。 * **参考百科** - 内置的引擎和格式参考;相同的内容已镜像至[此仓库的 GitHub wiki](https://github.com/tehDroidX/forsaken-studio/wiki)。 * **启动** - 直接从工作室启动 ProjectX 以游玩你构建的内容。

Built-in engine and format reference

## 文件格式支持 | 类别 | 格式 | |---|---| | 关卡几何体 | `.mxv` (渲染几何体 + 烘焙光照 + 可见性)、`.bsp` (碰撞)、`.pbs` (传送门) - 通过地图编译器读写 | | 实体附属文件 | `.pic` `.stp` `.nme` `.rtl` `.zon` `.gol` `.fx` `.tel` `.wat` `.gf` `.nod` `.bgo` `.cam` `.trg` - 读写 | | 模型 | `.mx` `.mxa` `.cob` `.off` - 读取;`.mx` 和 `.off` - 写入 | | 关卡文本 | `.mis` `.msg` `.txt` 简报和消息 - 读写 | | 游戏配置 | `enemies.txt`、`debug.txt`、`battle.dat` 地图注册表、`mission.dat` 战役 - 读写 | | 导入 | glTF 网格,PNG 贴图 | ## 安装 将便携版的 `Forsaken Studio.exe` 放入你的 ProjectX 游戏文件夹(包含 `projectx.exe` 和 `data/` 的文件夹)并运行。这就是完整的安装过程 - 工作室会自动识别其旁边的游戏数据。 如果在其他位置启动,它将以仅查看模式运行。要获取该 exe,请使用 `build\dist.bat` 构建(见下文),或者在发布后从发布页面获取。 ## 文档 完整的引擎和格式参考(工作流、所有实体格式、触发器系统、引擎限制、地图历史)位于 [GitHub wiki](https://github.com/tehDroidX/forsaken-studio/wiki) 中 - 这与工作室内置 wiki 提供的内容相同。 ## 开发 要求:[Node.js](https://nodejs.org) 20 或更高版本(附带 npm)。无需其他任何东西 - 所有构建工具均通过 npm 拉取。 ``` npm install npm run dev ``` `npm run dev` 以开发模式启动工作室并支持热重载。`build/` 中的便捷脚本封装了相同的步骤,可在 Windows 上一键使用(`build\dev.bat`、`build\build.bat`、`build\dist.bat`),并且 `npm run dist` 会在 `release/` 下生成便携版 Windows exe。 在开发布局中,工作室还可以识别位于仓库同级文件夹(`../projectx_v1.18.2547/projectx`)中的 ProjectX 安装。 ## 测试 `npm test` 运行类型检查以及完整的格式往返测试套件(大约 30 个套件,涵盖解析器、写入器、地图编译器和编辑器)。 需要原始游戏数据的测试套件会检测上述的同级数据布局,如果不存在则会自动跳过。 ## 相关项目 * [ProjectX / ForsakenX](https://github.com/ForsakenX/forsaken) - 此工作室所针对的开源引擎。 * [ProjectX ForsakenX client builds](https://github.com/tehDroidX/ProjectX-ForsakenX) - 现代化的 OpenGL/SDL 客户端构建版本(从 GL1 到 GL 4.6,从 SDL 1.2 到 SDL3)。 * [Forsaken Planet archive](https://forsakenx.github.io/fsplanet/) Forsaken Studio 是一个非官方的粉丝开发项目,并非 Forsaken 的官方发布。所有原始游戏名称和资产均属于其各自的所有者。
标签:Electron, MITM代理, Mod工具, React, Syscalls, three.js, TypeScript, 地图编辑器, 安全插件, 游戏开发, 自动化攻击