catpad: (Default)
[personal profile] catpad

ТОЛЬКО ДЛЯ ПРОГРАММИСТОВ И СОЧУВСТВУЮЩИХ !!!

Мы с [livejournal.com profile] gianthare корпели в течение нескольких недель, и теперь выносим на обсуждение правила новой игры, которая будет реализована сразу же после окончательного утверждения правил:
Age of Smalltalk

Игра представляет собой смесь Рыбы, Life, CoreWars, Object-Oriented Programming и Age of Empires (отсюда и рабочее название).

Date: 2002-05-12 12:33 am (UTC)
From: [identity profile] orangyk.livejournal.com
простите, люди добрые, что не корпел вместе с вами... ибо занят ужасно
свои бузинес поднимать это вам не рыбу вялить :)

Date: 2002-05-12 12:38 am (UTC)
From: [identity profile] catpad.livejournal.com
Так это был секрет :)
Но теперь жду комментариев !

Date: 2002-05-12 12:44 am (UTC)
From: [identity profile] orangyk.livejournal.com
а run-time есть? :)

Date: 2002-05-12 07:37 am (UTC)
From: [identity profile] catpad.livejournal.com
Какой такой run-time ? Это же просто правила игры для обсуждения. После обсуждения будет реализация.
Поэтому новые идеи приветствуются !

Стоимость вычислений

Date: 2002-05-12 03:55 am (UTC)
From: [identity profile] as.livejournal.com
Извините я не понял! Как реализована в вашей игре модель "стоимости вычислений"?
Т.е. более сложные действия агента, должны стоить дороже! Что-то типа этого.

Этого элемента многим подобным играм не хватает, это, наверное, "стимулирует" создание простых и эффективных алгоримов агентов.

Re: Стоимость вычислений

Date: 2002-05-12 07:39 am (UTC)
From: [identity profile] catpad.livejournal.com
Ну так и есть: радар и щит стоят очень дорого, атака уменьшается с расстоянием, а сообщение стоит столько, сколько его радиус. Вот и модель стоимости.

Re: Стоимость вычислений

Date: 2002-05-12 08:06 am (UTC)
From: [identity profile] as.livejournal.com
а арифметические выражения сколько стоят?

Re: Стоимость вычислений

Date: 2002-05-12 08:32 am (UTC)
From: [identity profile] orangyk.livejournal.com
не думаю, что они сколько-нибудь стоят, это было бы странно...

Re: Стоимость вычислений

Date: 2002-05-12 08:41 am (UTC)
From: [identity profile] as.livejournal.com
ок, ок - спорить не смысла стоят они мало, но стоят все же - я когда то писал подобную игру и помню хорошо, что в порядок более сложный код бота решал задачу на 10% лучше "конкурента" - это не справедливо выглядело :)

Если здесь надо этим пренебречь - то пусть будет так

Re: Стоимость вычислений

Date: 2002-05-12 04:04 pm (UTC)
From: [identity profile] catpad.livejournal.com
Это невозможно по "идеологическим" соображениям: стоимость имеют комманды, а не операторы. Иначе select тоже должен будет чего-то стоить.

Re: Стоимость вычислений

Date: 2002-05-13 03:29 am (UTC)
From: [identity profile] as.livejournal.com
Именно! по "идеологическим" соображениям select тоже должен будет чего-то стоить! плата за сложность алгоритма, чтобы стимулировать эффективную сложность :)

Date: 2002-05-12 07:58 am (UTC)
From: [identity profile] orangyk.livejournal.com
GOTO: я бы явно прописал, что учитываются повороты головы в расходе маны.
Более того, я бы сказал, что выбирается наименее мана-ёмкий путь. Если так - то хотелось бы указать также и направление, в котором бы хотелось оказаться, ибо по диагонали можно пойти право-вверх и вверх-право
вобщем продумать это дело.

Date: 2002-05-12 04:05 pm (UTC)
From: [identity profile] catpad.livejournal.com
Да, каждое действие GOTO стоит одну ману. Это надо вписать.

Date: 2002-05-12 08:47 am (UTC)
From: [identity profile] orangyk.livejournal.com
вот еще хотелось бы наверное random(n) - случайное число от 0 до n

Date: 2002-05-12 04:01 pm (UTC)
From: [identity profile] catpad.livejournal.com
Очень верное предложение ! Оператор random(n) вводится.

О!

Date: 2002-05-12 11:28 pm (UTC)
From: [identity profile] baseandy.livejournal.com
Было бы здорово поучаствовать на добровольной основе ;) Имейте меня в виду ;) В сфере моих познаний C++, Win32 и прочее ;)

Re: О!

Date: 2002-05-13 02:44 am (UTC)
From: [identity profile] catpad.livejournal.com
Спасибо !
Самая лучшая помощь на данный момент может быть в написании нескольких программ на предложенном языке для разных типов противников, чтобы понять возможности, недостатки и т.п.
Это было бы, правда, здорово !
Потом посмотрим...

Re: О!

Date: 2002-05-13 03:41 am (UTC)
From: [identity profile] as.livejournal.com
дайте, пожалуйста, хоть один полностью завершенный примерчик - как прототип оформления.

Re: О!

Date: 2002-05-13 05:48 am (UTC)
From: [identity profile] as.livejournal.com
Уже пишу первый интерпритатор упрощенного диалекта :)

Re: О!

Date: 2002-05-13 06:18 am (UTC)
From: [identity profile] catpad.livejournal.com
Вот это здорово !
А на чём ? Я-то на Джаве хочу.

Re: О!

Date: 2002-05-13 06:41 am (UTC)
From: [identity profile] as.livejournal.com
Именно на Жабе! :)
Только я пока ваш синтаксис "чуть-чуть" переделаю :)
Я хочу, чтоб получилась модель самого исполняющего модуля, в первую очередь.
А для этого настоящий синтаксис не нужен.

Re: О!

Date: 2002-05-13 06:47 am (UTC)
From: [identity profile] catpad.livejournal.com
По-моему, пора начать координировать деятельность. Можно прямо на sourceforge выходить :)

Re: О!

Date: 2002-05-13 06:56 am (UTC)
From: [identity profile] as.livejournal.com
надо малость подумать - не все моменты Runtime мне еще представляются ясно, я поковыряюсь чуть-чуть :) - вы то с gianthare думали долго, а мне еще придется пожить с этим... может сегодня что-нибудь путное напишу - тогда скоординируем - я завтра может покажу - если успею :)

если у тебя уже есть SOW или части спека - давай почитаю :)

Re: О!

Date: 2002-05-13 04:22 pm (UTC)
From: [identity profile] catpad.livejournal.com
А что такое SOW ?
А спек - ну так он же драфт и есть.

Date: 2002-05-13 01:26 am (UTC)
From: [identity profile] orangyk.livejournal.com
Миша, мне еще вот что интересно... Ты писал, как обычно :), что всё атомарно.
Поясни тормозящей публике, а именно мне, как предполагается разрешать конфликты? Т.е. если все шаги выполняются атомарно и одновременно, то что будет, если два юнита по каким-то причинам сдвинутся на одну клетку? Если же это происходит всё-таки не одновременно, то в какой очередности.

Date: 2002-05-13 02:46 am (UTC)
From: [identity profile] catpad.livejournal.com
Ха ! Конечно, эта проблема известна, но достойного решения не найдено, так что "тормозящая публика" приглашается пораскинуть мозгами !

Date: 2002-05-13 03:03 am (UTC)
From: [identity profile] orangyk.livejournal.com
как вариант раскинутых мозгов могу предложить следующее:
при таком конфликте случается melee, а именно:
- у кого меньше маны погибает
- у кого больше маны:
а) если больше в 10+ раз, ему ничего не делается (подавление)
б) если больше в 3+ раз, вычитается enemy_mana/2
в) в остальных случаях вычитается enemy_mana

возможно, стоит учесть щит, предоставить возможность убежать (обработав on melee) или сделать еще что-то
думаем дальше :)

Date: 2002-05-13 05:24 am (UTC)
From: [identity profile] catpad.livejournal.com
Но мне не нравится, что кто-то погибает даже если его не атакуют...
А что делать, если это объекты одной стороны ?

Date: 2002-05-13 05:42 am (UTC)
From: [identity profile] orangyk.livejournal.com
что значит не атакует? это рукопашная :)
с другой стороны, я перечитал драфт и вроде бы ничего не мешает разрешать скольким угодно юнитам находится на одной клетке - расстояние между ними просто ноль и всё. Рассматривать клетку как "гектар" или любое другое достаточно больше пространство. Тогда только touch надо поменять... Не на соседней клетке, а на той же

Date: 2002-05-13 05:49 am (UTC)
From: [identity profile] catpad.livejournal.com
А вот это кажется очень хорошим предложением ! Это, кстати, решает также и проблему создания агентов - куда их девать в самом начале. Я как раз предлагал, чтобы они рождались внутри Штаба.
Осталось только подумать над визуальным представлением нескольких объектов на одной клетке.

Date: 2002-05-13 06:25 am (UTC)
From: [identity profile] orangyk.livejournal.com
и всё таки позволю себе понастаивать на разделении "пехоты" и "лучников"... иными словами хочется разделения понятия дистантной атаки и рукопашной. Ибо это всегда во всех RTS различалось и наверное не спроста... Могу попытаться описать с тактико-стратегической точки зрения, если кому надо, но времени мало, сорри. Как это сделать "правильно" - пока наверное не знаю, как придумаю - напишу. Опять же, если "наших" 5 агентов на одной клетке, а "враг" один - ему должно быть сильно "хуже"...
Вобщем, на самом деле надо экспериментальную среду написать :) Ждем-с :)
Кстати, всё-таки хотелось бы иметь возможность узнать порядок щита (с определённой степенью точности), ибо глядя на врага, я могу примерно оценить мощь его кольчуги.

Несколько идей для агентов:
- агент "стена", не двигается, хорошо защищён, не пропускает (т.е. on touch делает attack)
- агент "таран", без щита, куча маны для melee, давить харвестеров, пробивать стены, етк

Несколько общих идей:
- возможность выполнить серию команд для всех врагов в радиусе обзора
- возможность применить операцию "-" для направления (противоположное), например чтобы убегать
- ввести ограничение на прирост маны для юнитов на одной клетке (ресурсы?)

Date: 2002-05-13 06:43 am (UTC)
From: [identity profile] catpad.livejournal.com
- Разделить понятия рукопашной и удалённой атаки мне кажется просто - чем дальше, тем слабее. Атака может, вообще, убывать экспоненциально. А хуже врагу должно быть только в том случае, если поведение "наших" задано таким образом, чтомы хотим его давить. Если нет - пусть живёт себе. Мне кажется, это и есть принципиальное отличие от RTS: интеллект и воля агентов, а не их грубая сила.
- Глядя на врага, нельзя определить его мощь, так как это запрещено правилами - ничего, кроме местоположения о нём узнать нельзя. Если я это забыл написать, то горе мне.
- Остальное - подумать надо.

Date: 2002-05-13 03:05 am (UTC)
From: [identity profile] orangyk.livejournal.com
это, кстати позволит несколько разнообразить тактику :)
например поставить "охранников" где-то, которые копят ману, а при "touch" пытаются нарочно пойти на melee, угадав передвижение противника, подкараулив его idle и т.п.

Date: 2002-05-13 03:39 am (UTC)
From: [identity profile] as.livejournal.com
Отличная идея! И конфликт разрешается хорошо
Page generated Feb. 6th, 2026 07:21 pm
Powered by Dreamwidth Studios