Scratch3之AI集成 - flappy bird AI版本
AI神秘且有趣,我们以一个经典的游戏flappy bird集成AI,实现自训练成长的聪明的笨鸟。先上效果:
初始化的笨鸟拥有分身,每个分身都有自我学习功能,根据自己的移动轨迹和得分情况进行汇总,进行新一代的笨鸟的迭代,基本经过数十轮的训练和迭代,能完成高智慧的笨鸟,自我闯关能力强。
需要了解的AI知识:神经网络进化(Neuroevolution)- 神经网络进化wiki
游戏实现:
1. 实例化 Neuroevolution 对象(图一的右上角 init 部分),其中定义了每代鸟的数量,以及网络模型中每一层的神经元数量。一般神经网络具有分层结构,实例化的 network 分别定义了输入层(input layer)、隐藏层(hidden layer)和输出层(output layer)中的神经元(neurons)数量。定义的每只鸟的权重随机。
2. 每只鸟进行自动运行,通过上下运动,判断与管道是否会碰撞,如果碰撞后则认为死亡,将network状态和score绑定,将score降序排列作为基因保存起来。
3. 遍历所有鸟,如果都死亡,则保存这代鸟的得分,创建开始新一代。
4. 经过进化算法一代代的迭代,network 的表现也会越来越符合预期。
游戏代码块组成:
1. 初始化模型、设置AI角色复制的分身术,启动GameAI程序
2. AI角色使用特征
3. AI角色使用行为
4. 当每轮执行,AI角色牺牲后进行决策记录
5. 异步实时计算AI角色是否牺牲(是否撞到管道)
6. 当一轮中所有AI角色都牺牲了,优化模型并保存模型,重启GameAI,进行下一代笨鸟的训练
核心代码组成:
Generation.js -- 训练中代数的js文件
Network.js -- 神经网络的js文件
AISprite.js -- AI角色(小鸟)的js文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理