Robot Warfare 1 - на мой взгляд, одно из ярчайших достижений отечественного "бесплатного игростроения", которое вполне может дать фору зарубежным аналогам. К сожалению, сегодня игра предана забвению, а ведь когда-то, во времена зарождения отечественного интернета в конце 1990-х, она произвела немало шуму. Конечно, стоит сразу оговориться, что речь идет о весьма специфическом жанре "игр с программированием", где основной игровой процесс заключается в написании алгоритма поведения роботов в сражениях на специальных аренах (в данном случае речь идет о дискретном поле "из клеточек"). Поэтому среди начинающих программистов подобное развлечение, да еще и с описанием на русском языке, стало настоящим откровением. В нашей школе в старших классах на какое-то время "заболели" этой игрой практически все.
Конечно, сейчас мы уже знаем, что игра является лишь развитием идей, заложенных многочисленными первопроходцами "программируемых сражений роботов". Список даже самых известных и популярных представителей этих игр можно долго перечислять: RobotWar (изначально появившаяся в 1970-х для платформы PLATO, затем изданная Muse Software, Apple II, 1981), Crobots (C++, 1985), Robot Battle (Mac, 1991, собственный язык), RoboWar (Mac, 1992, собственный язык, похожий на FORTH), Robot Battle (DOS - 1994, Windows - 2002, собственный язык) и др. Но простота и возможность запуска на обычных ПК (IBM-PC-совместимых), а не экзотических "яблоках" или Unix'ах позволили творению Александра Шабаршина сформировать собственное небольшое комьюнити фанатов, которые выкладывали своих роботов в Интернет и устраивали между ними дуэли, и даже получить лестные отзывы как в отечественной ("Хакер", "Игромания"), так и в зарубежной прессе.
Robot Warfare 1 сразу, по-видимому, предполагалась "долгоживущим" проектом, о чем можно догадываться по цифре "1" в названии, однако второй части так и не суждено было увидеть свет (прототип новой игры под названием RW3D, следы которого можно найти в Интернете, так и не получил дальнейшего развития). Тем не менее RW1 развивалась довольно долго (с конца 1998-го по начало 2003-го года), и интерес представляют в той или иной мере несколько ее вариаций:
Про язык программирования подробно здесь писать, пожалуй, будет лишним: гораздо лучше о нем даст представление руководство, приложенное к дистрибутивам ("Правила").
Кратко лишь поясню основы: прямоугольная арена, где размещаются сражающиеся роботы, состоит из следующих типов клеток - пустая (можно перемещаться), камень, яма (в нее можно упасть и умереть), реактор (можно взорвать), дополнительные снаряды (изначально каждому роботу дается 5 снарядов для пушки). Каждый робот занимает одну клетку и на каждой из своих четырех сторон может иметь глаз или пушку (можно оставить сторону и пустой). Перемещаясь по алгоритму, заданному в программе, он должен собирать снаряды и уничтожать противников так, чтобы при этом не взорваться самому и не провалиться в яму. Алгоритм состоит из опроса "глаз" и чтения специальных "регистров", которые позволяют роботу понять, что же перед ним и на каком расстоянии, и принять решение о следующем шаге (движение, выстрел или поворот).
Визуализатор - довольно условная графика в VGA-режиме, но функцию свою выполняет: можно понять, где какой робот (каждый робот имеет собственное изображение), какое у них число патронов, сколько прошло временных отсчетов (максимально бой продолжается 10000 отсчетов).
Несмотря на простоту, особенно в ранних версиях, благодаря которой в игре сможет разобраться и старшеклассник, RW1 предоставляет широкое поле для экспериментов, а если есть несколько игроков - то еще и возможность помериться друг с другом интеллектом, при этом получив море удовольствия.
Конечно, сейчас мы уже знаем, что игра является лишь развитием идей, заложенных многочисленными первопроходцами "программируемых сражений роботов". Список даже самых известных и популярных представителей этих игр можно долго перечислять: RobotWar (изначально появившаяся в 1970-х для платформы PLATO, затем изданная Muse Software, Apple II, 1981), Crobots (C++, 1985), Robot Battle (Mac, 1991, собственный язык), RoboWar (Mac, 1992, собственный язык, похожий на FORTH), Robot Battle (DOS - 1994, Windows - 2002, собственный язык) и др. Но простота и возможность запуска на обычных ПК (IBM-PC-совместимых), а не экзотических "яблоках" или Unix'ах позволили творению Александра Шабаршина сформировать собственное небольшое комьюнити фанатов, которые выкладывали своих роботов в Интернет и устраивали между ними дуэли, и даже получить лестные отзывы как в отечественной ("Хакер", "Игромания"), так и в зарубежной прессе.
Robot Warfare 1 сразу, по-видимому, предполагалась "долгоживущим" проектом, о чем можно догадываться по цифре "1" в названии, однако второй части так и не суждено было увидеть свет (прототип новой игры под названием RW3D, следы которого можно найти в Интернете, так и не получил дальнейшего развития). Тем не менее RW1 развивалась довольно долго (с конца 1998-го по начало 2003-го года), и интерес представляют в той или иной мере несколько ее вариаций:
- RW 1.9 - версия под MS-DOS с поддержкой Sound Blaster. В ней можно устраивать дуэли, но лишь 1 на 1. Кроме того, скорость даже в "быстром режиме" у меня оказывается какой-то вялой.
- RW 1.99 - версия под MS-DOS, являющаяся продолжением предыдущей. По всей видимости, самая "каноническая", в которую я и играл когда-то. Есть возможность устраивать дуэли с большим количеством роботов, скорость в быстром режиме действительно шустрая. Из звуковых опций - только поддержка PC Speaker.
- RW 2.1.1 (beta2) - версия под Windows. Несколько "сырая", но в целом - работоспособна даже под Windows 10. Язык теперь больше похож на Си, чем на BASIC. При запуске визуализатора из редактора есть даже музыка!
Про язык программирования подробно здесь писать, пожалуй, будет лишним: гораздо лучше о нем даст представление руководство, приложенное к дистрибутивам ("Правила").
Кратко лишь поясню основы: прямоугольная арена, где размещаются сражающиеся роботы, состоит из следующих типов клеток - пустая (можно перемещаться), камень, яма (в нее можно упасть и умереть), реактор (можно взорвать), дополнительные снаряды (изначально каждому роботу дается 5 снарядов для пушки). Каждый робот занимает одну клетку и на каждой из своих четырех сторон может иметь глаз или пушку (можно оставить сторону и пустой). Перемещаясь по алгоритму, заданному в программе, он должен собирать снаряды и уничтожать противников так, чтобы при этом не взорваться самому и не провалиться в яму. Алгоритм состоит из опроса "глаз" и чтения специальных "регистров", которые позволяют роботу понять, что же перед ним и на каком расстоянии, и принять решение о следующем шаге (движение, выстрел или поворот).
Визуализатор - довольно условная графика в VGA-режиме, но функцию свою выполняет: можно понять, где какой робот (каждый робот имеет собственное изображение), какое у них число патронов, сколько прошло временных отсчетов (максимально бой продолжается 10000 отсчетов).
Несмотря на простоту, особенно в ранних версиях, благодаря которой в игре сможет разобраться и старшеклассник, RW1 предоставляет широкое поле для экспериментов, а если есть несколько игроков - то еще и возможность помериться друг с другом интеллектом, при этом получив море удовольствия.
- Перспектива:
Вид сверху - Способ распространения:
Shareware - Страна или регион происхождения:
Отечественная разработка - Язык:
English
Все составляющие для этого есть:
- асм-подобный язык со всеми вытекающими радостями работ с битовыми масками и логическими операциями
- фактически есть ограничение по количеству тактов (=исполняемых команд). Нет, конечно, можно было расписать логику очень и очень подробно - но тогда робот будет долго думать и его грохнут.