В связи с реанимацией моего проекта Robot Warfare 1, хотел
бы пригласить всех присутствующих сетян к обсуждению реальной
PBEM на основе RW1.
Первоначальная идея такой модификации была выдвинута
T.Rec.(Yury Kornukhin) более двух лет назад, а я оформил
эту идею сообразно своим личным представлениям и предпочтениям:
Экономическая модификация игры RW1+ должна стать полноценной PBEM.
Правила пока не доведены до ума и все нижеизложенное есть пока
ТОЛЬО ПРОЕКТ. Адрес почтового робота: rw...@shaos.ru
Регистрация в обеих играх (RW1 и RW1+):
Subject: REG:name
(только для новых игроков)
Добавление робота в базу роботов RW1:
Subject: RW1:name
В теле письма допускается лишь один робот в одном из двух видов:
а) текст робота (на RW1)
б) код робота (RW0) с UU-кодированием
в) код робота (RW0) c base64-кодированием (MIME)
Удаление робота из базы роботов RW1 (и из игры RW1+ соответственно):
Subject: DEL:robot.rw0
письмо должно быть послано точно с того же адреса,
откуда осуществлялась регистрация игрока;
команда на удаление робота из класса А игнорируется
из игры RW1+ робот удаляется лишь после проведения еще одних
соревнований (чтобы не вызвать изменение состава класса в период
между соревнованиями)
Отправка письма любому игроку RW1:
Subject: MAIL:name
тело этого письма будет перенаправлено игроку name, в том случае,
если такой игрок будет зарегистрирован в игре RW1,
и если обратный адрес будет соответствовать адресу реального
игрока RW1, причем в текст письма будет вставлена строка
FROM псевдоним_игрока_отправителя
Управление процессом игры RW1+:
Subject: RW1+:name
В теле письма располагаются команды, по одной в строке:
% комментарий (на всякий случай :-)
ADD robotname
Добавление робота из базы роботов RW1 в предварительный список
игры RW1+. Причем добавляемый робот должен уже сыграть как минимум
один раз в обычной игре. Из предварительного списка робот помещается
в последний класс лишь после проведения одного соревнования RW1+
(для предсказуемости состава последнего класса).
DEL robotname
Удаление робота из игры RW1+ (но не из RW1).
Робот удаляется лишь после проведения еще одних соревнований
(чтобы не вызвать изменение состава класса в период между
соревнованиями).
USE s e/m FOR robotname
Использовать схему s автоматического распределения ресурсов,
причем e/m - максимальные разрешенные значения энергии и снарядов
в одном бою. Схемы автоматического распределения ресурсов :
0 - экономия (режим по умолчанию - 5/5 на каждый бой)
1 - равномерная (не более e/m на каждый бой)
2 - ва-банк (e/m против лидера, 5/5 для остальных)
3 - прорыв (e/m против трех первых, 5/5 для остальных)
4 - оборона (e/m против трех последних, 5/5 для остальных)
Также можно использовать и ручное управление распределением
TABLE FOR robotname % заголовок таблицы ручного распределения по боям
e/m VS robotname1 % строки с указанием того, сколько единиц энергии
e/m VS robotname2 % и снарядов использовать против конкретного робота
... % в классе (конечно если этот робот там есть)
MAP Value R
Проголосовать за номер карты Value, поставив R денег
Сервер всегда будет ставить 100 рублей на 0.DDMMYYYY
Чем больше денг поставлено на номер, тем больше
вероятность его выбора.
SET robotname N R
Проголосовать за то, чтобы робот robotname занял место N
(1 или 2) в строке параметров RW1_DUEL, поставив за это R денег
END
Конец приказа. Все что будет в письме далее - игнорируется
Игроку, таким образом, разрешается участвовать или только в RW1, или
в RW1 и в RW1+ (т.е. всегда известны способности робота). В ответ на приказ,
почтовый робот присылает подробную таблицу распределения энергии, снарядов
и денег по боям и отельным роботам. Имя робота robotname - имя файла робота
(name.rw1 или name.rw0). Добавление робота осуществляется однократно.
Размер класса - 16 роботов (от 10 до 25 в последнем классе). Из последнего
класса робот вылетает, если у него заканчиваются деньги. В отличие от
традиционной модели игры RW1, в RW1+ роботы воюют каждый с каждым по
ОДНОМУ разу, причем на первое место в командной строке ставится робот,
либо поставивший больше денег, чтобы занять данное место, либо стоящий
выше в списке роботов данного класса. В одном письме можно управлять
распределением ресурсов нескольких роботов из нескольких классов.
Допускается совместное использование автоматического и ручного распределения
ресурсов для одного робота (сначала автоматическое, потом ручное).
Допустим назовем виртуальные деньги рублями.
Стоимость единицы энергии - 2 рубля, одного снаряда - 1 рубль.
Одно очко дает 10 рублей в последнем классе, 20 в предпоследнем, 30 и т.д.
Перед каждым боем робот бесплатно получает 5 едениц энергии и 5 снарядов,
причем их можно не использовать, это повлечет прибавление к кошельку
игрока 15 рублей. Команды взаимодействия между роботами используются
в полном объеме, кроме того свой робот (т.е. того же автора) видится
как объект 7. Так как используется схема без "сквозных" роботов и роботы,
помеченные как удаленные, удаляются только после проведения соревнований,
то состав класса вполне можно предсказать, кроме того можно отправить
для начала самый простой приказ, состоящий лишь из слова END.
Почтовый робот посчитает, что нужно установить 5/5 на каждый бой
(режим экономии) для всех роботов игрока и пришлет списки тех классов,
в которых участвуют роботы игрока с соответствующими расчетами.
После этого, когда игроку станет виден состав классов, он сможет
отправить другой приказ. В момент соревнований будет действителен
последний пришедший приказ.
Приглашаю всех заинтересованных в этой модификации принять участие
в окончательном обсуждении правил RW1+ в нашем списке рассылки
rw...@yahoogroups.com (подписка - rwar-su...@yahoogroups.com)
или форуме на сайте http://shaos.ru/robots
Alexander Shabarshin (sh...@mail.ru)
P.S. Был бы рад, если бы обсуждение происходило в рамках
данной конференции relcom.games.pbem
P.P.S. Буду благодарен, если сей документ кто-нибудь запостит
в фидошные эхи, близкие к теме разговора!
---
Wednesday, January 09, 2002, 5:12:18 PM, "Alexander A. Shabarshin" wrote:
AAS> В связи с реанимацией моего проекта Robot Warfare 1, хотел
AAS> бы пригласить всех присутствующих сетян к обсуждению реальной
AAS> PBEM на основе RW1.
Судя по отсутствию откликов, это сообщение почему-то не заметили.
Я, кстати, тоже только сейчас его обнаружил. Видимо время года для
постинга было выбрано неудачное. :)
Попробую напомнить о чем речь.
Robot Warfare 1 - это борьба роботов, написанных на несложном
специализированном языке (команды типа двигаться вперед, повернуть,
стрелять, смотреть, проверить результат...). На карте (полигоне) есть
препятствия, источники энергии (для защиты и радара) и боеприпасов.
Битву можно посмотреть во всех подробностях. При хороших роботах или
когда робот свой, схватки бывают весьма зрелищными и захватывающими. :)
На сервере роботы разбиваются на группы по силе. Для перехода в
верхнюю группу надо оказаться в тройке лучших в своей группе, чтобы
упасть вниз - в тройке худших.
Естественно, ведется рейтинг.
Сейчас в эту игру вводится экономика (RW1+): победы оплачиваются,
на выигранные деньги можно покупать стартовые энергию и боеприпасы,
что должно существенно повысить шансы на победу в схватке, и заказать
определенную карту - на которой ваш робот действует эффективнее
всего или на которой сложнее придется наиболее неприятному вашему
противнику.
При разумном использовании и кооперации это позволит более надежно
удерживаться в своей группе или даже пробиваться в следующую, победы
в которой лучше оплачиваются.
Можно, например, действовать в одиночку: посидеть подольше в своей
"естественной" группе, отражая только атаки тех, кто пытается тебя
вытеснить, накопить побольше денег и потратить их на то, чтобы
победить большинство противников в своей группе, затем в следующей
и может быть стать чемпионом. Другие игроки этому, естественно,
попытаются помешать. Победит тот, кто действует более ловко и точно.
Поскольку битвы на определенных картах можно просмотреть заранее, а
выбор этих карт можно выкупить, то при достаточном количестве денег
побеждать можно довольно надежно. (Правда, судя по правилам, карту
можно заказывать только на соревнование целиком; я бы предложил - на
каждую схватку. Это должно существенно расширить возможности слабых
роботов без нарушения баланса, так как у них успех может быть лишь
временным - пока не кончатся деньги)
Введение дипломатии, позволит нескольким игрокам объединяться и
осуществлять подобные операции поддерживая друг друга. При этом,
естественно, возникают какие-то отношения между игроками, дружба,
личные счеты, альянсы, а то и кланы...
Главным, конечно, остается качество робота. Хороший робот даже
без специальных усилий должен неплохо зарабатывать, иногда даже
занимая свое "естественное" место в иерархии роботов. Но экономика
и дипломатия вводят в игру дополнительные возможности и интригу,
делая ее менее предсказуемой, более интересной.
Более подробную информацию, очевидно, можно добыть с
http://shaos.ru/robots. Или есть смысл повторить исходное сообщение
Александра Шабаршина (ГМа RW)?
T.Rec.
---
Yury Kornukhin
mailto:ke...@ieie.nsc.ru
Мне непонятна немного идея разработки собственного байт-кода для создания
переносимых версий RW
Почему не использовать Java?
XaMeJIeoH wrote:
> > Wednesday, January 09, 2002, 5:12:18 PM, "Alexander A. Shabarshin" wrote:
> > AAS> В связи с реанимацией моего проекта Robot Warfare 1, хотел
> Отклик так отклик. :)
>
> Мне непонятна немного идея разработки собственного байт-кода для создания
> переносимых версий RW
> Почему не использовать Java?
Потому что байт-код RW0 был рассчитан (в 1998 году) на использование
на максимально большом количестве платформ, начиная самыми слабыми
(например ZX-Spectrum и Palm), а на них Java неприменима :)
Кроме того нужно было создать максимально простую реализацию байткода,
что успешно было сделано. Реализация оказалась настолько простой, что
3 человека в разное время и независимо дург от друга, не имея спецификации,
сумели разобраться и написать декомпиляторы из RW0 в RW1. В настоящий
момент спецификация открыта, но декомпиляторы мало кому помогут,
потому что в версии 2.0 компилятора появилась такая вещь как препроцессор,
превращающий синтаксис, похожий на С, в простую нотацию, котрую
и выдают декомпиляторы. Из этой нотации алгоритм выловить очень тяжело.
В настоящий момент имеется транслятор из байт-кода в язык ассемблера
процессоров i8080, z80, 68030 и вскоре появится виртуальная машина RW0,
написанная на языке RW1 :)
Alexander Shabarshin (sh...@mail.ru)
Monday, March 18, 2002, 9:05:37 AM, XaMeJIeoH wrote:
X> Мне непонятна немного идея разработки собственного байт-кода для создания
X> переносимых версий RW Почему не использовать Java?
Это о чем? Об RW0 или о кросстрансляторах? RW0, насколько я понимаю,
исходно использовался не для переносимости, а как способ хранения
квази-откомпилированной программы на очень специализированном языке.
То есть на JAVA его все равно придется читать и интерпретировать. :)
Поправка.
Saturday, March 16, 2002, 12:17:47 PM, me wrote:
TR> http://shaos.ru/robots. Или есть смысл повторить исходное сообщение
TR> Александра Шабаршина (ГМа RW)?
Оказывается, я неточно указал адрес.
AS> вместо shaos.ru/robots надо писать robots.shaos.ru
AS> или shaos.ru/robots.htm (что собственно одно и тоже :)
Alexander Shabarshin wrote:
> Hello
>
> XaMeJIeoH wrote:
>
> > > Wednesday, January 09, 2002, 5:12:18 PM, "Alexander A. Shabarshin" wrote:
> > > AAS> В связи с реанимацией моего проекта Robot Warfare 1, хотел
> > Отклик так отклик. :)
> >
> > Мне непонятна немного идея разработки собственного байт-кода для создания
> > переносимых версий RW
> > Почему не использовать Java?
>
> Потому что байт-код RW0 был рассчитан (в 1998 году) на использование
> на максимально большом количестве платформ, начиная самыми слабыми
> (например ZX-Spectrum и Palm), а на них Java неприменима :)
Во первых, а что? У кого-то есть живой ZX-Spectrum? В музей продашь?
А второе, что-что ты там сказал про Java & Palm???
А с чем же я тогда имел дело недавно?
Sergey Kuksenko wrote:
> > Потому что байт-код RW0 был рассчитан (в 1998 году) на использование
> > на максимально большом количестве платформ, начиная самыми слабыми
> > (например ZX-Spectrum и Palm), а на них Java неприменима :)
>
> Во первых, а что? У кого-то есть живой ZX-Spectrum? В музей продашь?
см relcom.comp.speccy, comp.sys.sinclair,
fido7.zx.spectrum, fido7.real.speccy
http://www.pos.izhnet.ru
http://www.petersplus.ru
>
> А второе, что-что ты там сказал про Java & Palm???
> А с чем же я тогда имел дело недавно?
Я не говорю про урезанные версии Java - их то как раз
на палмах хватает
http://www.javable.com/columns/mobile/workshop/01/
они не совместимы с джавой
Platform Micro Edition - фигня :)
несовместимое API, урезанный байт-код и т.д.
Полноценная поддержка виртуальной машины джава в Palm невозможна
Alexander Shabarshin (sh...@mail.ru)
P.S. Начали плодить оффтоп, поэтому предлагаю вернуться к начатому -
PBEM с RW1 роботами и экономической подсистемой :)
"T.Rec." wrote:
> Всем привет!
>
> Поправка.
> Saturday, March 16, 2002, 12:17:47 PM, me wrote:
> TR> http://shaos.ru/robots. Или есть смысл повторить исходное сообщение
> TR> Александра Шабаршина (ГМа RW)?
>
> Оказывается, я неточно указал адрес.
> AS> вместо shaos.ru/robots надо писать robots.shaos.ru
> AS> или shaos.ru/robots.htm (что собственно одно и тоже :)
На самом деле виноват я :)
В самом первом моем постинге адрес был неточно указан
так что http://robots.shaos.ru
XaMeJIeoH wrote:
Короче боевых роботов писать на Java бессымсленно :)
Поэтому игорки пишут их на языке RW1, который был
специально для этого создан
Alexander Shabarshin wrote:
> P.S. Начали плодить оффтоп, поэтому предлагаю вернуться к начатому -
> PBEM с RW1 роботами и экономической подсистемой :)
Так гдеж еще можно пообсуждать различные проблемы с умными людьми как не
здесь?
самое ценное в r.g.p - оффтопики. :)
Tuesday, March 19, 2002, 1:15:30 PM, XaMeJIeoH wrote:
>> То есть на JAVA его все равно придется читать и интерпретировать. :)
X> Гм а компилировать в java?
Про это не знаю. Но как подумаю, сколько это всего надо полностью
переделывать, мне, обленившемуся, плохо становится.
С другой стороны, PDF вон никто в java не компилирует, так смотрят. :)
Это я к тому, что RW-формат все-таки имеет слишком специфическое
назначение: даже если с нуля делать, не ясно, какая из стратегий
была бы экономичнее.