Robot Warfare. Битва интеллектов.
__ Эпиграф: “Robot Warfare is a Russian invention, along with vodka and Tetris …” Sam James and Harry Fairhead, COMPUTER SHOPPER, December 1999 Мой робот будет лучшим. Я твердо знал это, когда создавал его. Я вложил в него душу. Я усилил его броню. Чтобы свалить с ног этого исполина, нужно было всадить в него с десяток ракет. Я увешал своего “Мамонта” пушками, и он должен был сносить врага ураганным огнем еще до того, как противник сможет понять, что же случилось. Я выпустил своего робота на арену… Этот стальной урод не смог сдвинуться с места. Тяжелая броня. Тяжелая артиллерия… Robot Warfare — российская игра. Игра, которую можно смело поставить в один ряд с “Тетрисом”. А ее разработчиков — с Пажитновым. Игра для истинных интеллектуалов. Битвы роботов! И не спешите проводить ассоциации с BattleTech или EarthSiege. В Robot Warfare неважно, насколько хорошо вы держите в руках мышку. Реакция здесь ни к чему. Главное — умение стратегически мыслить. Способность просчитывать все возможные ситуации. И… иметь хотя бы самые примитивные навыки в программировании. Идеальное место для тренировки будущих программеров. Если вы регулярно читаете “Самопал” , то нужные знания у вас уже есть и играть будет просто. Если “Самопала” вы не читаете, то посвятив пару часов изучению руководства, вы все равно научитесь играть. Добро пожаловать в мир Robot Warfare. Скрипты для стальной черепушки Суть игры, на первый взгляд, проста. Надо написать скрипт работы робота. Подключиться к серверу при помощи клиента (забирайте его с нашего компакта ), выбрать себе противников и… ваш скрипт схлестнется в битве со скриптами, написанными другими игроками. За боем можно наблюдать в режиме реального времени, но вот повлиять на исход битвы нельзя. Каков был скрипт, таков будет и результат сражения. Куда уж проще!
Но стоит вникнуть во все тонкости, как тут же откроется широчайшее поле для стратегических маневров. Цель — уничтожить робота-противника любым способом, используя заранее написанную программу на специальном языке RW1. Прямого участия в бою — как в каком-нибудь файтинге — вы не принимаете. Ваша задача — запрограммировать своего железного болвана так, чтобы он обладал качествами, позволяющими ему выйти победителем с кровавой (или что там у роботов вместо крови) арены. Помните игру “Жизнь”? Очень похоже, но куда более динамично и захватывающе. Программировать робота-специалиста в одной области не получится. Ведь вы не знаете, какой соперник вам выпадет. Поэтому придется придумывать робота-универсала. Такой должен уметь все. Сначала создаете скрипт хождения и стрельбы. Это самое простое, ведь эти части кода одинаковые почти для всех роботов. Единственное место в игре, где лучше не умничать. А когда робот научится ходить и стрелять, можно приступать к тонкостям — обхождение препятствий на дороге , энергозарядка , сбор патронов… На каждое действие пишется свой скрипт. Комбинаций — тысячи тысяч. Основная задача — создать лучшую. Это как в эволюции — выживет лишь сильнейший. Конечно, можно не создавать своих скриптов. Более того, поначалу просто придется часть кода оставлять “выставленным по умолчанию”, ведь вы еще не асс. Но оставить стандартные скрипты — значит обречь своего робота на поражение. Ваш робот застрянет, воткнувшись в первую попавшуюся на пути колонну, не сможет найти на арене магазин с патронами, а исчерпав заряд аккумулятора, не отыщет розетку и рухнет без движения к ногам довольного оппонента. Поэтому с каждым боем вы будете выискивать недостатки своего робота и придумывать скрипты, эти недостатки устраняющие. Робот из никчемного Kick Me (“Ударь меня”) начнет превращаться в Мега-Убийцу. А как увлекательны командные побоища! Вот тут можно создавать робота-специалиста. Договариваетесь с товарищами по команде и создаете суперскоростного робота. А кто-то создает неприступную крепость с кучей пушек, под прикрытием которой все воюют. А кто-то делает робот-радар, способный засечь противника на дальней дистанции. Как в муравейнике: каждый выполняет строго ему отведенное задание. Но вместе получается полноценный организм. Смертельно опасный организм. Удар железной клешни Бои проходят на
специальных аренах, величина которых зависит от количества участвующих. Поле разделено на клетки. Клетка может быть как пустой (по ней может проехать робот), так и занятой каким-либо объектом. Всего таких объектов семь: яма , камень , ящик c патронами , подзарядка , летящий снаряд , сам робот и робот из дружественной команды (цифры от 1 до 7 соответственно). Графика в игре условна — пиксельная вакханалия системы “увидел — меня стошнило”. Так что фанатам новомодных эффектов GeForce 4 лучше в игру не соваться. В Robot Warfare главенствует идея. Идея и сила интеллекта. У каждого робота на теле имеется четыре места для посадки пушек или глаз, а также слот под один радар. Из пушек робот стреляет, глазами он анализирует ближайшую клетку (куда можно поехать, а куда нельзя), а радаром — обнаруживает любой требуемый объект на заданном радиусе. У радара есть один недостаток — при его использовании жизненная
энергия стального воина постепенно понижается. На каждое посадочное место можно приспособить целых четыре пушки, но тогда робот потеряет в скорости. Если точнее, то будет просто стоять недвижимым и обстреливать проезжающих мимо соперников. Такому воину на арене долго не выжить. Если забить все слоты глазами — будет обзор на 360 градусов. Очень здорово, но вот на пушки места уже не останется. Придется носиться по арене, надеясь, что соперники поубивают друг-друга, а вы выйдете победителем. Шансов на это… эээ… немного. Для начала оптимальный вариант — два оружия, два глаза. Позже, когда вы научитесь писать замысловатые скрипты, вы можете поэкспериментировать. Создать, скажем, робота с тремя глазами и одной пушкой. Получить эдакого “Черного Плаща”, который станет “резинкой в трусах” оппонентов, будет носиться по арене с огромной скоростью и по чуть-чуть отъедать жизни у противников. Но чтобы ваш робот не попал под обстрел врагов, нужен ОЧЕНЬ умный скрипт передвижения. А можно создать робота-крепость. Эдакий Карс в условиях виртуальности. Три пушки, всего один глаз и… Очень мощный скрипт, заставляющий робота постоянно вращаться, чтобы увеличить угол обзора и не попасть под обстрел врага, зашедшего с тыла. Более подробно о нюансах можно прочесть в правилах. Профи класса А Ну и, наконец, о том, как поучаствовать в боях. Для того чтобы влиться в мир роботостроения и роботовойн, нужно скачать клиент с сайта http://robots.chat.ru или взять его с нашего компакта. Изучаете полный список команд языка RW1 и правила игры (собственно, вы их уже и так почти все знаете). Создаете свой скрипт, отправляете созданный код на e-mail создателям, и в кратчайшие сроки ваш робот получит путевку в лигу класса C. Сумеете занять там любое из первых трех мест — будете допущены к сражениям класса B. Самая сложная лига — класса A, там сражаются истинные профессионалы, владельцы роботов c идеально отточенным кодом. Надеемся, что у вас получится самый умный и самый мощный робот, который с легкостью заткнет за пояс любого другого. Удачных схваток! Робот первый мой Если хотите начать играть сразу, то вот вам код простейшего робота. Побеждать с таким будет сложно, но играть — вполне реально. % ================= WSIMPLE.RW1 ================== % Пример простейшего % робота с одним глазом % и одной пушкой. % Запуск: RW1_DUEL.EXE WSIMPLE.RW1 ROBOT “WinSimple Robot” % название COLOR FFD010 % цветовая окраска FRONT EYE % сзади глаз LEFT GUN % слева пушка START: ACT FRONT % Смотрим вперед IF N!=6 : L1 % Если впереди робот, то RIGHT ACT LEFT % стреляем LEFT GOTO START L1: IF N!=3 : L3 % Если впереди ящик со снарядами, то STEP % идем вперед GOTO START L3: % Если впереди нет ни ящика, ни робота, то % это значит, что по направлению движения % какая-то преграда. IF D==1 : L4 % Если расстояние до нее больше 1, то STEP % шагаем вперед GOTO START L4: RIGHT % Если преграда в следующей клетке, GOTO START % то поворачиваемся направо END