Перейти к содержимому
Alex

Unreal Tournament. Войны роботов. (разработка)

Рекомендуемые сообщения

Я полагал, что когда черепаха "умирает", то она умирает и куда то подниматься уже некому. Другое дело, сможет ли она издать предсмертный писк, что бы ее сородичи узнали и пошли мстить?

:Dвозможно потом будет вторая часть игры - зомбиапокалипсис из мертвых черепах.

Виконт, если серьезно, мое мнение, что ты решил заспамить тему, черепашек ты никогда не видел и их не программировал:), и переиграл в ассасин и ватч догс. Зачем с интервалом в минуту писать 15 постов, что нельзя сразу собраться с мыслями. Во-вторых, нет никаких дохлых черепах, нападений со спины, перерезаний горла, узнавания, где больше противников, убегания, инвизов и прочего. Даже не хочется объяснять, как физически работает черепаший блок, что и где и сколько он детектит, как двигается и копает. :) Не знаю, плюс кинуть фантазии или драгдилеру. Прости.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кратчайшие пути

1 Черепаха должна знать где цель

2 По карте(которую составили другие)должна проверит можно-ли напролом добраться

3 Если нет,посмотреть возможные пути по журналам движения других черепах(журнал-история движения черепахи)

Алгоритм Ли подойдет и не надо мучатся

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

сможет ли она издать предсмертный писк

Ведь будет компьютер - сервер и он может проверять наличие черепах!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

http://computercraft.ru/forum/index.php?threads/a-Поиск-пути-для-черепашки.67/

Я написал поиск пути, который вы можете с легкостью использовать для войны роботов. Он подходит по всем требуемым критериям.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Описанное Виконтом может быть использовано, но тогда это будет больше ролевушка, а не тактико-стратегический экшн. Т.е. бой будет проходить чисто в программном плане и результаты каждой стычки будут просто высылаться судье, но я лично за экшн:)

 

Вообще вижу все сражения только в плане способностей программиста, который научит своего робота быстрее врага замечать соперника, ведь одна черепаха моментально ваншотнет другую, при условии, что первой среагирует.

 

Для построения советую взять прогу крутого в качестве основы. И требуется создать некое подобие пэинта, с возможностью обрабатывать сразу 2 слоя - это во-первых. Во-вторых, можно было бы все же использовать рандом при строительстве. Как я это вижу: (представим, что прога уже написана и вот так с ней надо работать) человек просто задает ширину и длину поля; прога берет 1/4 и работает только с ней (то бишь использовать будет осевая симметрия); начинает работать построитель шаблона:

  • 1/4 указанной пользователей площади считается заполненной высотой в 2 блока
  • Прога выбирает точку ближе к центру будущего поля и, следуя алгоритму, начинает как червь выгрызать путь (возможно с разветвлениями) до стартовой линии
  • Слои отдельными файлами сохраняются и по сети летят строителям, которые берут блоки и с радостью летят строить площадку
В итоге получается зеркальное поле с 2 возможными проводами. Либо можно заставить прогу работать с 2умя четвертом и тогда в длину поле будет ассиметричным.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ведь будет компьютер - сервер и он может проверять наличие черепах!

Сябро, про предсмертный писк - это была ирония:)

DUIIIES, то что написал Виконт, не в какие ворота не лезет. А вот реализация поиска пути между двух точек - это то, что надо. Этот модуль можно будет использовать, когда нужно будет черепахе быстро переметнуться в уже разведанной части карты между точками.

 

А алгоритм Ли (волновой алгоритм) желательно тоже реализовать на Луа. Я, кстати, про него сказал в самом первом посте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну идея Виконта может быть воплощена в жизнь, но, как я сразу сказал, это не то, что нам было надо с самого начала.

 

А поиск пути между двумя точками можно использовать во многих аспектах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну идея Виконта может быть воплощена в жизнь, но, как я сразу сказал, это не то, что нам было надо с самого начала.

 

А поиск пути между двумя точками можно использовать во многих аспектах.

Да по сути там нет никаких идей Виконта. Он перекрутил все наши постулаты, все перемешал и добавил спецприемы из Ассасина. Да еще тему заспамил. Мне до сих пор смешно, когда вспоминаю умирающую и взлетающую вверх черепаху:) П.С. Андрей, ты чего не спишь в 4 утра:D

 

Почитай вот это еще раз внимательно:

Немного о механизме боя

Встретились две или более черепахи допустим в квадрате 5х5,в каждом ходе черепаха выбирает рандомно соперника и атакует его,так до конца или она игнорирует бой,сбегая,исходя из количества и типа противников и союзников(тему баланса потом)

 

Еще о принятии решений,если идет команда на команду,то черепахи должны идти туда где больше противника,но и оставляя несколько с другой стороны,тактика команды на команду это установка приоритета игроком в поиске чего-то, обороне,способе атаки(какой фланг проламывать)

 

Я не знаю как это сделать,но черепаха должна видеть только вперед,тоесть сервер видет что черепаха не смотрит в сторону врага и не дает ей об этом знать,ну дальше по воле рандома,но если черепах врага подкрадется к вашей со спины,то она должна ее убить и на карте не спалится ..... урон выставляется рандомом взависимости от типа черепахи,ее оружия и противника

 

Это же чистой воды КонтрА:D:confused:. Какие типы противников и пролом флангов. Как черепаха, нюхом определяет в зоне 5х5, кого атаковать и где больше противника? Эй, Туртля №2, стой воооон возле того камня и смотри в оба!!!! Не проворонь. Далекооо гляди! Как это совместимо с Луа и детектированием одного блока перед собой. Все, не напоминайте мне больше про идеи Виконта. У меня уже живот болит от смеха.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А алгоритм Ли (волновой алгоритм) желательно тоже реализовать на Луа. Я, кстати, про него сказал в самом первом посте.

Будет прикольно, когда алгоритм Ли выдаст худшую производительность, по сравнению с более сложным, но оптимизированным A*. Почему реализация Ли тогда "желательнее" ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Будет прикольно, когда алгоритм Ли выдаст худшую производительность, по сравнению с более сложным, но оптимизированным A*. Почему реализация Ли тогда "желательнее" ?

Внимательно читайте. Он не желательнее, а его тоже желательно реализовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

П.С. Андрей, ты чего не спишь в 4 утра:D

У меня это 6 утра было, Алекс:D

 

Все, не напоминайте мне больше про идеи Виконта.

Окай, но хотя бы скажу о возможности "дать черепахам глаза".

Предположим, что черепаха "видит" все, что перед ней есть в данной области:

Изображение

Т.к. обе команды подключены к серверу, можно передать все вычисления столкновений на него, то бишь судья знает, где находятся все роботы и куда они "смотрят". Таким образом, при пересечении врагом (turtl1) поля зрения черепашки из команды-соперника (turtl2), сервер передает сигнал на компьютерный мозг turtl2 и она либо начинает преследовать turtl1 для её уничтожения, либо сообщает команде и убегает заправляться например (всё должно зависеть от программера и выставленных им приоритетов).

 

Согласитесь же, что зрячие черепахи намного интереснее, чем болванчики, которые бьются о стены. А если вся эта тема будет возводиться на 1.6.4 под Opencomputers, то, дав солдатам зрение и сунув им в руки пушку какую-никакую (кстати на нашу 1.6.4 сборку я бы советовал поставить Balkon's Weapon Mod, чтобы дать интересное вооружение нашим механическим солдатикам (*-*) ), можно устроить реально веселую контру и это будет реально намного зрелищнее, чем орда тупых кубиков, которые бьются то о стены, то о пол и лишь изредка (всё также ударившись головой) легко и элегантно снимают киркой вражескую рептилию.

 

P.S. А ещё я бы к чертям все игровое поле заминировал, чтоб неповадно было... (О.О)

P.S.S. Вообще, можно сделать поистине глобальные битвы, турниры и чемпионаты. Мы же собрались делать банковские счета игроков, а значит можно сделать так, чтобы для участия было необходимо оплатить со своего счета стоимость робота, а также, при желании, докупить на него модификации и оружие. Вся информация об участниках и их бойцах (включая tier, модификаторы, оружие, кол-во отыгранных боев, побед и поражений, а также, например, награды ), что позволит игроку, при желании, продать робота со всей, так сказать, родословной (после боя черепашки не выдаются, а просто уничтожаются, а вся информация о них хранится где-то в зале славы на сайте). Такой подход позволит людям объединяться в команды (по типу "денежный мешок" + "программист"), а это поистине прикольно как по мне :)

 

В общем отписывайтесь, будет интересно узнать Ваше мнение по поводу описанного мной плана.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Согласитесь же, что зрячие черепахи намного интереснее, чем болванчики, которые бьются о стены.

Надо сделать так, чтобы не бились. :)Они не катаются по одному месту взад и вперед, а всеми силами пытаются пройти у базе врага (например, увеличить какую-то свою координату в сторону противника), при этом запоминая блоки воздуха, блоки непроходимых стен. Черепашка не исследует одну и туже местность дважды. И каждый робот принимает решение рандомно или с учетом каких то переменных индивидуально, как независимая боевая единица. А так это "псевдозрение" сводится к тому, что один единый сервер сам с собой играет в шахматы и управляет черепахами(своими и вражескими), то есть дает им все данные для движения. Но САМЫЙ ГЛАВНЫЙ ПОСТУЛАТ то забыли: местоположение врага, точка флага(уникальный блок чего-либо) и карта НЕИЗВЕСТНЫ!!!!

 

 

Главный смысл проекта, написать программу ИИ, которая позволит сымитировать поведение независимой группы роботов, которые пытаются максимально быстро и оптимально выполнить боевую задачу на неизвестной территории в условиях боя с неизвестным противником. Территория представляет из себя несложный лабиринт. Враги - черепашки. Задача - найти и привезти первым на свою базу флаг врага. Флаг - блок цветной шерсти, например. ПОКА ВСЕ!!!!! Надо реализовать только это пока!!!! Общение разрешено только между своими роботами или со штабным сервером (подчеркиваю!!! своим штабным сервером!!!!). Вражеский же радиообмен нужно еще перехватить.

Уже по военному объяснил.

 

Все остальное очень интересно, но пока не актуально, к сожалению. Турниры, вкладчики, ставки и чемпионаты, система наград - это время наступит после написания базовой программы, которую в последствии игроки-участники в праве редактировать и модернизировать на свой вкус.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Ну да, я не отталкивался от идеи создания псевдо-ИИ, согласен:) Ушел больше под реализацию более красочного и фееричного шоу :D

 

Кстати было бы неплохо реализовать частотное радиообщение со штабом, чтобы можно было нарушить работу вражеской команды.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Радиоперехват и шифрование, а также систем помех, это целая эпопея в Computercraft:D

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Есть еще энтузиасты, которых привлекает идея Unreal Tournament?

Предлагаю проект UT на OpenComputers.

 

Арена.

Имеет любую форму, архитектуру и объем. Строится игроками из учета того, чтобы за боем было удобно наблюдать (высокие трибуны, стеклянные стенки и т.п.)

Содержит два флага, стены, площадки для зарядки, площадки для "лечения", площадки выдачи предметов/оружия.

 

Сервер игры.

Это компьютер, который контролирует положение всех роботов на арене, определяет урон, и выводит роботов из игры. Также он ведет счет флагов/фрагов и определяет победителя.

(Для компьютера-сервера будет удобно заюзать дебаг-плату OC. Не знаю, доступна ли она админам в выживании?)

 

Роботы.

Никаких ограничений. Робот может иметь любое устройство и детали, а также любую программу.

Это может быть как универсальная программа, так и индивидуальная для каждого робота команды.

В начале игры робот не знает ничего и не имеет ничего в инвентаре.

 

Варианты.

Из таких стартовых условий вытекает безграничное количество вариантов тактики.

* Роботы могут обменяться "позывными" в начале игры, зафиксировать адреса членов команды и далее работать только по ним. Таким образом они могут синхронизировать действия по сети, исключив перехват данных.

* Роботы могут ставить блоки (если есть площадки выдачи блоков)

* Ломать блоки (если есть площадки выдачи кирок)

* Толкать блоки (апгрейд-поршень)

* Сидеть на "зарядке" и непрерывно сканировать геосканером окружающее пространство, передавая данные о карте "товарищам".

* Сливать дезу противнику.

* "Кемперить". (Робот сидит в удобном месте, расстреливая пробегающих юнитов)

* и т.д.

 

Что требуется?

От организаторов:

* Построить арену.

* Запустить игровой сервер.

От участников:

* Написать программы для роботов.

* Обеспечить начало их выполнения по сигналу сервера.

 

П.С. Это "общий" вид "дезматча за флаги". В зависимости от конкретного режима или вида игры условия изменяются как необходимо (число роботов, их позиции, доступная информация, доступные детали, форма поля и т.д. и т.п.)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Идея Тоторо мне нравится. НО! Инструменты должны быть у роботов с начала. У каждой команды есть компьютер-штаб с бесконечной энергией. Комп золотой с беспроводной платой, железной видео-картой и жёстким диском. Процессор золотой. Одна оперативная память 2.5 уровня. Также должен быть режим с роботами в разных концах карты(без флагов.).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В начале боя, роботы стоят на площадках-зарядках. Так что у них есть бесконечная энергия (плюс не садятся батареи в ожидании начала боя). Площадки команд конечно в разных концах арены.

Насчет инструментов надо подумать. Например, сначала у них есть кирки - урон в ближнем бою. На поле робот может взять лазер - дальний урон.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В принципе режимы могут быть разными, это не проблема (Team Deathmatch, King of the Hill, DeathMatch, Capture the Flag, и т.д.), но нужен энтузиаст, который возьмется написать ядро самой арены (кстати было бы неплохо, чтобы там присутствовала и система GPS) и API для роботов (ну то есть дать разработчикам саму связь с сервером), а также было бы очень здорово, если бы на арене запривачены были только трибуны, чтобы игроки могли сами поле обустраивать перед боем, да и роботы могли все подряд крушить (и желательно, чтобы все было автоматизировано и не требовало участия админов (система регистрации турниров, электронные анкеты участников, автоматическая установка бойца на нужную позицию и так далее)).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Насчет инструментов надо подумать. Например, сначала у них есть кирки - урон в ближнем бою. На поле робот может взять лазер - дальний урон.

Q1 = Какие инструменты могут использовать роботы, все те, которые может использовать и сам игрок?

 

Q2 = Может ли робот считывать свой тир (Tier)?

 

Q3 = Может ли робот поднимать опыт с земли (как игрок то бишь)?

 

if Q1 == true then

if Q2 == true and Q3 == true then

Можно сделать систему апгрейда оружия роботов на основе повышения их собственного уровня, иными словами начали они как нечто полуаморфное с деревянной киркой и медленно покатились крамсать врагов, убили пару-тройку (при этом, я думаю, командным блоком эти железки должны ресаться на базе, а на их месте должно появляться некое количество опыта) и доминирующий боец, после очередной проверки тира, сможет добежать до базы и получить апгрейд оружия (кстати расчитывать выпадающий за убийство опыт можно исходя из уровня павшего). Кстати повышение уровня робота на арене - неплохой стимул для участия.

else

Жаль.

end

else

Чем ограничевается список доступного инструментария?

end

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Q1 = Какие инструменты могут использовать роботы, все те, которые может использовать и сам игрок?

Q2 = Может ли робот считывать свой тир (Tier)?

Q3 = Может ли робот поднимать опыт с земли (как игрок то бишь)?

1) Любые инструменты.

Прокачка робота доступна если стоит апгрейд-опыт.

2) Робот может узнать свой уровень (Level).

3) Вроде нет. Не проверено. Робот получает очки опыта за действия. (Копание, убивание)

 

Рассчетом опыта и урона можно в принципе озадачить "игровой сервер". Посредством сетевых сообщений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...