|
|
|||||
Человек и Здание
|
Я предлагал коннектить ботов через localConnection, но это дурь была. Проще всего выполнять загрузку ботов в клип Интерфейса и обмениваться с ним управляющими воздействиями через предопределенный интерфейс. Никакой флешКомм не нужен, боты общаются в одном адресном пространстве, в одном фильме, посредством вызовов функций Интерфейса.
Возникает вопрос "честности". Допустим, мы решим, что бот не знает конфигурацию игрового поля и разведывает ее "на ходу". Нужен механизм, не позволяющий боту прошарить всю память и найти лабиринт. При учете, что Интерфейсная часть доступна всем, т.е. код ее не представляет секрета. Предлагаю сделать игру походовой. Предлагаю делать ботов автономными, т.е. без возможности управлять ими со стороны юзера или разработчика. Шахматы... блин... Это ж мега-задача!.. Не говоря о том, что это будет не спор программистов, а спор известных и опубликованных алгоритмов.
__________________
Регардсы. |
|
|||||
Регистрация: Jan 2002
Сообщений: 1,323
|
И тут я подумал - а что это я вопросы задаю?
Значит, так. Предложения: 1. Двумерное игровое поле. НЕ дискретное. 2. Для обеспечения возможности скрываться за препятствиями функцию обзора надо делать общую на всех. Вот, например, прототип: function look_at (direction, angle); которая возвращает массив с координатами увиденных объектов и их состояний (ну напр.: красный танк едет туда-то, пушка направлена туда-то, стреляет/не стреляет). При этом карта должна быть доступна (и, возможно, динамическое формирование рельефа). 3. Оружие, понятно, общее с строго оговоренным набором характеристик - чтобы роботы имели возможность пользоваться любым новым добавленным оружием. Н-р: название, масса, количество зарядов, скорость стрельбы, мощность, радиус поражения. Сильно подозреваю, что на первых порах это будет один большой флэшак, поэтому надо что-то сделать с разделением времени - любое действие требует времени. Например, предложенная ф-я look_at "тратит" время в зависимости от угла поля зрения. Можно предоставить возможность иметь несколько глаз/камер для ускорения обзора (естественно, расплатой будет увеличение массы - надо сделать их массивными - и тому подобные неудобства).
__________________
ВКЛЮЧИ МОЗГИ!!! Одноразовых граблей не бывает. На большинство из них уже кто-то наступал. (c) Dindin |
|
|||||
Регистрация: Jan 2002
Сообщений: 1,323
|
Надо же, пока писал, столько постов, такой прогресс...
__________________
ВКЛЮЧИ МОЗГИ!!! Одноразовых граблей не бывает. На большинство из них уже кто-то наступал. (c) Dindin |
|
|||||
Человек и Здание
|
Я вижу, народ за аркаду.
Пошаговость игрового процесса будет хорошим стимулом для оптимизации работы и ограничением, от которого собственно можно плясать. Пример. У Бота есть 7 единиц хода, которые он может тратить любым методом. Каджое действие стоит определенное количество единиц, остаток от прошлого хода не засчитывается. Например, Бот видит в направлении движения на 3 клетки (я за дискретноепространство). Поворот на 90 градусов - одна единица, разведать еще три клетки по ходу движения (центральная, одна слева и одна справа) - 2, еще на одну ячейку дальше - 3 и т.д. Выстрел - 5, ход на одну клетку вперед - 3. Ну и пр. Главное, продумать систему так чтобы она была логичной. Напр. при движении вперед Бот узнает три клетки, т.е. то же самое что и при "взгляде" вперед на шаг, но заодно и перемещается, т.е. это действие должно стоить больше чем взгляд на шаг. А может быть, столько же. На игровом поле расположены бонусы, увеличивающие кол-во единиц хода - на время или навсегда. Короче, в fallout играли?
__________________
Регардсы. |
|
|||||
упс.
2 TTS:
по поводу поля... дискретное поле мне кажется более привлекательным... но неисключен гибридный вариант! т.е. объеткы размещать на клетках, а полет пули или снаряда обрабатывать hitTest. клеточки позволят красиво размесить объекты встык и позволят задавать свойства каждой клетки поля. Например высоту - для изменения радиуса видимости бота или свойства грунта для изменения скорости бота. 2 Смольный: пошаговость - верный путь! иначе фиг уследишь кто в кого стрелял и какие повреждения имеются. Я так понял пошаговость такая - Мой бот делает ход- он пошел куда нть выстрелил и отъехал. Затем другой бот делает ход. Т.е. не каждое действие бота - отдельный шаг, а весь его маневр!!! праьно я понял?
__________________
Max. |
|
|||||
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
2Смольный
эммм... через локалКоннекшн ? я может не правильно понял идею... так речь о игрушке, в которой в оффлайне будут рубиться боты ? я-то подумал что мы говорим о полноценном мультиплеере... типа такого, как в той игрушке, где курицами в друг друга народ кидается =) (забыл линк... там на шоквейве вроде все сделано) по поводу поля : недискретное пространство - это совсем мрачно с точки зрения алгоритмов... и к тому же в таком случае мы огребем массу тормозов от каждого бота. |
|
|||||
Регистрация: Jan 2002
Сообщений: 1,323
|
Ладно, убедили.
|
|
|||||
Регистрация: Jan 2002
Сообщений: 1,323
|
Только уж тогда большое поле и точность выстрела пониже. А то совсем грустно будет. Как в пэйнтбол: все будут высовываться из-за укрытия, делать выстрел и прятаться обратно.
|
|
|||||
нее... пошаговость сакс... =( хочу аркаду! =) а так получится WORMS... А ОНО НЕ ТО... =(((
__________________
*** |
|
|||||
мммм
Ой.
Смотрю что пошел разброс мнений. Идея была вот в чем: у каждого зарегистрированного игрока есть Бот, для него игрок пишет AI - программу управления и ведения боя. Сам бой проходит без участия людёв! Т.е. боты цепляются к карте и там воюют. Все это выглядит это так. Каждый игрок регистрит свой бот и хранит SWF где нть на общем сервере. Я например, захожу и хочу сразится с ТТS. Я подцепляю его Бот на Бой (даже если TTS не в курсе) и у меня на клиентском месте мой бот рубится с его. Результат боя сохраняется в базе. по результатам боя начисляются очки и бонусы. Идея понятна? Вот как быть с просмотром повтора боя я пока не придумал... хотя если продумать красивую систему команд для ботов можно во время боя вести запись. а в конце высылать участникам мылом. И каждый сможет воспроизвести бой в повторе. Что скажете?
__________________
Max. |
Часовой пояс GMT +4, время: 18:07. |
|
« Предыдущая тема | Следующая тема » |
|
|