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

ивент Unreal Tournament: Resurrection -- Этап #1

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

Это рационально как чугунная гиря.

Я с интересом следил за предыдущей темой, и не мог не заметить, что после написания самогенерящегося лабиринта там всё сдохло.

Поэтому, после воскрешения, я выкинул все лишние сложности.

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

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

 

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

Это будет огромная пустая комната, с парой тройкой колонн, прямоугоьной или восьмиугольной формы. На полу будет располагаться около 4 стартовых площадок.

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

Над ареной будет площадка для игроков-зрителей и большой дисплей для инфы.

А когда собираешься строить арену? Где? Если на сервере, то можно я попробую?

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


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

А когда собираешься строить арену? Где? Если на сервере, то можно я попробую?

 

Сейчас ведущий архитектор - @Fingercomp. =)

Строим на секретном полигоне.

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


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

Сейчас ведущий архитектор - @Fingercomp. =)

Строим на секретном полигоне.

 

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

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

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


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

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

 

Спасибо за предложения. =)

Вроде пока всё на мази, пишем тестим. Скоро будет карта.

В принципе можно начинать писать уже код для своих роботов понемногу.

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


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

Состояние дел на 1 декабря 2016 года.

 

1. Арена

Есть некая хрень, которую можно назвать ареной. Провёл коммуникации, всё такое.

Вот скрины:

 

 

l4Bcatc.png

Y3zWRRp.png

4QccEHV.png

 

 

 

Я её ещё допилю немного, но, в целом, будет как-то так.

 

 

2. Инфо-панели

С каждой из 4 сторон есть такие панельки:

8GnuHht.png

Разрешение у них будет 50x16, предположительно. Слева можно результаты команд, а справа — всякую хрень поставить. Потом решим.

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

 

 

3. Голограммы

Будет 4 голограммы внутри по сторонам команд и 1 голограмма в центре. Вот для ориентировки запустил 5 кубов:

v4RkEv7.png

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

На боковых будет счёт и какая-нибудь хурма. В центре — без понятия. Наверное, время.

 

 

4. Планшеты

Есть идея сделать программу для планшетов, где будет показываться инфа о раунде и будут команды на телепортацию. Прикрутим авторизацию.

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

 

 

5. Сервер

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

Дебагой считает количество монеток в сундуках.

 

 

6. Команды

Нужно разделиться на 4 команды. Всего участников до 16 должно быть. На данный момент имеем 10 участников.

Как решено постом ниже, у каждого участника будет по 4 робота, в один момент могут сражаться до 4 участников.

 

 

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

Арену постараемся сделать до 6 декабря 2016 года (вторник). Потом выложим её. Думаю, схематиком дадим, а в проги сами уже забивать участники будут.

Вся софтверная организаторская часть должна быть сделана до 5 января 2017 года (четверг).

Битва планируется 7 января 2017 года (суббота). От релиза схематика до битвы участники могут пилить роботов.

На команды разделиться надо до релиза карты, соответственно.

 

 

8. Архитектура

  1. Сервер управляет игрой.
  2. Сервер отдаёт инфу по запросу через сеть OC.
  3. Планшет принимает инфу от сервера, показывает её в няшном интерфейсе.
  4. Планшет идентифицирует владельца (по паролю, например) и отправляют команду на телепорт.
  5. Инфо-панель принимает инфу от сервера и показывает её.
  6. Голограммный контроллер принимает инфу от сервера и рисует на голограммах её.

 

 

9. Гитхаб

Все репы для UT будут здесь: https://github.com/cc-ru

Уже есть репа для сервера, который завтра начнём пилить: https://github.com/cc-ru/ut-server

 

 

10. Люди и коммуникации

@Totoro: автор идеи, организатор, кодер, участник, отвечает за связи с общественностью (на вопросы отвечает он, то есть).

@Fingercomp: организатор, кодер, участник, строит арену, упорядочивает информацию.

@NightFury: участник.

@Quant: участник.

@Seryoga: участник.

@FluttyProger: участник.

@astral17: участник.

@ALeXeR: участник.

@electronic_steve: участник.

@LuaGamer: участник.

 

Организаторы имеют доступ к трелле. Кодеры имеют доступ к репозиториям.

 

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

 

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

Изменено пользователем Fingercomp
  • Нравится 2

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


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

Круто!

 

По поводу команд. На команды делиться не будем.

Нас 10 человек, арена вмещает 4 игрока (у каждого 4 робота) за один раз. Чтобы не было толкучки, и полного фарша из роботов.

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

 

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

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

Можно четвёрками - но тогда шансы будут неравномерные, т.к. кто-то вступит в бой только в финале.

Можно как-то раскидать чтобы участвовать в матче не один раз.

Предлагайте свои варианты.

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


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

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

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


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

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

 

Можно конечно. Как написал Фингер, в ближайшее время доведём её до ума, и выложим.

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


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

Эт хорошо) Как закончу с "движком" одним (на курсовую хочу его) то попробую начать написание сервера)

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


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

Обновления от 2 декабря 2016 года. Осталось 35 дней.

 

1. Арена не изменилась

Я хоть и порывался там всё к чертям поменять, но даже не зашёл на сервер. Пока устраивает, какая есть.

 

 

2. Пилю сервер

Вот у нас репозиторий: https://github.com/cc-ru/ut-server

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

Прицепил манифест, так что можно ставить через hpm после сегодняшнего обновления: клонируете репу и пишете hpm install -l .. Будет ставить все зависимости, всё круто.

Пока что нихрена не тестил, просто пишу код. Завтра-послезавтра доделаю костяк, думаю.

 

 

3. Нужны люди

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

Поэтому очень нужны те, кто будет тоже параллельно делать другие программы. В нашей терминологии, кодеры.

Быстрее закончим — эпичнее сделаем. Всем же лучше.

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

 

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

 

 

4. Обновления

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

Изменено пользователем Fingercomp
  • Нравится 1

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


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

о каких трех еденицах софта идет речь?

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


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

о каких трех еденицах софта идет речь?

 

Надо посмотреть, чего там намудрил в коде Фингер, и запилить:

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

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


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

Да, я писал про них в прошлом апдейте. Если есть время и желание помочь — присоединяйся! Будем рады. Об архитектуре расскажем, если надо.

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


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

ок) можно вкрадце о содержимом в репозитория?

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

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


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

Можно провести в 2 этапа:
1) Отсеять 2х игроков посредством 5 укороченных раундов [{1,2,3,4},{5,6,7,8},{9,10,1,2},{3,4,5,6},{7,8,9,10}]
2) Провести 2 полуфинала и 1 финал
Впринципе могу помочь с кодингом, пара идеек есть на примете

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

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


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

ок) можно вкрадце о содержимом в репозитория?

 

Это надо Фингера пытать. =)

 

 

Можно провести в 2 этапа:

1) Отсеять 2х игроков посредством 5 укороченных этапов [{1,2,3,4},{5,6,7,8},{9,10,1,2},{3,4,5,6},{7,8,9,10}]

2) Провести 2 полуфинала и 1 финал

Впринципе могу помочь с кодингом, пара идеек есть на примете

 

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

 

По поводу кода предлагаю всем заглядывать днём (потому что в полночь по Москве там уже пустовато =)) в чат (в IRC), т.к. разработка идёт быстро, обсуждаем, сразу пишем.

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


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

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

 

По поводу кода предлагаю всем заглядывать днём (потому что в полночь по Москве там уже пустовато =)) в чат (в IRC), т.к. разработка идёт быстро, обсуждаем, сразу пишем.

Кстати тут будут ставки?, можно будет чтобы в таблице указывалось: имя, монетки в сундуке, в роботе 1,2,3,4 , ну и если будут ставки, то суммарная ставка на данного человека)

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

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


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

Так, значит я берусь за мониторы. Получается:

 Монитор 1: текущие комманды (название и прочая инфа), и их щета + время

 Монитор 2: таблица раундов со счетами, таймом начала\конца, очками и именем победителя

 Монитор 3: Инфа по серверу, время до таймаута, время до исчезновения мандаринки, можно еще туда ее координаты, в конце можно победителя вывести)

 Монитор 4: Реклама ивента))

 

Что об этом думаете?

P.S. Думаю что на голограмах стоит показывать счет до начала раунда (1, 2, 3, GO!), счет до конца раунда и в конце ник победителя, все это желательно вращать и масштабировать)

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

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


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

Кстати тут будут ставки?, можно будет чтобы в таблице указывалось: имя, монетки в сундуке, в роботе 1,2,3,4 , ну и если будут ставки, то суммарная ставка на данного человека)

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

 

Ставки - это интересная идея. Тут как раз бы пригодился планшет.

Но возникает много проблем технического плата. В какой валюте делать ставки? Как делать регистрацию участников-ставок? Как раздавать призы? И т.п.

Если есть идеи и получится организовать, возражать думаю никто не будет. =)

 

 

Так, значит я берусь за мониторы. Получается:

 Монитор 1: текущие комманды (название и прочая инфа), и их щета + время

 Монитор 2: таблица раундов со счетами, таймом начала\конца, очками и именем победителя

 Монитор 3: Инфа по серверу, время до таймаута, время до исчезновения мандаринки, можно еще туда ее координаты, в конце можно победителя вывести)

 Монитор 4: Реклама ивента))

 

Что об этом думаете?

P.S. Думаю что на голограмах стоит показывать счет до начала раунда (1, 2, 3, GO!), счет до конца раунда и в конце ник победителя, все это желательно вращать и масштабировать)

 

Поскольку мониторы будут висеть так, что с одного места будет виден 1-2 монитора, надо чтобы инфа дублировалась между ними.

Самая важная инфа должна быть видна всё время. Остальное в принципе можно переключать циклически.

 

С голограммами да, можно пошаманить, попробовать так и так. Прикинуть, что лучше смотрится, текст или инфографика какая-нибудь, попробовать лого туда тиснуть (хотя чёрного нету, так что х.з.) =)

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


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

Хз почему но блокдата в ОС немного косит(либо мои глаза косят), короче придумал вариант как можно определять текущее кол-во бабла в роботе:
1) Как будем определять робота?, просто воспользуемся командой blockdata которая добавит тег типа {specialRobotName:"astral17_R1"}
2) Как будем проверять где фигня робот находится?, тут вариант как задача о нахождении точки по 3м радиусам окружностей; тупо пробегаться по всему полю проверяя blockdata на определенных кордах

3) в JSON ищем подстроку с содержимым инвентаря
4) Самое сложное тут будет кромсать JSON хотя впринципе думаю string.find сделает своё дело

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

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


Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.

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