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

网页版的《兔子波比 5》重制版,非模拟器, TypeScript 重写的引擎

  •  
  •   xujinkai ·
    XUJINKAI · 3 days ago · 1531 views
    因为当年很喜欢这个游戏,网上能找到的都是原版的 10 个 jar 包和模拟器,所以决定把他们搬到网页中。

    功能列表:
    - TS 从头写了个引擎,只使用了原版的资源文件
    - 新引擎扩展了很多层级和机制,比如推箱子、传送门、双兔成行
    - 录像功能,可以记录关卡过法,或者加载内置的地图过法
    - 地图编辑器,可以编辑已有关卡或者自己做新地图
    - 分享功能,可以生成带地图数据的链接直接分享,或者生成生成内嵌代码嵌入别的网站
    - 现代/8bit 风格音乐无缝切换、中英双语、多主题
    - 调试工具,可以观察引擎内部状态,我自己也是边学边搞
    - 逆向工具,不仅能解码原版 jar 包,还能把自制的地图打包回原版 jar 中通过模拟器验证

    链接:
    游玩访问: https://bc5r.xujinkai.net
    冒险模式: https://bc5r.xujinkai.net/adventure
    推箱子: https://bc5r.xujinkai.net/explore/play/novoban-pushbox/01
    双兔成行: https://bc5r.xujinkai.net/explore/play/engine-lab/01-control2

    仓库地址: https://github.com/XUJINKAI/bobby-carrot-5-remake
    内嵌示例: https://xujinkai.net/

    到现在花了我大概 200 刀,加一个月的肝,虽然还不完善,顶不住了,先发了再说。
    个别机关可能还有问题,目前第一章的关卡我都有通关录像,是验证肯定能过的。
    Supplement 1  ·  2 days ago
    补充一下开发过程,代码都是网页 GPT/codex 写的,花了大概 200 刀,肝了一个月,到目前的可执行代码也快 10 万行了。

    我的角色就是产品/架构/测试,不断地给 AI 反馈,然后等 AI 干活。基本流程就是本地 codex 干活,推 pr 到 GitHub ,然后网页 GPT 审核。

    这个项目稍微好一点的就是,有逆向代码参考,但也仅此而已。整个过程我自己的参与度其实非常高,除了没有直接动手写代码,其他都得我盯着。

    拿引擎举例,我让 AI 解包逆向出 java 代码,在[这个目录]( https://github.com/XUJINKAI/bobby-carrot-5-remake/tree/main/original/reverse-engineering)里,成果大概是 3 万行 java 代码+一堆文档。但 AI 并没有办法直接根据这些把引擎写出来,新引擎的架构方向、工作流程,还有一些重点结构的字段,都是我和 AI 讨论清楚再做的,任何含糊的东西都会在几天之后成为回旋镖,逼我再次澄清。逆向里有参考价值的只有那些具体机关的表现/动画,但这些东西 AI 都有很多遗漏,需要我自己去测试和对比原版。

    当然 AI 确实也帮了大忙,我以前根本没写过任何游戏。我觉得比较重要的就是架构能力,代码品味。AI 经常补丁摞补丁,或者忘了之前的决定,这些都需要我即时发现和纠正。

    感想就是:
    1. AI 再聪明,他也不知道你实际要什么,所以方向还得人把控,况且 AI 还会偷懒/降智。
    2. 我被 openai 公司捏住 oo 了,他随意一降智我就只能干瞪眼,还得上赶着给他送钱,非常难受。
    3. 网上那些一句话做出一个游戏的,我现在有点不太信了。
    16 replies    2026-09-23 20:39:59 +08:00
    alading11
        1
    alading11  
       3 days ago
    还挺有意思的,不过我小时候好像没玩过这个游戏,第一次见
    xujinkai
        2
    xujinkai  
    OP
       3 days ago via Android
    @alading11 快 20 年前的游戏🤣三星或者诺基亚 320x240 的屏幕
    shoaly
        3
    shoaly  
       3 days ago
    玩了两局 还挺上头, 准备深入 clone 到本地来深入玩玩. 画面的原始素材 是否还能用 ai 做一些高清化? 当然现在这个像素风也已经非常完美了.
    xiangyuecn
        4
    xiangyuecn  
       3 days ago
    好玩
    xnplus
        5
    xnplus  
       3 days ago
    挺好的
    Laysan
        6
    Laysan  
       3 days ago
    收藏了, 以前最喜欢的游戏了
    Laysan
        7
    Laysan  
       3 days ago
    12345 都通关的,之前还找过老的 jar ,不过现在都玩不了了
    suloser
        8
    suloser  
       2 days ago
    厉害啊,请教下 op ,源码的 docs ,agent.md ,各个目录的 readme ,是手搓的还是 ai 辅助写的,细节很全面,不像手搓的
    chendy
        9
    chendy  
       2 days ago
    真的神奇,当年那么大点的屏幕竟然能放得下这么多信息…
    xiaoyi123
        10
    xiaoyi123  
       2 days ago
    厉害啊,确实很有意思
    yulgang
        11
    yulgang  
       2 days ago
    哎呀 这个系列我都非常喜欢。

    这个推镜子也很好玩
    shoaly
        12
    shoaly  
       2 days ago
    @xujinkai #2 又玩了好几关, 在提一个建议, 添加一个计时存盘的功能, 这样可以不用做错一步又重头再来, 游戏难度会低一些
    qlzy
        13
    qlzy  
       2 days ago
    有意思的 👍
    xujinkai
        14
    xujinkai  
    OP
       2 days ago
    @shoaly 感谢支持,自由探索里是有撤回功能的,自由探索可以任意浏览所有的关卡,也能直接转到编辑器。
    冒险模式故意设置的竖屏视角(电脑上会强制竖屏)+ 不允许撤回,还原的是原版体验。

    @suloser append 了一些开发信息,基本都是 AI 写的,手搓我觉得我能搓到天荒地老。

    @chendy 是呀,原版游戏一个包才 280kb 。

    @yulgang 这个我没玩过诶,很有意思,我觉得我可以加个激光机关稍微还原一下🤣
    yulgang
        15
    yulgang  
       2 days ago
    @xujinkai #14 镜子有两个方向,反射激光时会分左右。激光可以点燃炸弹也可以杀死 robo ,印象里炸弹好象是可以炸石头的,石头可以挡住激光。有些关卡激光器好像可以推。蛮好玩的。
    xujinkai
        16
    xujinkai  
    OP
       10h 34m ago
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1164 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 23:14 · PVG 07:14 · LAX 16:14 · JFK 19:14
    ♥ Do have faith in what you're doing.