• 请不要在回答技术问题时复制粘贴 AI 生成的内容
illegals0001
V2EX  ›  程序员

用 TypeScript 从零重写了《仙剑奇侠传》,浏览器里能通关,还做了个可视化编辑器

  •  
  •   illegals0001 · 14h 37m ago · 1995 views

    做了 4 个多月的个人项目 type-pal ,发上来请大家看看。

    编辑器到试玩演示

    之前站里有朋友发过 sdlpal 编译成 WASM 的网页版。这个不一样:运行时是用 TS 从头写的,sdlpal 只当参考,以原版数据和行为为准。

    第一阶段( v1.0.0 )可以从开场玩到结局:MKF 解包 + YJ_2 解压、事件字节码解释器( 164 个 opcode )、320×200 索引色帧缓冲、按原版重建的回合制战斗、MIDI 用 SpessaSynth 合成。试玩页左下角 ⚙ 或按反引号键,有个工具面板:小地图( NPC/宝物定位)、战斗透视(抗性/可偷物品)、对话历史搜索、存档 JSON 导入导出、21 节点速通计时器。

    工具面板

    第二阶段 Reforge 在做:新的内容格式 + 运行时 + React 编辑器(地图/剧情/角色/物品/战斗/资源),带引用诊断、撤销重做、编辑器内试玩和独立战斗模拟器。原版 294 个场景、223 张地图已迁移进来。编辑器还没在线部署,要 clone 下来本地跑,原版数据需按 README 自行准备;保存工程需要 Chrome/Edge 。也还有不少没收口的地方。

    编辑器:地图编辑

    坦白说一句:全部代码都是 AI 编程 Agent 生成的,我没有手写代码,负责的是产品判断、定优先级、裁决分歧和验收。二十多万行代码靠门禁兜底:19,597 个测试、行覆盖率 91.3%、lint 零警告、新旧双引擎 E2E 对比。协作规则写在仓库的 AGENTS.md 里,有兴趣可以聊。

    非官方同人/学习项目,与大宇资讯、软星科技等版权方无关,名称、美术、音乐、剧情的权利归权利人所有。试玩站用的是从原版游戏提取的资源,仅供学习交流,如有侵权接到通知立即下架。请支持正版。

    想听听大家的意见:编辑器和内容格式的设计、和原版不一致的 bug 、或者觉得哪里没必要做,都欢迎直说。

    22 replies  •  2026-10-08 20:29:55 +08:00
    yamedie
        1
    yamedie  
       14h 32m ago
    太强了吧,火钳留名,不过帖子 AI 味有点重,楼主如果能自己写一些背景故事和心路历程就更好了 XD
    jackOff
        2
    jackOff  
       14h 29m ago
    牛逼,已收藏关注
    wuhunyu
        3
    wuhunyu  
       14h 21m ago
    我更加好奇的是生成的过程
    1. 如何保证 ai 没有跑偏
    2. 对于一个不熟的领域, ai 提出的问题自己也不懂的情况下, 是自己补全大概的知识还是按 ai 的推荐走下去
    3. ai 如果在一个问题上鬼打墙应该怎么解决
    3. 长任务怎么保证 ai 不忘记原本的目标, 以及更重要的如果让人也能很快地理解项目(这个我认为很重要, 但有了 ai 之后, 可能也不重要)
    总之就是用 ai 写大项目的操作手册或者心得, 期待 op 能够分享
    jackOff
        4
    jackOff  
       14h 20m ago
    @wuhunyu 我怀疑 claude 已经过分聪明完全不需要提示词就能主动考虑好细节帮你校对实现了
    king888
        5
    king888  
       14h 12m ago
    玩过,这游戏很久远了,那时候游戏还是 CD 安装
    xxinyue
        6
    xxinyue  
       14h 5m ago
    太牛逼了!希望分享一下开发的过程
    wuhunyu
        7
    wuhunyu  
       13h 54m ago
    我让 ai 尝试来制作一个截图软件, 功能也很简单, MVP 只需要有 截图, 贴图 和 快捷键 即可
    完成倒是完成了, 但可能和我直接让 ai 根据需求开干有关系, 交互总是让我觉得不满意, 这也和我没想好要做成什么样子有关系
    出了问题鬼打墙. 有一些错误, 让 ai 反复进行修改, 它自测通过了, 一个问题可能会好几次才能被修复, 一个问题被修复之后, 后面一测试还有其它问题. 只通过提示词/skill 来提醒, 没有解决这个的问题

    我是一直都在怀疑自己的使用方式有问题了
    zetttt
        8
    zetttt  
       13h 47m ago
    牛🍺,如果能把素材再高清化一些就更好了
    ttsh
        9
    ttsh  
       13h 39m ago
    @wuhunyu #7 我也是
    iorilu
        10
    iorilu  
       13h 38m ago
    牛了, ai 擅长前端不是吹的啊

    以后真可能大多东西都搬到前端了,尤其是有 wasm 可能复杂算法性能相关也可以前端了
    wellbeing
        11
    wellbeing  
       13h 35m ago
    牛逼!马克马克
    illegals0001
        12
    illegals0001  
    OP
       12h 59m ago
    @wuhunyu 我一开始用的 claude ,后来改了 gpt ,我的感觉就是如果是 demo ,他们做的很好,但是细节漏洞百出,当然越先进的模型细节考虑的越充分,不过我还是要不停地纠正,感觉很像四驱小将里面,你要用一个引导曲棍来不停的纠偏,修改细节。后来我的 gpt 降智了,然后我就很崩溃,因为这个破事我的进度卡了很久,后来只能买了个新号。
    illegals0001
        13
    illegals0001  
    OP
       12h 58m ago
    @yamedie 这个文章是 grokbot 做的,但是 V2EX 他连不上,所以我自己手动粘贴发布的,内容我完全没管,他自己运行起来截图介绍的,我的提示词仅仅是帮我宣传一下这个项目
    illegals0001
        14
    illegals0001  
    OP
       12h 57m ago
    @wuhunyu 我的建议是换一个好模型,要不然会搞的心态崩溃
    illegals0001
        15
    illegals0001  
    OP
       12h 56m ago
    @iorilu 这个前端实际上是我一点一点要求他改出来的,第一版还是惨不忍睹的,不过那时候还是 claude opus4.7 左右,模型能力还不行,现在你要是 opus5.5 或者 astra 6 我估计随随便便能超越我现在这版前端
    illegals0001
        16
    illegals0001  
    OP
       12h 52m ago
    我在介绍一下现在的卡点吧,首先是素材,这个游戏原本的编辑器一定是有素材库的,画好之后才切的 tile ,但是我没有原始素材,我只能从 tile 重新拼接回原始素材,要不然我是没有地图绘制能力的,或者说很难通过现有 tile 绘制新地图,但是这个工作量很大,而且 ai 并不擅长。第二个就是脚本系统,虽然我已经把原版反人类的脚本系统大改了一遍,但是依然反人类,具体来说就是原版脚本可以在全局范围改任何一个 npc 的状态,包括坐标,朝向,精灵帧,但是你单独看某一个脚本片段,你根本不清楚这时候这个 npc 的初始状态应该是啥,上一个改他状态的脚本在哪,你完全不清楚。要解决这个问题脚本系统还要大改,这两个问题困扰着我,我目前的进度是在做 e2e ,尝试用 ai 自己打通游戏,并留下来作为测试用例。
    illegals0001
        17
    illegals0001  
    OP
       12h 49m ago
    @zetttt 我的新引擎已经做了高清化的准备,现在原版一个像素在我这里是四个,也就是清晰度理论上能提升一倍
    gw1100
        18
    gw1100  
       12h 37m ago
    牛的,我感觉可以拿你这个做以前电子词典里那个素材复刻版
    MuyuQ
        19
    MuyuQ  
       11h 54m ago
    好像还没做触摸适配? 现在的手机普遍比较长,横屏以后左右两边完全可以作为移动端的方向和按键。
    lhcnic
        20
    lhcnic  
       10h 52m ago
    太牛了!!!
    Shinpro
        21
    Shinpro  
       10h 48m ago
    牛
    illegals0001
        22
    illegals0001  
    OP
       9h 50m ago
    @MuyuQ 这个确实可以考虑,但是我这个是网页版,不是 app ,感觉体验不会很好
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   924 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 73ms · UTC 22:20 · PVG 06:20 · LAX 15:20 · JFK 18:20
    ♥ Do have faith in what you're doing.