关于人工智能:基于最佳编程的游戏

Best programming based games

回到学校的时候,我记得自己曾在玩Mac游戏时,曾用一种伪汇编语言编写小机器人的程序,然后它们可以互相抗衡。 他们可以在赛场上移动,寻找不同方向的对手,并发射某种武器。 很基本的东西,但是即使我不记得这个名字,我也很喜欢它。

有什么现代等效的东西吗?


我以前在大学里用Robocode编码自己的机器人有很多乐趣。

它是基于Java的,具有详细的API,并且很容易启动并运行具有挑战性的机器人。

这是一个例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 public class MyFirstRobot extends Robot {
     public void run() {
         while (true) {
             ahead(100);
             turnGunRight(360);
             back(100);
             turnGunRight(360);
         }
     }

     public void onScannedRobot(ScannedRobotEvent e) {
         fire(1);
     }
 }

刚发现Light Bot。对您的机器人进行编程以使其走动并执行任务以完成拼图。甚至包括子例程。通过将图块拖动到插槽中来对机器人进行编程。游戏非常优美。

Update Lightbot现在是该游戏的最新版本,并且具有专门为4-8岁或9岁以上(无上限)的孩子设计的版本,并且还具有if

lightbot 1的屏幕http://www.lostateminor.com/wp-content/uploads/2008/10/light-bot.webp


我认为原始游戏叫做《核心战争》(Core Wars)(此维基百科文章包含许多有趣的链接);似乎仍然有一些节目和竞赛,例如在corewars.org。我从来没有时间研究这些游戏,但它们似乎很有趣。


在Flash游戏Manufactoria中,您可以通过布置传送带和开关来对工厂进行"编程",该方式与FSM非常相似,但功能更强大。这个游戏真的很棒。试试看,特别是如果您正在使用正式语言和自动机!

Manufactoria屏幕截图http://www.tomdalling.com/wp-content/uploads/manufactoria-bubble-sort.webp


Bug Brain是一款必须以图形方式构建和训练人工神经网络以控制错误的游戏。

Bug Brain屏幕截图http://www.infionline.net/~wtnewton/oldcomp/bugbrain.webp


有问题的游戏肯定是Mac的Robowar。我儿子很喜欢它,然后继续编程真正的机器人。

如Proud先前所述,有一个Wiki页面:
http://en.wikipedia.org/wiki/机器人大战

尽管在过去的几年中,围绕该游戏的活动并不多,但最近举行了一场比赛,并且有一个雅虎电子邮件小组。


如果您想离开键盘,Coasts of Coast会发布一款名为RoboRally的游戏,这是一款格斗性的编程棋盘游戏。

http://www.wizards.com/roborally/


http://www.pythonchallenge.com/

非常容易上瘾,并且是学习python的好方法


我很惊讶没有提到太空化学。使用符号进行编程,但是仍然可以进行编程。

http://spacechemthegame.com/


Colobot

如果您对Java基础有很深的了解,对于新程序员来说,通常很容易选择C ++之类的语言。 Colobot允许您使用几乎与Java相同的语言对自动化工艺进行编程,并移动,感知和操纵其环境,以完成在危险星球上的任务。


CEEBot是另一个不错的选择。它通过一种有趣的机器人编程游戏教授C / Java风格的编程。它针对10-15岁的孩子,但这是一个不错的选择。


如果您愿意研究Light Bot和Manufactoria等单人游戏,那么我强烈推荐RoboZZle。它具有条件命令,其中包括函数调用。这允许复杂的堆栈操作。从可悲的显而易见到令人难以置信的谜团,成千上万个用户创建的难题。他们最近增加了对智能手机的支持。

我也认为炼金工程法典值得一看。


我也很热衷于这类游戏。我使用的一个现代示例是http://www.robotbattle.com/。还有其他各种类型,例如http://www.google.com/Top/Games/Video_Games/Simulation/Programming_Games/Robotics/


当然,《核心战争》是经典之作。但是Rocky's Boots是另一个。想像!曾经有一段时间(1982年),您可以销售基于逻辑门的商业游戏!


我认为.NET Terrarium是.NET平台上最好的"学习程序"游戏之一。


我喜欢Ruby Warrior。它仍在开发中,但是它是一款具有巧妙界面的出色游戏。


还有mySQLgame,我发现它非常有趣(发现我很烂之后不久)。

这是休闲游戏必须说的。


Kara是关于编写各种版本的bug(!)的程序,例如有限状态机,Java,图灵机,多线程

卡拉http://www.swisseduc.ch/compscience/karatojava/kara/icons/kara-worldeditor.webp


Planetwars是专门为Google Ai竞赛编写的游戏,机器人控制着征服行星的舰队,它们支持多种语言


核心战争


我以前从未听过《 Core Wars》或《 Core Wars》,但看起来很有趣。不过,我必须担保RoboCode。这很有趣且充满挑战,特别是如果您有一群人互相竞争。


马特,我认为您所指的游戏是CRobots(也许是它的一个克隆版本,如果我没记错的话,我的第一个联系人是在Pascal的PRobots)。很好玩。


PlayStation的《屠杀之心》很有趣。它使您可以编程一些小程序来使用流程图进行战斗。

The Brain


虽然逻辑本身比编程本身要重要,但我在小学时真正喜欢的一个是Rocky's Boots。它具有传感器,"与"门,"或"门,非门,电线,计时器以及各种其他东西。教孩子逻辑的神奇程序。

转到链接,您仍然可以播放它!


我想说最著名的编程游戏就是核心战争。我不知道您是否仍能找到活跃的"环",尽管我前一段时间(4或5年)尝试过很多。


http://en.wikipedia.org/wiki/Hacker_(computer_game)

http://en.wikipedia.org/wiki/Hacker_2

还有一个很棒的黑客游戏,我简直不记得它的名字。嗯


我必须大声疾呼RobotWar,这是我在Apple II时代玩过的第一款编程"游戏"。它是由德军总部的西拉斯·华纳(Silas Warner)撰写的。


您一定在想RoboWar。哦,多么可爱。

尽管社区正在慢慢消失,但仍然存在。

http://robowar.sourceforge.net/RoboWar5/index.html
http://tech.groups.yahoo.com/group/robowar/


几个月前,我迷上了上行链路。它不是真正基于编码的,更多是黑客。它仍然很有趣而且超级怪异。


尽管不是严格基于编程的,但我还是很喜欢Robot Odyssey,该游戏中您将逻辑门连接到机器人中的传感器和电动机,以使其移动并对环境做出反应,以逃离城市,避开障碍物。我在Apple // e上玩过,这是该计算机上最好的游戏之一(使用Lode Runner!:-)。


还有赛车模拟器游戏TORCS,在该游戏中,除了典型的最终用户玩游戏(实际上是"驾驶"汽车)之外,您还可以对控制汽车的机器人进行编程。由不同人创造的机器人之间要进行定期比赛。


与此相关的另一个游戏是Origin的Omega。坦克是根据预算建造的,然后用户使用结构化编辑器以类似于BASIC的语言对其进行编程。战车在地形各异的战场上作战


我最喜欢的是90年代的PCRobots-您几乎可以使用任何可以编译DOS可执行文件的语言编写bot。在DOSBox中仍然可以很好地运行:)


欧米茄就是其中之一,我在C64上播放过:)


我玩过RoboWar,但是我记得在Mac上的编程游戏是Chipwits。它于1984年问世。完全图形化,但有趣。从我看到的Lego Mindstorms来看,编程风格是相似的。


对于现代等效语言,请查看CodeRally,这是Java编程的挑战,您需要编写一个类来控制赛车。汽车在轨道上行驶,试图击中检查点,在汽油箱电量不足时重新加油,并避开障碍物。我认为您可以向对手扔轮胎。您可以与几个将代码提交到中央服务器的玩家一起运行锦标赛。

IBM的高中拓展页面上还列出了其他几种编程游戏,包括其他人已经提到的Robocode。


我一直在尝试找到我在想的原始游戏-我认为它被称为"机器人或类似的东西",并在系统中运行了大约6天,然后又在Mac上运行了。下次我回到父母的地方时,我将不得不做一些挖掘工作。

在过去大约一天的时间里,我在想更多的事情,我想这与为bolo(http://www.lgm.com/bolo/)或为Quake和类似游戏的机器人而编写大脑并没有什么不同。


有一个西班牙语Java页面可以组织足球比赛,使用户可以编程自己的球队技能和策略。您只需要下载框架并实现一个小界面,然后就可以模拟屏幕上显示的匹配项。当您对自己的团队和策略感到满意时,您可以将代码提交到页面上并进入比赛。

教程,视频和下载:

爪哇杯


一个有趣的历史游戏是旧的《机器人奥德赛》,它实际上是一种游戏,您可以通过从门和触发器中构建逻辑电路来对机器人进行编程。十年后,当我参加真正的EE课程时,我清楚地记得了。


AI Bots II是程序员的游戏。而不是直接玩游戏,而是要求玩家编写一个程序来做。

在一个竞技场中,有两支球员(称为机器人)球队。每个团队需要一个程序,该程序的多个实例将控制该团队的每个玩家。
[...]
您使用C / C ++编写程序。
您的程序与游戏并行运行。

(直接从游戏首页复制了此说明)


到目前为止,我发现游戏Cells非常令人满意。

游戏的整个目标是对"蜂巢思维"进行编程,使其能够生存,繁殖和消灭敌人。

作者和各种贡献者提供了很多很好的"思想",通过查看它们可以很容易地写出其他东西。

但是,作者的进度似乎很慢-上一次提交大约是在一年前。


在Grobots中,您可以为军队中的各种类型的机器人提供一个程序(例如收集器,战斗机,建造者)。最好的是:它们可以复制。带有自己的编程语言。

enter image description here


游戏是《机器人大战》(Robowar)-我以前在大学玩过游戏。这是它的Wiki。我想它现在是开源的,可以在Windows上使用。


推荐阅读