V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Livid
V2EX  ›  Visual Studio Code

最近用 VSCode Agent + Sonnet 4 从零开始做了个小游戏

  •  2
     
  •   Livid ·
    PRO
    · 78 天前 · 13229 次点击
    这是一个创建于 78 天前的主题,其中的信息可能已经有所发展或是发生改变。
    游戏用的是 Phaser 3 框架。可以在浏览器里直接玩。如果电脑上有手柄,也做了一些适配。

    https://banny.iweb.eth.sucks/

    目前项目超过 5000 行代码,但是整个过程都是用提示词描述需求,然后 agent 搞定全部。
    第 1 条附言  ·  78 天前
    源代码在这里:

    https://github.com/livid/banny

    欢迎折腾。
    第 2 条附言  ·  77 天前
    绿色的手上拿了油桶的那个角色有特殊的攻击方式。
    77 条回复    2025-06-23 17:15:53 +08:00
    Jimmyisme
        1
    Jimmyisme  
       78 天前
    死的莫名奇妙哈哈
    sparkle2015
        2
    sparkle2015  
       78 天前
    请问 OP 可以分享一下提示词吗?或者整理成一个教程。看了这个,第一次有了想尝试自己写个游戏的想法。
    gy0624ww
        3
    gy0624ww  
       78 天前
    macbook 浏览器 方向键不好用,按两下就不动了
    wdv2ly
        4
    wdv2ly  
       78 天前
    所有的音效和美术素材也是 AI 生成的吗?
    wulili
        5
    wulili  
       78 天前
    美术素材是用什么 AI 生成的?
    Livid
        6
    Livid  
    MOD
    OP
    PRO
       78 天前
    @wdv2ly 人物角色素材是朋友的 NFT 项目 https://retail.banny.eth.sucks/itch.io 上买的地图和怪物图片。

    音乐是 Suno 生成的。

    音效是下载的。
    Livid
        7
    Livid  
    MOD
    OP
    PRO
       78 天前
    @gy0624ww 可能焦点不在浏览器窗口。也支持手柄或者 WSAD 。

    主要是用 Chrome 浏览器测试的。
    Livid
        8
    Livid  
    MOD
    OP
    PRO
       78 天前
    @sparkle2015 全程几百句提示词,没有做特意保存和整理。

    基本上就是尽可能详细地用英语描述你想要的。然后代码用 Copilot 的 Agent 模式生成。
    superbai
        9
    superbai  
       78 天前
    macos+chrome 应该有 BUG ,同楼上的现象
    vmebeh
        10
    vmebeh  
       78 天前   ❤️ 1
    hitbox 比角色大一圈,莫名被卡被攻击
    skyrim61
        11
    skyrim61  
       78 天前
    IT 开发已经成为传统行业了.
    Tink
        12
    Tink  
    PRO
       78 天前
    好难
    MarkP
        13
    MarkP  
       78 天前
    已通关

    linnsh
        14
    linnsh  
       78 天前   ❤️ 1
    给敌人 A 两下就 GG ,移动好像有 BUG ,就像卡空气墙一样,动两下就不能再移动了
    Dididadada
        15
    Dididadada  
       78 天前
    macbook+edge 没有遇到楼上说的方向键不好用的情况,不过 wasd 操作更顺手。遇到的问题:
    1. 碰撞检测的盒子大了一些,
    2. 怪物可以从水上过,不知道是设计如此还是 bug
    3. 子弹有时候会穿过怪物没有造成伤害
    jiangpranay
        16
    jiangpranay  
       78 天前
    想起来 vcd 中文游戏 300 坦克大战。。。
    KongLiu
        17
    KongLiu  
       78 天前   ❤️ 1
    碰撞盒最好改成中心的点吧,现在感觉是图片尺寸直接作为碰撞盒大小了,就会死的莫名其妙
    pursuer
        18
    pursuer  
       78 天前   ❤️ 1
    通关+1 ,似乎是 500 分通关,第一个角色比其他角色多 50HP 是什么原因不清楚,游戏技巧就是优先升 1 级子弹伤害,后面优先子弹频率或者伤害,毕竟最重要的是清理近身或路径上的怪,其他的 AOE 可以随意点点,子弹体积我不知道有什么用没点过,HP 恢复数值太低可以无视。游戏的碰撞比预想的大需要注意下
    korvin
        19
    korvin  
       78 天前   ❤️ 1
    好像打不开了,就黑屏
    Liuman
        20
    Liuman  
       77 天前
    Livid
        21
    Livid  
    MOD
    OP
    PRO
       77 天前
    @KongLiu
    @vmebeh

    收到。hit box 应该优化。
    snitfk
        22
    snitfk  
       77 天前
    服务崩了吧?
    Livid
        23
    Livid  
    MOD
    OP
    PRO
       77 天前
    @Dididadada

    怪物有一个跳跃设定(如果检测到卡碰撞),在跳跃动画过程中会暂时禁用怪物的碰撞检测,也就会在那个时候子弹可以穿过去。
    Livid
        24
    Livid  
    MOD
    OP
    PRO
       77 天前
    @snitfk 就是一包静态文件,没有后端。

    如果无法访问建议检查一下代理设置或者试一下这些其他地址:

    https://banny.sol.build/

    https://banny.iweb.eth.limo/
    ansonsiva
        25
    ansonsiva  
       77 天前
    我用 arc 打开就一直黑屏,换 edge 就好了
    gchxp
        26
    gchxp  
       77 天前
    想问下站长最近用 Agent + Sonnet 4 时是否会报 500 错误? 我现在有个项目用 Agent 模式就报错 普通的的 ask 和 edit 就不会
    Livid
        27
    Livid  
    MOD
    OP
    PRO
       77 天前   ❤️ 1
    @gchxp 前两天是美国的一次大范围网络故障。最近是好的。
    suyuyu
        28
    suyuyu  
       77 天前   ❤️ 1
    吸血鬼幸存者,好难
    Livid
        29
    Livid  
    MOD
    OP
    PRO
       77 天前
    @suyuyu 确实就是受这个启发做的!
    wapaiwapai1
        30
    wapaiwapai1  
    PRO
       77 天前
    打不开,应该是这个文件不存在
    https://banny.iweb.eth.limo/src/logic/boomerang.js
    Livid
        31
    Livid  
    MOD
    OP
    PRO
       77 天前
    在本地运行:

    ```
    git clone https://github.com/livid/banny
    cd banny
    python -m http.server 2025
    ```

    然后 http://localhost:2025/
    lukehuang0710
        32
    lukehuang0710  
       77 天前
    kaidong21
        33
    kaidong21  
       77 天前
    整个项目大概写了多久?
    Livid
        34
    Livid  
    MOD
    OP
    PRO
       77 天前
    @kaidong21 加起来大概一周。
    darkjoker
        35
    darkjoker  
       77 天前   ❤️ 1
    有点粗糙的幸存者游戏哈哈哈, 还行
    Clannad0708
        36
    Clannad0708  
       77 天前
    @Livid #8 用英语描述和用中文描述的提示词效果差别很大吗?
    bindiry
        37
    bindiry  
       77 天前   ❤️ 1
    用提油桶的香蕉通关了。

    https://imgur.com/M8AcjOO
    Livid
        38
    Livid  
    MOD
    OP
    PRO
       77 天前
    @Clannad0708 Claude 家的东西,目前在跨语言方面不太行。
    yvyvyv
        39
    yvyvyv  
       77 天前   ❤️ 1
    用油桶一次通关, 就升攻击和经验就 ok , 地图里物品碰撞有点僵硬,应该是图片的关系方方正正的, 就是感觉操作起来不是很流畅
    way2create
        40
    way2create  
       77 天前
    我 chrome 打开也黑屏,发现是 uBlock 扩展的原因
    shiroyuri
        41
    shiroyuri  
       77 天前
    伤害判定没有动画,音效提示吧。然后也还是物体的碰撞,然后感觉有卡卡的感觉吧。

    棒,小游戏还是挺不错

    浏览器:Midori Browser, 打开正常,方向键和 AWSD 键都能控制(开了 Vimium 插件的话,要按 i 键进入输入模式)

    Livid
        42
    Livid  
    MOD
    OP
    PRO
       77 天前
    @shiroyuri 伤害判定只有音效
    jtacm
        43
    jtacm  
       77 天前
    好上瘾,刚打了 124 分。
    shiroyuri
        44
    shiroyuri  
       77 天前
    @Livid 噢噢,那可能前面没戴耳机玩,后面戴耳机玩了之后没有受到伤害。我的我的。
    jtacm
        45
    jtacm  
       77 天前
    500 分通关了,到了后面都不用移动了,子弹太强了。
    ooyy
        46
    ooyy  
       77 天前
    这个香蕉剑士太厉害了,吃了穿透子弹后就无敌了,站在原地不动通关。
    Lshl56B4vDqdixwK
        47
    Lshl56B4vDqdixwK  
       77 天前
    @Liuman 把广告拦截器关掉就能正常玩了
    967182
        48
    967182  
       77 天前   ❤️ 1
    能不能设置结束的点数啊,500 刚开始大杀四方就结束了
    kamikaze472
        49
    kamikaze472  
       77 天前
    优先把攻速点满就无敌了
    Leon6868
        50
    Leon6868  
       77 天前
    优先点满爆炸,然后点射速,然后在沙漠地图右侧的空地上站桩输出即可
    fkdtz
        51
    fkdtz  
       77 天前
    家人们,谁懂把大香蕉回旋镖甩到怪物堆里的救赎感
    Ironpan
        52
    Ironpan  
       77 天前
    想问下,5000 行代码是都看懂了接受还是直接接受,没有看懂接受万一有 bug 是怎么解决的?因为我在用的过程中项目代码 3000 行如果不过脑子,后面就必须依赖 ai 来继续了。。。遇到 bug 的时候如果自己上手,会和使用 ai 的时候形成鲜明的对比,有一定的负反馈。
    leonlly
        53
    leonlly  
       77 天前
    已通关,很好玩。
    https://imgur.com/a/rMq5Ffj
    Livid
        54
    Livid  
    MOD
    OP
    PRO
       76 天前
    @Ironpan 和项目的组织方式有关。

    做到一定的程度,就需要把一些逻辑拆到单独的文件里。

    比如看 src/logic 这个目录。

    确保没有单一文件太大。

    这个过程我大概花了几十次对话是单独用来拆分这些逻辑。

    这样拆过之后,继续用 AI 的效果会更好,同时自己如果要看代码,也不会费力。
    Livid
        55
    Livid  
    MOD
    OP
    PRO
       76 天前
    @967182 应该有一个 infinite 模式。
    Kaiv2
        56
    Kaiv2  
       76 天前
    挺有意思的,来个无尽模式
    Kaiv2
        57
    Kaiv2  
       76 天前
    有 bug 切换到其他页面等一会切回来,子弹会累计
    sleepm
        58
    sleepm  
       76 天前
    发现个小 bug
    头像的 z-index 和 #Top 顶部的一样(没设置),然后滚动的时候,顶部粘到最上面,但是头像可以覆盖顶部
    sleepm
        59
    sleepm  
       76 天前
    #Top 顶部 fixed 我自己写的脚本。。无视吧
    asing
        60
    asing  
       76 天前
    pxiphx891
        61
    pxiphx891  
       76 天前
    如果在有怪物的同时,让 10 个 V2EX 网友在一张图里互相杀,感觉不错,有点大逃杀的感觉
    loryyang
        62
    loryyang  
       76 天前
    别说挺好玩
    HuskyHao
        63
    HuskyHao  
       76 天前   ❤️ 1
    code is cheap, show me your prompt
    sexoutsex2011
        64
    sexoutsex2011  
       76 天前
    vibe coding 的项目开源代码不如开源 prompt 。😁😁
    GooogIe
        65
    GooogIe  
       76 天前
    code is cheap, show me your prompt
    vmebeh
        66
    vmebeh  
       76 天前   ❤️ 1
    在 src/scenes/Start.js#L524 行的 initializeGame 函数中的 const map = this.make.tilemap 处设置断点(初始化默认数值后),选人后在控制台输入完后继续
    this.selectedMap.victory=500000 //设置通关条件为 500000 分,默认 500 分
    this.score=5000 //从 5000 分开始玩,省得一开始太慢浪费时间

    这是天龙人模式
    this.maxHealth=999999;this.regenerationRate=9999;this.bigBoomCooldown=200
    Livid
        67
    Livid  
    MOD
    OP
    PRO
       76 天前
    @vmebeh 👍
    realpg
        68
    realpg  
    PRO
       76 天前
    我更好奇这个 PRO 认证怎么拿到.jpg
    guxin0123
        69
    guxin0123  
       76 天前
    打开黑屏的可以检查一下广告拦截插件

    我这里的 ublock origin lite 把其中一个 js 拦截了
    moonlord
        70
    moonlord  
       76 天前
    按照这个技术找来说!
    开源提示词才是真的开源 hhh !
    SkyOfWood
        71
    SkyOfWood  
       76 天前
    站长大佬,能不能用 V2 的余额来买复活币啊,比如一铜币玩一次,有点小时候街机厅那味道了
    CC11001100
        72
    CC11001100  
       76 天前
    人麻了,游戏下线了吗,我在给这个游戏写一个有意思的外挂,然后发现网站挂了。。。已经写一个通宵了,白干了吐血
    const
        73
    const  
       75 天前
    @realpg 你猜这个网站是谁的
    avenger
        74
    avenger  
       75 天前   ❤️ 1
    和儿子一起玩了一个小时,很有意思
    好奇这种小游戏开发,也需要 unit test 吗?如何控制代码质量?
    chinni
        75
    chinni  
       75 天前
    碰撞太离谱了 地形和人 根本不知道什么时候能碰到。莫名就死角了哈哈哈
    b1ackjack
        76
    b1ackjack  
       75 天前
    这个游戏蛮有趣的,好像土豆兄弟/刀刀兄弟/荆棘之巢
    nathandoge
        77
    nathandoge  
       72 天前
    colider 也太大了吧
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5269 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:54 · PVG 13:54 · LAX 22:54 · JFK 01:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.