В данном топике я попытаюсь сравнить некоторые из игр для программистов.
- Colobot
- CeeBot
- Terrarium
- Robocode
- Evole
- DarwinBots II
- breve
Более подробное описание для игр Colobot/CeeBot можно прочитать
здесь, про Robocode
здесь, про CoreWars
здесь.
Небольшое описание каждой из игр
Colobot — программист управляет астронавтом, программы мы пишем для роботов, спектр задач от «пойди принеси» до «найди и убей».Цель выполнять различные миссии.
CeeBot — старший брат Colobot'а, теже разработчики, но больше возможностей, данная игра нацелена на обучение программированию, имеет несколько версий нацеленых на разный возрастной контингент.Цель выполнять различные упражнения.
Terrarium — программист создает своё животное, подконтрольные параметры от скорости, силы атаки, дальности зрения до алгоритмов поведения. Цель создать наиболее живучий организм.
Robocode — программируем свой танк, наша цель выжить и изжить противника.
Evolve — моделирование искусветнной жизни, программируем наш организм, который будет размножатся, умирать, изменятся.
DarwinBots II — Аналогично Evolve программируем свой организм, как пишут авторы, данную программу можно считать «ALife version of C Robots».
Breve — пакет для моделирования децентрализованных систем и искуственной жизни(Alife), имеет свой язык «steve», также поддерживает Python (чем сообственно может быть интересным), на нем же и написан.
Сравнение
Для тех у кого таблица выглядит криво, есть
копия на docs.google.com
| ¶ |
Colobot |
Ceeboot |
Terrarium |
Robocode |
Evolve |
DarwinBots II |
breve |
| Лицензия |
Shareware |
Shareware |
Своя лицензия |
Common Public License 1.0 |
Своя лицензия(указана на заглавной странице) |
Своя лицензия |
GPL |
| Цена |
68 $ or 47 € |
68 $ or 47 € |
- |
- |
- |
- |
- |
| Сайт |
Link |
Link |
Link |
Link |
Link |
Link |
Link |
Развивается
ли проект? |
- |
+ |
+ |
+ |
- |
+ |
Последняя версия
вышла 02/25/2008 |
Текущая
версия |
1.8 |
2.0.002 |
2.0 |
1.7.1.3 Beta |
4.8e |
2.44.1 |
2.7.2 |
| Жанр |
3D RTS |
Logical,
Education |
Alife |
Programing game |
Alife |
Alife |
Simulation |
| Язык |
Свой язык
синтаксис схож с
С++ и Java |
Свой язык
синтаксис схож с
С++ ,Java,C# |
C# |
Java |
Свой язык
KFORTH |
Свой язык |
Python,”steve” |
| Open Source |
- |
- |
+ |
+ |
+ |
+ |
+ |
| Локализация |
Английский,
польский,
французский,
русский |
Английский,
французский,
немецкий |
Английский |
Английский |
Английский |
Английский |
Английский |
Наличие
визуализации |
3D мир |
3D мир |
2D арена |
2D арена |
2D,3D
Простые
формы |
2D Простые
формы |
3D
визуализация |
Возможность
соревнования
между
ботами |
- |
+ |
+ |
+ |
+ |
+ |
+ |
Возможность
соревнования
между
ботами и
людьми |
- |
+ |
- |
- |
- |
- |
- |
Поддержка
Windows |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
Поддержка
Linux |
- |
- |
- |
+ |
+ (консольная
версия) |
- |
+ |
Поддержка
Mac |
- |
- |
- |
+ |
- |
- |
+ |
P.S. Это мой первый хабратопик, поэтому просьба указать на недостатки и ошибки в личку или аську. Так же хотелось бы услышать какие критерии стоит добавить, и какие игры по вашему мнению необходимо добавить в сравнение.
UPD Спасибо пользователю
shx , указал на ошибку Robocode работает под Mac, про Evolve, такого на сайте не сказано, прошу прощения, запутался при верстке.
UPD.2 Спасибо пользователю
Yizahi за идею с docs.google.
_________
Текст подготовлен в
ХабраРедакторе
комментарии (57)
Colobot — игра, которая прекрасно подойдет для начала обучения вашего чада программированию, в отличии от того же самого Robocode.
К сожалению, игра как-то потерялась в интернете. В гугле ещё живут посты на форумах автора GreenTea, но все они ведут уже на не рабочие сайты.
Может вдруг автор увидит данный коммент на хабре и возродит проект. Очень бы хотелось онлайн-баталий.
.Как написано на офф. сайте.
Благо, карма уже позволяет.
Трудитесь! Задумка хорошая.
Вот оф. сайт www.bluefire.nu/droidbattles/, а вообще есть в репозитории дебиана)
футбол роботов на компьютере (robocup.org), команды мультиагенты. Кстати, давно мечтал — создать команду… а то там доминируют в основном иранские и немецкие и португальские команды (вроде бы так...). Если кому интересна тема robocup, а именно создание команды (создадим вместе основу, а там возможны ответвления — в зависимости от желания), пишите lnn1974()gmail.com. А там глядишь и свой чемпионат забубухаем!
правда обе они представители скорее casual games.
Если вам интересна эта таблица, могу отослать вам копию в *.odt.
Можно в гугле — docs.google.com/, можно в альтернативном варианте (Zoho и др.).
Те это видимо нечто вроде Robocode, но что бы несколько сущностей были совешенно разными, но играть могли сообща.
для унификации выдавать пользователю (или группе ) свой открытый порт + пароль…
а арена — шаблонизированный вывод работы этих демонов… тут можно визуализации под api…
Название: GalaxyFX
Язык: JavaFX script, Java
Адрес сайта: www.electricjungle.ru/galaxyfx
задание походило на Mars Explorer Experiment, что описал Steel. конечно же можно было следовать и своим идеям.
в общих чертах Mars Explorer Experiment выглядит так: есть стационарный корабль-матка издающий радиосигнал, есть свора из автономных роботов, которые словно scv терранов тусуются по поверхности планеты и собирают для матки минералы. по радиосигналу эти машины определяют угол к кораблю-матке. ещё они могут срать кирпичами^H ^H^H^H^H^H раскидывать радиоктивные плюшки с короткоживущим изотопом. плюшки можно так же находить и собирать, и тем самым взаимодействовать с остальным роем. (вроде муравьиного феромона). сенсоры роботов конечно ограничены, и помимо плюшек и минералов различают ещё и препятствия, которых (в нашем случае) на марсе огромное множество в виде стен и… стен. так же наши агенты-тараканы имели голод/заряд, который нет-нет да подпитывали поеданием минералов.
мы программировали layered behaviour этих агентов более или менее простыми действиями с разными приоритетами. это походит на планировщик задач и nice. ) вот пример:
randomWalkBehaviour set-level to 100.
followTrailBehaviour set-level to 90.
turnAwayBehaviour set-level to 80.
aimFoodBehaviour set-level to 70.
pickupBehaviour set-level to 60.
carryHomeBehaviour set-level to 50.
dropFoodBehaviour set-level to 40.
collisionBehaviour set-level to 30.
eatFoodBehaviour set-level to 20.
deadBehaviour set-level to 10.
и к примеру само поведение:
SubsumptionBehaviour: СollisionBehavior {
+ variables:
+ to init:
self set-name to «CollisionBehavior».
+ to check-if-fires for-agent theAgent (object):
if (theAgent wall-collided):
{
#theAgent set-color to (1.0, 1.0, 0.2).
theAgent set-label to «X».
return 1.
}
if ((theAgent get-globalTicks) % 5):
theAgent set-label to (theAgent get-number).
#theAgent set-color to ((theAgent get-team) get-teamcolor).
return 0.
+ to fire for-agent theAgent (object):
#theAgent decelerate.
theAgent relative-rotate around-axis (0,1,0) by (random[2 * 3.141]).
#print «Collided!!!».
}
ох, какой большой пост получился! если кому интересно, могу написать коротко о двух или трёх хитрых тактиках моих сокурсников.
что-либо особо интересное (к примеру интереснее, чем то, что интерпретатор бывало полностью рушился при прерывании программы нажатием кнопки «стоп» ) по бреве я сейчас не вспомню, так как прошло уже более двух лет.
интерес к курсу у меня появился не из-за бреве, о боже, а скорей всего из-за быстрых видимых результатов и большой мотивации доцента, который сделал предварительную работу, написал скелет кода, набил прототипы.
Раз вы хотите организовать «стартап» посвященный игре для программиста, сразу скажу: Мы на работе недавно хотели разработать такой проект. Для начала просто для себя, а потом когда выйдет нормальная версия провести достойную олимпиаду среду школьников/студентов. На данном этапе все находится пока на стадии обсуждения, но если вы действительно будете разрабатывать нечто такое, то с удовольствием выступлю как консультант или тестер (возможно даже всем отделом).
Имеется достаточное количество предварительных требований для игры:
1. Проведение открытых/закрытых турниров.
2. Возможность просмотра игр всеми участниками в реал-тайме или в записи, но главное хорошая визуализация.
3. Поддержка различных ЯП. Как не прискорбно, но одно из требований это Object Pascal.
4. и т.д.
Очень хотелось бы быть в курсе ваших начинаний или успехов.