Scratch3之AI整合 - flappy bird AI版本

want發表於2024-04-15

AI神秘且有趣,我們一個經典的遊戲flappy bird整合AI,實現自訓練成長的聰明的笨鳥。先上效果:

初始化的笨鳥擁有分身,每個分身都有自我學習功能,根據自己的移動軌跡和得分情況進行彙總,進行新一代的笨鳥的迭代,基本經過數十輪的訓練和迭代,能完成高智慧的笨鳥,自我闖關能力強。

需要了解的AI知識:神經網路進化(Neuroevolution)- 神經網路進化wiki

遊戲程式碼塊組成:

1. 初始化模型、設定AI角色複製的分身術,啟動GameAI程式

2. AI角色使用特徵

3. AI角色使用行為

4. 當每輪執行,AI角色犧牲後進行決策記錄

5. 非同步實時計算AI角色是否犧牲(是否撞到管道)

6. 當一輪中所有AI角色都犧牲了,最佳化模型並儲存模型,重啟GameAI,進行下一代笨鳥的訓練

核心程式碼組成:

Generation.js -- 訓練中代數的js檔案

Network.js -- 神經網路的js檔案

Neuroevolution.js -- 網路進化的js檔案

AISprite.js -- AI角色(小鳥)的js檔案

相關文章