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

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

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

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

Ммм.... То есть не снимать роботов по реалу, а лишь заставить сервер высчитывать характеристики, HP, смерти и т.д?

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


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

Как вариант.

Если "вооружить" сервер игры дебаг-платой или командным блоком, можно и "снимать" погибших роботов удаленно.

Правда это будет не очень зрелищно.

 

Ну или не заморачиваться, и пусть физически уничтожают друг друга. Кирками и лазерами.

 

Можно еще подумать над системой "респавна".

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

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


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

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

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


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

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

Может, нужен апгрейд-контроллер инвенторя.

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


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

Да? А что за функция? robot.equip() не работает.

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


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

Да? А что за функция? robot.equip() не работает.

К компоненту обращаться надо =)

ic = require("component").inventory_controller
ic.equip()

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


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

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

Можно, можно. В OpenComputers много чего можно.

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


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

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

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


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

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

Слишком сложно. И накладывает ограничения на арену.

Пока пусть будет концепция permadeath. :)

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


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

Давайте у каждого робота будет два стека действий. Один глобальный, второй локальный. Добавления задания в глобальный стек будет провоцировать добавления составных этого задания в локальный стек. Пример: Робот находиться на ровной плоскости, его координаты +12 +50 +10. Он получает в глобальный стек действий задание "Отправиться на +13 +50 +17". На основе своих и заданных координат он генерирует в локальный стек действия типа "Вперёд", "Вперёд", "Повернуться", "Вперёд". И выполняет их по очереди. После достижения цели, он удаляет задание из глобального стека, и выполняет следующее.

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


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

Как-то так оно и будет, в принципе. Это уже вопрос реализации внутренней логики робота. То есть - полностью зависит от предпочтений участника боев.

Как он решит организовать работу своей "команды" - так и будет.

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


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

Свое API я делал как раз для этого турнира! Пока имеется езда по координатам и алгоритм Ли для 2D и 3D карт, также можно узнать хватит ли топлива от точки a до точки b (по принципу езды по координатам)


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

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


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

Свое API я делал как раз для этого турнира! Пока имеется езда по координатам и алгоритм Ли для 2D и 3D карт, также можно узнать хватит ли топлива от точки a до точки b (по принципу езды по координатам)

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

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

Интересный алгоритм - если роботы исследуют карту и обмениваются информацией друг с другом. Таким образом они могут сообща построить матрицу арены.

Ну или вставить геосканер в одого из боевых роботов. Будет "картографом". Сидеть на заряжающей платформе (сканер жрет много энергии) и снабжать команду информацией =)

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


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

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

Интересный алгоритм - если роботы исследуют карту и обмениваются информацией друг с другом. Таким образом они могут сообща построить матрицу арены.

Ну или вставить геосканер в одого из боевых роботов. Будет "картографом". Сидеть на заряжающей платформе (сканер жрет много энергии) и снабжать команду информацией =)

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

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


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

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

Интересный алгоритм - если роботы исследуют карту и обмениваются информацией друг с другом. Таким образом они могут сообща построить матрицу арены.

Ну или вставить геосканер в одого из боевых роботов. Будет "картографом". Сидеть на заряжающей платформе (сканер жрет много энергии) и снабжать команду информацией =)

А что если... постоянно передавать с сервера карту в размере например 5х5 с роботом по центру и врагами в этой области? тогда у роботов появятся глаза!!!

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


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

Интересная тема. Но. Почитал я ее и вижу: надо сделать то, надо сделать это, а вот это решить. Надо не говорить, а делать. Администрация, определите сроки, команды, до этого срока две команды должны будут написать что напишут и с этим в бой. А уже по итогам боя - разбор полетов.

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

 

З.Ы. хотелось бы поучавствовать, есть пара идей по реализациям.

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


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

Если просите срок - то он 2 месяца. 22 Февраля стартует первый бой. На команды разделитесь сами. Кто успеет - того и тапки.

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


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

Если просите срок - то он 2 месяца. 22 Февраля стартует первый бой. На команды разделитесь сами. Кто успеет - того и тапки.

Давай так! Срок около 2-3 нидель начнёт действовать с того момента как первый игрок-участник заявит о работоспособности своей программы. Кончено же администрация должна подтвердить. Это первое, а второе - о каких "тапках" идёт речь? ;-)

Изменено пользователем Syabro

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


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

... а второе - о каких "тапках" идёт речь? ;-)

 

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

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


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

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

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

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

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

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

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

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

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


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