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


Фотография

Unreal Tournament: Resurrection -- Этап #3

ивент конкурс OC unreal tournament drone дрон

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 33

#31 Оффлайн   Fingercomp

Fingercomp
  • Автор темы
  • Гуру
  • Сообщений: 1 958
  • Уровень сигнала: 187,35%
  • В игре: 1148 час. 24 мин.

Награды

                                               

Отправлено 21 Ноябрь 2017 - 16:21

Обновление от 2017-11-21. У нас всё медленно и печально.

 

А то давно их не писал.

 

Начнём с того, как мы строим карту:

  • 2017-10-31: в первый раз зашли на сервер.
  • 2017-11-02: построили первый вариант карты (спасибо Xytabich).
  • 2017-11-032017-11-04: переделывали постройку.
  • 2017-11-20: сделали дорожки и построили крышу.

Я ни одного дня не упустил. Я ни в одной дате не ошибся.

 

Интерпретируя, мы получаем вот такие забавные вещи. Арены пока нет, как она выглядеть будет, никто не знает. Софт для ивента писать никто и не думал пока даже (ну так-то как можно его пилить без карты?). Зато сайд-проекты начали. Я, конечно, знал, что к декабрю ни у меня, ни у Тоторы времени особо не будет, но как-то на такой медленный прогресс не рассчитывал.

 

Значит, что же хочу сказать в связи с этим: в январе ивент пройти может если только чудом, то есть к 2 декабря сможем запилить и софт, и карту, и сюда выложить всё. Сейчас я не знаю, смогу ли карту даже сделать к этому времени, а про софт и говорить не стоит. И поэтому мы можем сплыть по сроку на выходные февраля-марта.

 

Это не означает, что мы оттачиваем битьё шароваров вместо работы на ивентом. Есть один сайд-проект, который так или иначе нужно будет сделать для этого UT#3. Им ща занимаемся.

 

К слову, когда пишу "мы", я имею в виду команду, а она сейчас такая:

  • Fingercomp, который занят или ленится. В редкие дни даже пилит UT#3.
  • Totoro, который на выходных даёт балы (иначе я не могу найти причину, почему во все выходные у него гости), в будни лопатит легаси, а в остальные дни работает над своим ботом. Как можно догадаться, ничего толком на UT#3 не сделал, а на сайте даже не зарегался.
  • Fiender , который тоже [member], хотя и только в ирке. Хостер, гентушник, а про остальные увлечения правила запрещают говорить. Каждый день пишет "rip ut", чем всегда поддерживает разговор или начинает новый.*
  • LeshaInc, который кодит. Несмотря на репутацию бросающего проекты на полпути, он запилил компонент сайд-проекта полностью, что поразительно.

Детали о том, что именно мы пилим, какой прогресс и задачи, ну и прочие вещи про ивент — всё в ирке. На форуме мы спойлерить особо не будем.

 

* Справедливости ради надо отметить, что слово "rip" на нашем канале стало невероятно универсальным, и рипаем мы не только людей и не только в прямом смысле. Антоним, к слову, — unrip.


Сообщение отредактировал Fingercomp: 21 Ноябрь 2017 - 16:27

  • Totoro это нравится

#32 Оффлайн   Alex

Alex
  • Администраторы
  • Сообщений: 3 576
  • Уровень сигнала: 30,09%
  • В игре: 184 час. 25 мин.

Отправлено 22 Ноябрь 2017 - 23:56

Обновление от 2017-11-21. У нас всё медленно и печально.

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

 


Предлагаю карту не пилить, это довольно-таки хлопотно, а сразу приступить к рисованию медальки за первое место, и как только она будет готова, незамедлительно ее выдать Тоторо, как победителю ивента, а сам ивент занести в журнал ивентов, как проведенный :)
п.с. Второе место отдать Лёхе, ну а третье уже на усмотрение ивент-менеджера. там фифтифифти призера можно угадать, я думаю.
 
Но если Леха там уже запилил бэк-энды и сайд-проджекты, то тогда значит выдать ему медальку первое место и пёс с теми картами и лишними телодвижениями. Они ничего хорошего, кроме страданий, потраченного времени и попаболи, вам не принесут.
 
Решайте конечно сами, тут уж, как говорится, уж если выбрали это бремя нести ивенты UT#, то надо это бремя тащить. Помнишь Фродо, который без энтузиазма тащил кольцо в Мордор из последних сил нехотя? А Пипин, или как его там, говорил, мол, Фродо, ты неси кольцо, а я понесу тебя...
Но, к сожалению, у нас нет хоббитса Пипинса. :)
 
п.с. Я сервер точно также запускаю: 24 сентября построил улей, в ноябре заспавнил коня возле домика гоблина, в декабре вот планирую построить дорожку к домику гоблина от места спавна коня... И ничего, не сильно по этому поводу грущу.


#33 Оффлайн   Fingercomp

Fingercomp
  • Автор темы
  • Гуру
  • Сообщений: 1 958
  • Уровень сигнала: 187,35%
  • В игре: 1148 час. 24 мин.

Награды

                                               

Отправлено 23 Ноябрь 2017 - 02:35

Ну тут не грусть, что так медленно, а опасение, что UT#3 закончится, не начавшись. В любом случае, вчера мы 3 часа посовещались о том, как вообще делать мы будем, а в субботу софт обсудим.

 

Определили дату старта приблизительную, к слову: 23-25 февраля. Надеюсь, плясать с нею не придётся.



#34 Оффлайн   Fingercomp

Fingercomp
  • Автор темы
  • Гуру
  • Сообщений: 1 958
  • Уровень сигнала: 187,35%
  • В игре: 1148 час. 24 мин.

Награды

                                               

Отправлено 02 Декабрь 2017 - 11:52

Обновление от 2017-12-02. Движение началось.

 

После нытья я внезапно понял, что мы на тот момент до сих пор даже не представляли, что должны делать и когда. Поэтому на прошлой неделе (2017-11-22 и 2017-11-25) мы провели два совещания в нашем совещательном канале #cc.ru-meetings, первое из которых длилось 3 часа, а второе — 4 часа. Я подождал недельку, чтобы посмотреть, как всё пойдёт — и ведь на самом деле работа началась какая-то. Отсюда и обновление. Сейчас расскажу, что мы нарешали.

 

Планирование

Этапы подготовки

Во-первых, я разделил всю подготовку к ивента на 4 части, чтобы облегчить планирование:

  1. Нулевой этап (0) — это тот, на котором мы сейчас находимся. Участники не могут пока нормально писать свои программы. Как минимум потому, что ни арены, ни софта дано не было.

  2. Альфа (α) — у участников есть карта арены и софт. Сервер пока открыт только для организаторов и программистов. Длится месяц.

  3. Бета (β) — сервер открывается для участников. Длится пару недель.

  4. Релиз (X) — открывается для всех.

Мы пока решили, что нулевой этап должен длиться до 2017-12-31. То есть будет очень плохо, если к этому времени мы не осилим написать софт первой необходимости и выложить карту со сборкой. Тогда релиз поставили пока что на 2018-02-23 – 2018-02-25.

 

Карта

Её пилю в основном я. И должен закончить по плану 2017-12-03. Это не значит, что после этого ни один блок нельзя будет сменить: просто надо проложить к этой дате все кабели, расставить все компоненты, используемые софтом (например, мониторы).

 

Сейчас у нас есть вот такое:

9uwxLPT.png

 

Спойлер

 

PR-кампания

Решено, что каждую пятницу в нашей группе VK будет публиковаться пост про UT#3, начиная с этой недели. Первый пост уже написан. Постараемся выдержать сроки хотя бы до альфы.

 

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

 

Софт

В UT#3 мы придумали восемь различных софтверных проектов, которые в совокупности затрагивают большинство сфер разработки OC: сеть, интернет-сокеты, очки, GUI, звук, дроны, BIOS, кастомные окружения, лампы, микроконтроллеры и прочее.

 

В команде программистов у нас 5 человек: Fingercomp, Totoro, LeshaInc, FluttyProger, MeXaN1cK.

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

 

Всё начинаем пилить с 2017-12-03.

 

Гейм менеджер

Сокращённо называться будет "гм". На прошлых этапах мы эту штуку называли игровым сервером, но ведь это очень запутанная терминология: вдруг я не про софт для OC говорю, а про сервер кубача? Поэтому теперь называться будет гейм менеджером это штука.

 

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

 

Например, очками теперь управляет отдельный компьютер. Большинство же функций не требуют получения текущего состояния игры, верно? Если игрок нажал на кнопку скрытия панели, зачем это на гм отсылать?

 

В любом случае, теперь гм выполняет следующее:

  • стартует и завершает раунды;

  • хранит текущий счёт и обновляет его периодически;

  • пингует дронов и хранит количество живых;

  • управляет компонентами (включает и выключает их);

  • маршрутизирует сообщения между компонентами.

 

То есть остались только чисто игровые функции.

 

Общение между компонентами будет происходить посредством дебаг-карты. У неё есть замечательная функция debug.sendToDebugCard(address, ...).

 

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

 

Вызвались пилить: LeshaInc, Fingercomp, Totoro.

Дедлайн: 2017-12-31.

 

Информационные панели

Я до конца был уверен, что экраны по бокам арены не просто так. Оказалось они не рабочие.

qwertyMAN

 

На первом этапе мы их не осилили (это те самые "экраны по бокам арены"), поэтому надо осилить в этом. Они будут показывать карту арены с контрольными точками и их статусами, таймер, счёт и количество живых дронов. Может, ещё что-нибудь.

 

Каждый компьютер с этой программой будет обрабатывать 4 монитора, а всего их 16.

 

Юзать будем либу для больших шрифтов от LeshaInc. UI рисовать или дабл-бафферингом, натравленным на vgpu, который выполняет одинаковую команду на 4 реальных gpu для параллельного отображения; или без него, если графика окажется несложной.

 

Вызвались пилить: Fingercomp, Totoro.

Дедлайн: 2018-02-04.

 

Прошивка для дронов

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

 

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

 

Вызвались пилить: Fingercomp, FluttyProger.

Дедлайн: 2017-12-31.

 

Прошивка для контрольных точек

Все функции мы уже описывали ранее (шлёт коды, ловит сообщения, консультируется с гм).

 

Вызвались пилить: Fingercomp, Totoro.

Дедлайн: 2017-12-31.

 

Терминалы участников

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

 

Либу гуишную, похоже, использовать будем от ECS. Более продвинутой и удобной я не видел пока.

 

Вызвались пилить: Fingercomp, Totoro.

Дедлайн: 2017-12-31.

 

Сервер OpenGlasses (очкосерв)

Как я уже сказал, мы отделили управление очками от гм. Так как очки в OpenGlasses 3 стали субарашительными, у нас в том числе есть персональный вывод. Поэтому:

  • зрители видят:
    • радио (текущий играемый трек, исполнитель, альбом);

    • счёт (точнее, я везде имею в виду под счётом количество захваченных точек);

    • количество живых дронов;

    • ники участников;

    • таймер;

    • лого;

    • карту арены, при клике на которую игрока телепортирует в соответствующую позицию;


  • участники видят:
    • список со всеми их дронами и статусами, а также кнопку суицида на всякий;


  • админы видят:
    • список со всеми дронами всех команд (естественно, он будет как-то разделён);

    • кнопки старта и стопа радио;

    • кнопки старта, старта с отсчётом и стопа игры;

    • поле для изменения продолжительности игры;

    • поля для изменения участников.


Помимо этого, при фокусировании в игре на контрольной точке, будет показан её статус.

 

Очкосерв будет обрабатывать как можно больше функций без обращения к гм.

 

Вызвались пилить: Fingercomp.

Дедлайн: 2017-12-31.

 

Рипрадио

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

  • Конвертер аудиофайлов в формат .rip. Это наш выдуманный формат контейнера для DFPWM. По сути, я напилил конвертер любых аудиофайлов (поддерживаемых ffmpeg) в DFPWM с хедерами. Уже сделан Fingercomp, написан на Rust.

  • Стриминговый сервер. Берёт папку с файлами .rip и стримит их по сокету со специальным протоколом. Сделан на C LeshaInc.

  • Клиент рипрадио для OC. Читает данные со стримингового сервера и играет музыку через кассетный плеер. Всю метадату отсылает на гм — а тот на очки.

Клиент минимальный уже есть (то есть мы уже смогли просто играть с сокета музыку). Осталось её вынести в библиотеку и написать саму программу, которая бы отсылала мету и контролировала всё.

 

Вызвались пилить: Fingercomp, Totoro, LeshaInc.

Дедлайн: 2018-02-04.

 

Контроллер ламп

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

 

Вызвались пилить: Fingercomp, Totoro, MeXaN1cK.

Дедлайн: 2018-02-04.

 

 

 

Я уже говорил, что вся эта инфа была в ирке. Причём неделю назад. Мы UT#3 пилим только через неё, поэтому если вы хотите присоединиться, то условие частого пребывания в ирке обязательно.

 

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


  • eu_tomat и Appo это нравится





Темы с аналогичным тегами ивент, конкурс, OC, unreal tournament, drone, дрон

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Topic Led By

Яндекс.Метрика