Серия «World Wide Wheels»

20

Физика у нас в руках :))

Привет.
Просто мини новость :)
Мы закончили с физикой ( основной её частью ).
Используя стандартные плитки и дописанные в движок наши плитки, мы получили полный контроль теперь еще и над подвеской. Остается только наладить значения.
Так что у нас теперь практически полный контроль над машиной.

А это наш текущий парк ( тут нет всех навесных на дюрик,а так это весь парк на данный момент, включая админские и праздничные тачки ( кроме новогодней %) )

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

Как и говорил. Новость короткая :)))

Показать полностью 2
8

Структурированный ад

Привет.
Спешу поделиться новостью. Мы закончили структурировать визуально-физические параметры техники. УРА.
Сначала был вопрос. Как облегчить передачу данных на сервер( модели, блюпринты и прочее)
Решение было использовать ссылки на файлы (SOFT reference).


Ну ладно.
Мы с этим работали и ранее и уже знаем про камни ассинхронных подгрузок и прочие проблемы репликации. Решили всё.
А дальше пошло веселье.
Самый ад было понять как интегрировать создание техники. Как распределить по структурам логику.
Где-то должен быть список рам для конкретной кабины( кол-во осей меняется ).
Где-то должна быть инфа про несколько поворотных осей ( каждая ось должна иметь свои угол поворота ). Куда же запихнуть инфо о колесах, если у нас есть режим смены колёс ( зима-лето-прокол и тп ).
До всего этого у нас была адовая хрень. Откровенно. Понятно что это было сделано чисто для тестирования на скорую руку и все было создано костылями, но вы просто посмотрите на эту жесть :))))На скрине половина только. По сути это один и тот же код, просто с разными настройками для разной техники.


Теперь это выглядит так.

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

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

Вроде все логично да?)
Но проблема в том, что нельзя установить колеса, пока нет инфы о раме. Так как колеса ставятся на кости. В итоге нам пришлось пойти на хитрость.
Мы загружаем инфо из структуры рамы и инфо из колес единовременно.

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

Ну и для финалка. Вся структура грузится вот такой вот системой тоннелей ))

Все это передается в геим мод, откуда создается модель на сервере и получает posses.
В общем. Мы наконец сделали хорошую структуру. Теперь самое простое. Забить все параметры от всех движков, коробок, осей, колес, кабин в структуры и в БД на сайте :)))

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

Показать полностью 5
19

Немного о грузовиках

Привет.
Мы еще немного продвинулись и я решил так сказать отчитаться. Ну и показать часть нашего парка авто ( у нас 19 единиц техники разного класса) как и обещал в комментах.
В первую очередь хочу сказать, что ковырять движок UE5 одно удовольствие. Всё под рукой и всё интуитивно ковыряемое :))
В вторую очередь хочу сказать, что мы еще больше модернизировали исходный код и получили дополнительные параметры управления. Самое интересное сейчас - это центр тяжести. Мы получаем то, что рассчитала сама система и потом меняем центр относительно этих координат, путём сложения оригинальных данных и наших вводных. Таким образом при неправильной погрузке и центр тяжести будет смещаться. И на это не нужно будет тратить ресурсы, как было у нас ранее, когда мы обсчитывали физику груза в реальном времени.

настройка внешнего вида и движка

настройка внешнего вида и движка

настройка трансмиссии

настройка трансмиссии

донастройка движка и смена цвета

донастройка движка и смена цвета

Так же мы настроили систему смены цвета. Сейчас 2 режима. Обычная покраска и хамелеон.
Далее добавим матовый и металлик.

Что же касается погрузки, всплыли моменты. А именно для удобства разгрузки и чтоб не было перегруза в интерфейсах, мы вернем старую систему, где на погрузке отображался груз который у вас есть. И при необходимости возможность ее разгрузить. То есть это будет одно окно, а не 2 как было в прошлых обновлениях. Во всем остальном тесты проходят успешно. Грузы грузятся и разгружаются :)

Постепенно мы так же внедряем салоны. Сейчас у нас всего 5 авто с салоном. Работы много впереди конечно, но главное сейчас это перестать переписывать код и выгрузить до НГ играбельную версию с полноценным онлаином.

патибас для перевозки людей

патибас для перевозки людей

кеша

кеша

раритет :)

раритет :)

Вот часть автопарка. Машины, по большей части, у нас нестандартные. Потому что надоело однообразие. Хочется и на САЗе покататься и на николе, и на суперкарго и тп.
В следующей статье еще будут фото:))

Показать полностью 9
15

Режимы грузоперевозок

Привет.
Сейчас мы активно настраиваем грузоперевозки и додумываем режимы грузоперевозок.
Для тех кто в танке - у нас 3 режима грузоперевозок.
1 - самый простой режим. взял груз и отвез его до места назначения.
2 - соревновательный режим.
3 - режим перевозок товаров в другие игры.

На данный момент реализована система номер 1 - простая перевозка.
Приезжаем на место. Выходим из машины. Идем в офис и смотрим что взять. Берем груз и едем.
Разгрузку такой системы решено сделать по формату припарковался и пошел в офис оформляться. Так же в этом режиме есть выбор. Разгружать - загружать самому или на автомате.

Что же касается соревновательного режима...в принципе он тоже готов. Логика следующая.
Есть список товаров с указанием допустимого кол-ва участников и сколько мест уже занято.
Так же указывается таймер, который показывает куда надо приехать и во сколько старт. Так как игра онлайн и все участники - реальные игроки, мы не можем генерировать соревнование во время взятия груза, поэтому старт у всех будет в одно и тоже время. А именно каждые 15 минут будет новый список грузов. Первая тройка получит приз. Остальные только оплату за перевозку.
Мы не долго думали и сделали принцип как в 2 дальнобойщиках. Призом является сертификат найма. Только не в соотношении 1 к 1. Надо получить 10 баллов суммарно и тогда вы получите сертификат. За 1 место - 3 балла, за 2 - 2 и за 3 место 1 балл. Если у вас более 10 баллов, то при конвертации их в сертификат, остаток остается на счете. Так же есть и другие призы, но это уже потом. В октябре собираемся активно тестировать данный режим.

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

Показать полностью 2
8

Очередное изменение движка игры

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


Ну..для начала динамическое изменение кол-ва колес. Именно колес. В случае например серьезной аварии или износа элементов колесо может и должно просто отвалиться.
Второй момент - изменения давления в колесах, прокол. Третий момент - изменение режима работы осей и дифференциала. И это малая часть нужных моментов. И все это должно работать налету.
В общем мы с ноги вошли в C++ классы движка и начали там наводить свои порядки.


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

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

В общем... работа кипит. Первый транспорт поедет по онлаину уже к концу месяца.

Показать полностью 3
Отличная работа, все прочитано!