和 AI 奋战 1 个月多的微信小游戏上架了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Felldeadbird
V2EX    分享创造

和 AI 奋战 1 个月多的微信小游戏上架了

  •  
  •   Felldeadbird 179 天前 2560 次点击
    这是一个创建于 179 天前的主题,其中的信息可能已经有所发展或是发生改变。

    4 月底突发奇想,试着让 AI 写一个复古风微信小游戏,结果一发不可收拾,最后竟然做成了一个7 合 1 小游戏合集

    如果你不想看过程,可以直接搜索微信小程序:地牢探险与方块掌机经典合集,或者拉到文末扫码体验。

    游戏上线流程小结

    5 月初提交小游戏审核,5 月底完成备案,总算对微信小游戏的上线流程有了基本了解。

    整个流程比我想象中简单:

    • 不需要软著(因为没启用微信支付);
    • 提交时填写游戏玩法、介绍、系统设计即可;
    • 从提交到过审大概 10~20 个工作日
    • 我是 5 月 9 日提交的,20 号通过审核,备案又花了 4 天,整个流程不到一个月。

    开发心得

    这次我没用任何游戏引擎,完全基于微信小游戏 GL 模式,全程用文字+截图+AI 对话开发(相当于我是 PM ,AI 是程序员)。

    AI 写完功能,我在模拟器里一遍遍测试,耗时大头其实都在调试。
    说实话,如果你想省点时间,还是建议用个游戏引擎,调试也方便,可以创建专门的场景用于测试功能。

    游戏 UI

    我本来想做拟真的风格,反复让 AI 优化,效果都不理想,最后放弃了统一风格。素材多数来自网络或 AI 生成,再用 PS 或 Aseprite 二次加工。

    素材来源主要是:

    免费素材能用,但质量参差不齐;收费素材动辄 $5 起步,有点吃不消。像素风倒是个好方向,独立开发成本低,风格也容易统一。画得丑不丑,其实主要是对光影的理解问题。

    游戏音乐与音效

    原以为音乐部分靠 AI 能轻松解决,结果音效部分最头疼,找了一推音乐素材,不断播放不断去尝试,耳朵都听麻了:

    • RPG 类动作、技能、怪物叫声都要单独找素材;
    • 很难找到风格统一又契合场景的音效
    • 所以我游戏里的音效风格相当混乱

    BGM 倒是简单些:

    • AI 生成音乐可用;
    • 或者从琴谱网站找 midi 文件,用软件转成 8bit ;
    • 也可以在 opengameart.org 挖资源。

    我目前的策略是:用古典钢琴曲转 8bit 当 BGM ,既好听又规避版权问题。

    功能模块与代码管理

    目前 AI 偏向写“单文件”代码,如果一开始不引导其做模块化,后面很难维护。

    前期每个游戏原型代码量在 1000 行以内,后期功能一增加,动辄 3000+行,AI 一改 A ,B 就崩了,调试非常烧脑。

    建议:一开始就让 AI 按功能拆模块,不然后期维护代价太高。

    AI 开发小游戏的体验总结

    现阶段,AI 已经可以完成小游戏90%以上的功能开发,包括复杂的内容如地牢地图随机生成,表现都不错,确实让我感受到技术的飞跃。

    其次一些特定的资源,只要告诉 AI 这是干什么用的,像素多少,AI 一般都可以理解并处理得很好。但是在物理碰撞方面,因为没有游戏引擎,AI 的处理很愚钝,所以大家可以发现我的游戏中,在物理碰撞方面存在一些怪异 BUG 。

    总的来说将来真要认真做一款游戏,AI 绝对是我的好帮手:

    • 代码交给 AI 写;
    • 熟练掌握引擎编辑器功能,便于调试和利用 AI 写的代码;
    • 自己专注打磨素材和玩法;

    欢迎体验我的微信小游戏

    小游戏程序码

    注 1:游戏有一些 BUG ,目前没时间修复了。开发这个小游戏占用了我不少正常的时间了,后续更新都是随缘了。

    注 2:本文经过 AI 润色和排版。

    13 条回复    2025-07-16 21:22:58 +08:00
    xujiang
        1
    xujiang  
       179 天前
    厉害的,我也想搞,但迟迟没动手
    facebook47
        2
    facebook47  
       179 天前 via Android
    厉害了,我之前也试过,但是我没有 canvas 经验,我发现这玩意比 js 复杂好多
    zachariahss
        3
    zachariahss  
       179 天前
    这哥们说了半天.二维码图挂了...
    zwenooo
        4
    zwenooo  
       179 天前
    @zachariahss #3 换节点
    zwenooo
        5
    zwenooo  
       179 天前
    主要是 AI 目前没法很好的操作游戏开发引擎
    ldcr1319
        6
    ldcr1319  
       179 天前   1
    最后这个无限地牢 RPG 有点意思 有点像以前 java 时代的一个网游 叫星战 ol
    Felldeadbird
        7
    Felldeadbird  
    OP
       179 天前
    @zachariahss imgur.com 可能需要梯子才可以打开?

    @xujiang 有想法就去开发吧,现在 AI cursor trae windsurf 随便选一个就可以了。

    @facebook47 canvas 原生确实很复杂,所以代码我基本让 AI 生成,我只负责调整布局。

    @wzwmeme 我个人理解哈,游戏引擎只是把一些常见的逻辑封装成 UI 界面,给开发者调用。如果你用过 godot ,你会发现所有 screen 文件背后都是声明代码。只要理解好这些原理,你交给 AI 写就可以了(前提是 AI 要掌握游戏引擎对应版本的文档)。甚至来说,你现把游戏场景、节点基础绘制好。交互逻辑、技能伤害、特效让 AI 去写逻辑。多少都减轻开发者的压力。
    zhch602
        8
    zhch602  
       179 天前 via iPhone
    请问下服务端是也是 AI 实现的么,部署在哪里呢?
    Felldeadbird
        9
    Felldeadbird  
    OP
       179 天前
    @zhch602 没有服务端。游戏的逻辑全部本地运算的。这是单机游戏。
    Shaar
        10
    Shaar  
       178 天前
    原来不用软著,那么可以开广告吗,开了是不是也要软著
    liweibest2022
        11
    liweibest2022  
       178 天前   1
    尝试玩了一下,还是挺有意思的,给个好评
    Felldeadbird
        12
    Felldeadbird  
    OP
       178 天前
    @ouou0701 开流量主要达到 500 用户量。 或者 提前开游戏圈。然后用官号发 5 篇文章。 还有其他条件。上面 2 个是相对来说比较容易达到的。
    awendujitang
        13
    awendujitang  
    PRO
       138 天前 via Android
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1095 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 18:11 PVG 02:11 LAX 10:11 JFK 13:11
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86