用 Claude Code 修复并扩展 2019 年神经进化射击游戏
Show HN: I let Claude refactor my old game
开发者用 Claude Code 修复并扩展了 2019 年的神经进化射击游戏,机器人现在能真正学习。修复了神经进化中的多个 bug:每个机器人能看到所有玩家及自身状态、瞄准生效、适应度不再奖励乱射、每代最优机器人被保留。机器人不再随玩家死亡重置,而是来自服务器上由所有玩家共同演化的共享种群,服务器不可达时回退到本地演化。
瞄准并射击
你是 Nole Ksum(k 不发音),一个对机器崛起感到担忧的公民,你决定亲自出手,终结所有人工智能。你必须杀死所有被神经网络控制的邪恶机器人,阻止它们进化成更危险的存在。全人类的希望都寄托在你身上,别让他们失望。
在这里游玩
如何游玩
操作
w、a、s、d - 让玩家向上、向左、向下、向右移动。方向键作用相同。
鼠标 - 瞄准并射击(点击)。
我不建议在手机上玩这个,但如果你非要的话
左边的大圆圈移动玩家。
右边的大圆圈瞄准玩家。
它们上面的两个小圆圈,射击。
已经警告过你了。
目标
杀死机器人,别被杀。另外不要碰到屏幕边缘,它们会伤害你。但是,尽管把机器人推到边缘上。
状态条
机器人上方有两条状态条。
红色那条表示生命值,如果空了你就死了。
绿色那条是冷却条,如果空了你就无法射击,直到它恢复。
关于这个实验
我一直想花时间做一个神经进化实验,所以我做了。
每个机器人由它自己的神经网络控制(这是我之前做的 - 在这里)。当所有机器人死亡时,遗传算法会评估它们的适应度分数(基于它们开了多少枪、命中了多少次、射中了多少同伴、对自己造成了多少伤害以及在一轮中移动了多少),并让得分最高的那些进行交叉繁殖。
这会一直持续下去,直到玩家死亡(这最终总会发生,所以 Nole 终究无法拯救人类)。顺便说一句,背景故事是个玩笑。我无意取笑任何人。这个想法只是看起来很有趣,而且很适合这个项目。
趣闻:美术素材是用我的 PaintDraw 工具创作的。
2026 更新:用 Claude Code 修复并扩展
线上版本不再是 2019 年的原版。2026 年,游戏用 Claude Code 修复并扩展了:
- 机器人现在真的能学习了。神经进化中的几个 bug 被修复:每个机器人能看到每个玩家以及自己的状态,瞄准能正常工作,适应度不再奖励乱射子弹,并且每一代最好的机器人会被保留。
- 共享进化。你死亡时机器人不再重置。它们来自服务器上保存的一个种群,由在你之前玩过的所有人共同进化。你的浏览器只报告每个机器人在本轮的表现;服务器为机器人评分并繁殖下一代。HUD 会显示共享的代数和你当前的轮次。如果无法连接服务器,游戏会像以前一样回退到在本地进化机器人。
- 来自 2019 年 Hacker News 讨论帖的建议。你的生命值每轮都会补满,游戏结束画面会显示你到达的轮次和你的最佳成绩,枪声更安静了(按 M 静音),机器人不再生成在你身上,而且优先杀死射手不再那么容易繁殖出和平主义者。
- 更公平的玩法。限制射速、每轮开始时有短暂的无敌时间、在任何屏幕刷新率下移动速度相同、固定大小的竞技场会缩放以适应屏幕,以及碰撞修复。
后端使用 PHP 和 SQLite(api/)。工作原理参见 docs/shared-evolution-plan.md。GitHub Pages 链接现在会重定向到线上版本。
来源:Hacker News · github.com

