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

Totoro

Гуру
  • Публикации

    1 950
  • Зарегистрирован

  • Посещение

  • Победитель дней

    289

Сообщения, опубликованные пользователем Totoro


  1. Роботы могут застрять, помешать другим роботам, обложившись около сундука. Может можно сделать проще? Всем участникам дать по планшету с роботом и флайку, а роботы будут под стеклом. Чтобы всё управлялось в реальном времени самими игроками? + будет возможность игрокам делать заготовки, например особые функции, которые они будут активизировать через планшет и которые помогут быстрее роботам действовать.

     

    А то боюсь, что наблюдать за роботами с обычными программами будет скучно.

     

    Пример: Игрок новичёк написал программу которая позволяет через планшет управлять роботом.

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

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

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

     

    Прямое управление роботами - тема для другого раунда. =)

    Что касается застреваний - наверняка там будет куча мала, и твой робот должен уметь с этим разобраться. Ну или просто ждать, пока всё разгребётся само. Как напишешь.

     

    Может быть скучно, да. Посмотрим. Для этого мы Песочницу и затеяли. Мне лично как минимум за своими будет интересно наблюдать. =)

     

    Конкурс уже идет не среди двух игроков, а среди 8.  :)

    Так что я думаю, мы идём верным курсом.


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

     

    Огромный монитор со счётом - это само собой!  :D

     

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


  3. 1) Если кто-то будет писать "team work" для своих роботов - способ идентификации зависит только от его фантазии.

    Там в общем сложного ничего не надо. Можно просто бродкастом кинуть клич - "Я за Алексера, кто в команде?" и переписать адреса ответивших.

    Т.к. твоя программа вряд ли засветится где-то до начала эвента, то какая бы простая идентификация не была - вряд ли кто-то успеет её хакнуть.  :)

     

    2) Логика сильно зависит от раунда. Например в Песочнице, все события сведутся к сообщениям бродкастом от сервера.

    "Начало матча", "контрольное время" (каждые 20 секунд, чтобы можно было следить, сколько осталось), "монетка заспавнилась" и "игра завершена".

     

    3) В Песочнице арена неизменна, если не считать спавна сундуков с монетками. Для этого Сервером будет заюзан ком.блок.

    В других Раундах, если они будут, посмотрим.

    • Нравится 1

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

     

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

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

     

    От набора правил и количества участников будет сильно зависить и форма арены, и софт для Сервера (что он чекает, как общается и т.п.).

    Поэтому проще и надёжнее это всё перестроить и пропатчить под конкретный эвент.

     

    Можно будет собрать в процессе несколько общих макетов арены - для RvR, гонок, песочниц и т.п.

    И базовую софтину для сервера и инфо-дисплея.

    • Нравится 1

  5. Подкину пару альтернативных вариантов конкурсов.

     

    1. Один стеклянный лабиринт с кучей этажей, чтобы все роботы могли одновременно участвовать. (ну или по очереди давать им участвовать на время)

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

     

    2. Гонка от точки до точки в замкнутом пространстве с участием дронов. Препятствия будут например стены, где нужно будет пройти в определённом блоке, повороты коридора и конечно же лазеры.

     

    3. Игра на выживание среди роботов. Роботы быстро должны забрать из сундуков кирки, лазеры и прочие вещи, которые им помогут уничтожить других роботов. Далее они друг друга убивают и остаётся один робот (если он себя конечно не подорвёт динамитом например или если 2 робота одновременно не выстрелят из лазера. Ну или есть маленький шанс, что робот окажется пацифистом и при старте попробует получить хорошую концовку и подружиться с другими роботами)

     

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

    Если Песочница пройдёт успешно, то в следующем раунде мы поменяем формат и придумаем что-нибудь новенькое.


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

     

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

     

    Тут могут быть неоднозначные ситуации - поэтому решать будем на месте.


  7. как запретишь?, или это как-то будет связано с настройками привата?

     

    Подумаем.

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

    Ну и наконец просто дисквалифицировать робота за любой сломанный блок. =)


  8. хороший вариант, как будет реализован запрет строительства?

    Будет ли система информировать что сундук обчистили?, можно сделать так что как только монеты нету сундука тоже как не бывало.

     

    Строительства чем? =)

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

    Думаю не будет. Это придётся как-то сканировать их постоянно.


  9. Модифицировать софт робота - это чревато ошибками.

     

    Один из вариантов решения проблемы - спавнить не предмет, а сундук с предметов, заменяя им блок пола. А по истечении N секунд - возвращать туда блок пола. Типа всё, монетка исчезла.


  10. Кстати нужно будет сделать так чтобы робот не мог передвигаться на слое там где находятся вещи, т.к. робот может передвинуть предмет и поехать далее(типа тупой робот), а роботы "умные" приедут, а вещи то нету))

     

    Да, надо потестить этот момент.

     

    UPD. Вот так примерно будут выглядеть все роботы:

    s3tvDAL.png


  11. а будет ли сообщение "хороший Буратино робот №ХХХ передумал и выкинул "мусор" на таких-то координатах"?

    Как будет осуществляться защита от прочистки сундука?, или дисквалификация робота будет?

     

    Не, о выкинутых монетка не будет сообщаться.

    Про защиту надо подумать. Хороший вариант - кидать монетки не в сундук, а в воронку (или даже несколько воронок, чтобы нельзя было заткнуть). А из неё уже ссыпется в скрытый сундук.

    Дисквалификация пока только за две вещи: фальстарт и залагованная программа.

     

    без улучшения контроллер инвентаря нельзя высасывать предметы из чего-либо)

     

    Без улучшения можно доставать предметы командой robot.suck(). Нельзя только указывать слот - будет доставаться первый доступный предмет.


  12. Правилами вражеских роботов можно блокировать/разрушать?

    Надеюсь установка монет не будет setblock т.к. если в том месте окажется робот, то это что-то автодисквалификации будет XD)

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

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

     

    1) Разрушать нельзя. Блокировать можно.

    2) Не не не  :lol: Будут дропаться предметы. Если там уже стоял робот - что ж, ему повезло.

    3) Роботы умеют подбирать предметы (команда robot.suck(), если ничего не путаю). Другие блоки ломать нельзя (В следующих раундах будут ломаемые блоки и кирки/лопаты).

    4) Доставка на базу - просто везёшь свой инвентарь на базу и высываешь либо в сундук, либо в воронку (посмотрим как удобнее будет).

    Потырить из сундука не дадим =) Но если ты ему случайно сам дропнешь - то сам себе злой Буратино.

    Зон для определённых команд не будет, в этом раунде роботам доступно всё пространство арены.


  13. Тоже хотелось бы по участвовать, в виде чего будут монеты(блок, дроп, ...)?

     

    Отлично!

    Монеты предположительно будут дропом. Т.е. просто item будет валяться на земле. Роботы должны будут его подбирать и относить в сундук. Ну или копить в своём инвентаре, а потом разом ссыпать.


  14. Насчёт вакуума. Например: у меня будет возможность отправить какие-то данные на свой комп, обработать их и вернуть обратно? Или все вычисления должны проходить только в роботах и только на том сервере, где проходит ивент?

     

    Все вычисления только на роботе. Интернет платы не будет.

    Других компьютеров, кроме роботов тоже не будет (в этом Раунде).


  15. Роботы могут на морзянке унижать бипером врагов при захвате монетки, как это было в ут2004(насчет других игр серии не знаю)? А выпиливать роботов вообще? Или только монетки можно собирать?

     

    В следующих раундах будет и выпиливание и всё остальное. =)

     

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

    Готов участвовать, если это будет в выходной день. :D

     

    Круто! Время эвента подгоним так, чтобы участники по максимуму могли участвовать. Щас завершим подготовку и определимся.

     

    Я участвую.Возможно даже карту помогу сделать.

    Думаю,ещё можно не ограничиваться роботами,а использовать дронов.

    Или даже фреймы.

     

    Здорово! До дронов и фреймов тоже дойдём, если первый раунд пройдёт успешно. =)

     

    Я хочу участвовать =з

    Можешь ответить на вопросы?

    1. Когда этот эвент будет проходить? (Прост скоро сессия)
    2. Где этот эвент будет проходить?
    3. Есть ли какие-нибудь ограничения на конфигурацию роботов, используемые ресурсы и etc?
    4. За сколько часов или дней до соревнования будут извесны карта и правила?
    5. На какой сверический вакуум можно расчитывать?

     

    1) Давайте определимся со сроками. Очевидно это будет выходной день, суббота или воскресенье, надо завершить подготовку к эвенту, дать немного времени на написание софта. Когда кому удобно будет, чтобы всё успеть?

    2) Собственно баттл устроим на одном из серверов местных. Тут я надеюсь на помощь от @Alex =) Ну а если не получится - замутим временный сервачок для эвента.

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

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

    5) Абсолютный :P Простой робот, чистая OpenOS, большая, пустая арена, где носится ещё X роботов.


  16. lXB9vRC.png

     

    Итак, сегодня ночью я извлёк свою лопату, и воскресил давно забытую тему - битвы роботов!
    Если кто-то помнит прошлую тему - она загнулась из-за неопределёности, сложности и отсутствия некоторой усидчивости её участников.
    В этот раз всё будет по другому. Я упростил правила и выкинул всё лишнее. И нарисовал няшный логотип. :3
     
    Суть

    • В битве участвуют команды роботов, по N роботов на участника. Количество не важно - сколько наберём участников, столько команд и будет.
    • Участники эвента (игроки) пишут софт для своих роботов. Разрешается использовать как одинаковую программу для всех роботов команды, так и отдельную для каждого.
    • Битва будет происходить на заранее подготовленной арене. Карта будет известна заранее.
    • Координацией игры занимается центральный Сервер.
    • В день Ч роботы строятся на арене, на стартовых позициях. По сигналу Сервера игра начинается и роботам разрешается двигаться.
    • Правила победы и доступные действия зависят от Этапа.

    Этап 1: Песочница

    Ориентировочное время проведения самой битвы - зимние праздники.
    У нас есть месяц на подготовку арены и написания софта.
     
    Участники первого раунда: @Totoro, @NightFury@Quant@Seryoga@Fingercomp, @FluttyProger, @astral17, @ALeXeR, @electronic_steve, @LuaGamer, @Nikitat.
    Оставляйте заявки мне в личку или внизу, в этой теме.
     
    Правила

    4UwJ9Sx.png

     
    Правила первого раунда просты.
    Все участники играют против всех. Весь раунд будет разбит на матчи, по четыре участника. Каждый участник будет вести команду из 4 роботов.
    На поле, в случайных местах в полу будут появляться сундуки с монетками. Цель роботов - собирать эти монетки быстрее роботов противника и сбрасывать в воронки на "спавне" своей команды. Кто к концу раунда набирает большее количество монеток - тот победил.
     
    Робот может получить дисквалификацию за:

    • Фальстарт. Если начнёт двигаться до сигнала Сервера.
    • Ломание блоков. Если он сломает блок арены/сундук/чужого робота или ещё что-то. В последующих раундах ломание может быть разрешено, но в Песочнице - другая цель.
    • Забагованность и лаги. Если программа случайно или намеренно создаёт жуткие тормоза или просто направлена на вредительские цели =). Тут будет решать админ.

    Ориентировочное время раунда, от старта до подсчета результатов - 5 минут.
    Каждые 10 секунд, Сервер будет рассылать сообщение для синхронизации времени.
    После финального сообщения, раунд считается завершённым и тут же происходит подсчёт монеток в сундуках команд.
    Монеты, оставшиеся у роботов на момент финиша, учтены не будут.
     
    Технические детали
    По части модов и версий ориентируемся на MC 1.7.10 + OC 1.6 + CX 1.6.1 + OpenPeripheral AIO-7.
     
    Генерация монеток на поле будет происходить с помощью командного блока. При генерации, блок пола будет заменён на сундук с монеткой. По истечении времени сундук исчезнет и заменится обратно блоком пола.
    Чтобы роботы узнали о положении монетки, после генерации центральный сервер будет слать сообщение с координатами монетки по беспроводной сети.
     
    Все роботы будут иметь одинаковую конфигурацию и чистую OpenOS 1.6 на борту. Однако разрешается писать разные программы для разных роботов.

     

    Арена доступна для скачивания в виде карты:
    https://dl.dropboxusercontent.com/s/epcz034fsumhsr7/ut-world.zip
     
    pZnoVaM.png
     
    Подготовка
    Нам необходимо подготовить к началу эвента несколько мелочей.

    • [ГОТОВО] [2016-12-06] Подготовить арену. Надо построить поле подходящее по размеру для двух-четырёх команд по четыре робота. (Само пространство арены, где будут двигаться роботы сильно загромождать не надо. У нас сейчас упор не на поиск пути.) Оградить его сверху стеклом, чтобы не дать роботам случайно удрать. Расположить информационный монитор, компьютер центрального Сервера. Обустроить места для зрителей.
    • [ГОТОВО] [2016-12-16] Написать софт для Сервера. Сервер должен уметь объявлять начало матча по сети, генерить монеты, рассылать сообщения с их координатами и подсчитывать по завершению матча количество монет в сундуках команд.
    • [НЕ РЕАЛИЗОВАНО] [2016-12-28] Написать проги для голопроекторов и инфо-панелей. Там не всё так сложно: просто рисовать красивенько инфу о матче.
    • [ГОТОВО] Собрать заявки участников. Я полюбому участвую.

    Обновления

    • [2016-12-01] Ссылка.
      • Арена.
      • Инфа о всех софтверных компонентах.
      • Планы.
      • Архитектура.
      • Гитхаб.
      • Люди и коммуникации.
    • [2016-12-02] Ссылка.
      • В продолжение к предыдущему апдейту.
    • [2016-12-08] Ссылка.
      • Ссылка на карту арены.
      • Изменён состав модов.
      • @astral17 получил доступ к GitHub-репозиториям. Ориентировочная дата завершения написания сервера.
      • Канбан.
      • Планшетов не будет.
      • Гитхаб.
    • [2016-12-14] Ссылка.
      • Написан сервер.
      • Установка сервера.
      • Софт и планы.
    • [2017-01-02] Ссылка.
      • Конфигурация роботов.
      • Процесс настройки перед стартом.
      • Уточнение правил.
      • Сообщения сервера.
      • Изменение даты; время, место.
      • Софт.
    • [2017-01-20] Ссылка.
      • Дата, время, место, распорядок проведения раунда.
    • [2017-01-21]. Ссылка.
      • Итоги и планы.



    Ну что, посражаемся?  :D
    • Нравится 9
×
×
  • Создать...