Gamedev Богдан Бортаков
1 478

Разработка гибридного симулятора дальнобойщика

Тяжёлые будни дальнобойщика-экономиста скоро в вашем смартфоне.

В закладки

Всем привет. Сегодня я хотел бы поделиться историей создания нового проекта нашей компании, имеющего рабочее название Real Heavy Truck. Старался рассказать коротко, а получилось много. Что же, не судите меня строго.

NB: буду рад каждому мнению об игре и о том, как можно сделать её лучше!

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

Предыстория

Октябрь плавно уступал место дождливому ноябрю, а я искал работу в качестве геймдизайнера. За плечами был год работы с играми в жанре «ферма» для социальных сетей, неистовое желание делать игры и вполне обоснованные ожидания по зарплате. Наконец, после месяца поисков, я получил предложение стать частью компании Yuqio.

Итак, понедельник, первый рабочий день. Мне показывают наработки компании, и задают коварный вопрос: «Знаешь, мы сейчас находимся в поиске идеи. Как считаешь, какой из этих проектов будет наиболее перспективным на мобильных платформах при вот таком бюджете? Нужно успеть его сделать за шесть месяцев».

Вариантов было всего три:

  • HOPA (Hidden Object Puzzle Adventure, поиск предметов);
  • MOBA (Multiplayer Online Battle Arena) с завязкой на теории о мультивселенной;
  • гибрид симулятора грузовика с экономическим симулятором.

Мне предоставили четыре часа на исследование рынка, и я выбрал именно последний вариант. На вопрос о причинах ответил:

  • HOPA требует уделить огромное внимание как art-составляющей, так и сюжетной части. Из-за этого разработка может затянуться на неопределенный срок, так как ядро команды только начало формироваться;
  • игр в жанре MOBA сейчас настолько много, что создавать ещё одну — значит серьёзно рисковать не получить отдачи от этого, затерявшись среди клонов DotA 2, LoL и прочих титанов индустрии;
  • действительно качественных продуктов в жанре «симулятор тяжёлых автомобилей» сейчас не слишком много; многие конкуренты обходятся дешевыми моделями зданий, пустынными городами и совершенно несуразным интерфейсом, имея при этом более миллиона установок;
  • Симуляторы вождения — довольно нишевый жанр, фанаты которого редко обходят стороной новые продукты.

По довольным улыбкам CEO и COO (исполнительный и операционный директор соответственно) я понял, что попал в точку.

Начало работы

Первый играбельный прототип

Как показала практика, легко сказать: «А давайте сделаем вот это!» Намного сложнее сказать, как именно мы это сделаем.

Первая неделя прошла под знаменем одиночества. Так уж вышло, что из всей новой команды первым нашли именно геймдизайнера, потому все эти дни я занимался только и исключительно документацией. Создание концепта, Vision и дизайн-документа — в бесконечных обсуждениях формировалась идея игры.

Задачами игрока являются перевозка грузов по генерируемым заказам и развитие собственного бизнеса в перевозках.

Поначалу вопрос гибридного жанра стоял особенно остро: как совместить два полноценных жанра, при этом не лишая игрока свободы действий?

Свобода игрока

«Если я хочу водить машину, я буду водить машину. Мне вряд ли будет интересно строить склады, управлять персоналом и заниматься бухгалтерией — особенно если без этого я не смогу ездить на машине», — такое видение мы сформировали для фаната симуляторов вождения.

«Если я хочу строить компанию, у меня не останется сил на самостоятельные перевозки груза. Где это видано, чтобы глава компании сам баранку крутил?» — так любитель экономических симуляторов поставит под вопрос нашу идею.

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

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

Хочешь водить грузовики? На здоровье: прибыль от перевозок достаточна для покупки новых машин. Да, если ты наймешь водителя и дашь ему машину, он ускорит твой заработок, но ты не обязан это делать.

Хочешь развить свою компанию? Пожалуйста — после покупки второго грузовика ты получишь возможность нанять водителей, которые будут выполнять заказы вместо тебя. Да, ты должен отдать им долю прибыли, но ты всегда можешь сам сесть за руль самостоятельно.

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

Макет карты будущего мира игры

Итак, базовая документация создана, идея одобрена. Что же дальше?

Программная часть

К концу недели, ко мне присоединился программист. Описав ему игру, я услышал вполне ожидаемый ответ: «Сделаем на Unity, вон я даже вижу у нас что-то похожее на сервере лежит. Да, и давай уточним пару моментов...»

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

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

Контент

Как вы понимаете, без грамотного планирования нельзя создать качественную игру, а создание любого контента требует как минимум двух ресурсов: времени и денег. Разделив всю систему на ключевые компоненты мы смогли оценить объём работы, которую мы успеем выполнить в ближайшие месяцы.

К примеру, для бетаверсии нам нужны такие 3D-объекты для создания полноценных карт, по которым будет приятно перемещаться:

  • 25 грузовиков на основе реально существующих моделей;
  • 15 прицепов для разных типов грузовиков;
  • пять вариантов грузовой базы;
  • наборы моделей «Город», «Деревня», «Трассы», «Бездорожье» и «Лес».

Безусловно, мобильные платформы накладывают свои ограничения на детализацию и количество моделей в игре, но, как показал прототип, управляемые грузовики на 50 тысяч полигонов Unity обрабатывает с частотой 90 FPS.

Интерфейс

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

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

  • уровень — интерфейс, доступный игроку при непосредственном управлении машиной;
  • гараж — место, где игрок хранит и улучшает свои машины, а также назначает водителей на те, которыми сам он сейчас не пользуется;
  • база заказов — что-то вроде интернета, откуда игрок узнает о заказах на перевозки из точки «А» в точку «Б», условиях выполнения и наградах за доставку;
  • магазин — здесь всё стандартно: мы покупаем и продаём машины, нанимаем водителей, покупаем скидки для сетей заправок.

Признаюсь, моих навыков рисования хватило только на простой концепт интерфейса:

Нет, на руле не натянуты трусы. Честно. Правда-правда

После долгих правок, пояснений функционала и уточнений по стилю мы пришли к рабочему варианту интерфейса:

Естественно, интерфейс не является финальным. С его помощью мы тестируем текущую версию игры.

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

Собственно, геймдизайн

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

Игрок зарабатывает деньги. Как он это делает? В каком количестве? Как остаться близким к реальным цифрам заработка водителя грузовика?

Игрок улучшает машину. Что он улучшает? Можно ли отдельно улучшить двигатель? Как это повлияет на реалистичность игры?

Один из ключевых вопросов: как игрок получает, хранит и заправляет топливо для разных машин?

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

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

Режимы игры

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

  • Ежедневные события. Один заказ для всех участников, который обновляется каждый день. Победитель, выполнивший заказ наиболее эффективно (учитывается время доставки, целостность груза и даже оптимальность маршрута), получает особую награду.
  • Challenge room. Создаются «комнаты» для игроков разных уровней. В ней есть заказы, которые распределяются по принципу «кто первый взял заказ, тот его и выполняет». Заказы приносят разное количество очков рейтинга внутри комнаты, а по окончанию недели тройка лучших получает соразмерные награды.
  • Контракты. С некоторого момента, у игрока есть возможность не искать заказы в базе, а подписать долгосрочный контракт с другой фирмой. С момента заключения договора он получит заказ сразу после выполнения прошлого, а в случае успешного выполнения всех заказов по контракту — дополнительный бонус.

Подводя итоги

Итак, начался февраль. За прошедшие три месяца мы сделали довольно много: готовы уже 20 машин из запланированных 25, игрок уже может выполнить заказ и улучшить свой транспорт. В ближайшие два месяца мы займёмся дизайном глобальной карты, добавим возможность найма водителей и настроим соревновательные режимы.

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

P.S.: у нас есть сообщество на Facebook. Если вам интересна судьба проекта — присоединяйтесь.

Если вы хотите поделиться своим опытом создания игры или рассказать какую-то историю, связанную с геймдевом, то смело нажимайте кнопку «Написать» и делитесь опытом. А мы, отредактировав текст (если это потребуется), перенесём его в раздел Gamedev.

#опыт

Материал дополнен редакцией
{ "author_name": "Богдан Бортаков", "author_type": "self", "tags": ["\u043e\u043f\u044b\u0442"], "comments": 27, "likes": 30, "favorites": 2, "is_advertisement": false, "subsite_label": "gamedev", "id": 15516, "is_wide": false }
{ "id": 15516, "author_id": 39163, "diff_limit": 1000, "urls": {"diff":"\/comments\/15516\/get","add":"\/comments\/15516\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/15516"}, "attach_limit": 2, "max_comment_text_length": 5000 }

27 комментариев 27 комм.

Популярные

По порядку

Написать комментарий...
6

Звучит интересно. Видно, что работа проделана не на отцепись.

Однако к интерфейсу вопросы. Сомнительно, что в 2018/19 годах кто-то захочет играть в симулятор с интерфейсом прямиком из 90-х.
Как в планах будет выглядеть внутрянка грузовиков? 3D-кокпиты или подобие Spintires?
Карта будет напоминать реальную или полностью вымышлена?
Что планируется делать с трафиком?

Ответить
0

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

Ответить
2

Внутренняя часть грузовика стала большой проблемой: на отделку кабины ушло бы много ресурсов. По этой причине решили добавить вид от первого лица (камера стоит прямо перед лобовым стеклом) и от третьего - оптимизация производства)

Справедливости ради, можно было бы реализовать три вида из кабины по аналогии с Дальнобойщиками 2. Сомневаюсь, что на это уйдет очень уж много ресурсов (полную детальную проработку не обязательно делать, а виды являются 2D. То есть найти фотографии и примерно перерисовать), а тенденция ныне такова, что многие стараются делать даже 3D-кокпит, не говоря уже о 2D панелях. Для примера можно зайти в App Store и ввести "bus" или же "truck". Результат удивляет, но несколько десятков симуляторов с видом из "глаз". То есть, грубо говоря, засилие симуляторов с видом от первого намекает на необходимость реализации.

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

Но понаблюдать за проектом интересно. И ещё, как я понял, будут только седельные тягачи с полуприцепами?

Ответить
0

По транспорту - да, седельные тягачи. Так как пишем систему и физику с нуля, решили начать с простого варианта сцепки грузовика с полуприцепом.
В бОльшую часть из доступных в том же App Store уже довелось поиграть. Да, 3D кабины и вид "из глаз" сейчас почти что у всех. Тут тебе и кастомизация кабины, и монетизация освежителей воздуха...
Возможно, мы бы и сами так сделали. Но вот беда - бюджет довольно скромный для такого проекта, потому лучше потратим его на более глубокую проработку экстерьера машин и дизайн глобальной карты.

Ответить
3

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

Поэтому со стороны геймдизайна лучше подумать о варианте с 2D-панелями, чутка урезав качество внешки, раз уж бюджета на объемные не хватает.

Ответить
4

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

Ответить
0

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

Ответить
2

Эй, а если попробовать реализовать траксимулятор с полным приветом Crossout и Ex-Machina? Ведь согласись кроме как этих игр, и ещё одной инди с видом сверху и механикой FTL собственно такого и нет. И реализовать кооп на двоих. Один в Кабине и за баранкой. Другой за пушками.

А лучше даже так.
Один человек за рулём. Другой за спаренным орудием, пулимётом. Третий за радаром и картой. Частично даже по механеке будет напоминать Sea of Thives.

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

От себя лично могу предложить работу с 3д моделями.

Ответить
1

Идея крайне интересная, запомним)
Впрочем, есть и подводные камни: если 1 занимается вождением, а второй - стрельбой, то рано или поздно возможен перекос в пользу одного направления среди игроков.

Ответить
0

Каждый может легко менятся местами. И \ или сделать фишки, которые делают выгодной каждую проффесию.

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

Ответить
2
Ответить
1

Привет. Поправили чутка текст и перенесли в Gamedev. Если захотите что-то поправить, то пишите. Спасибо за материал.

Ответить
1

Привет! Рад, что еще одна статья попала в GameDev-раздел)

Ответить
1

Идея классная, надеюсь не разочаруют.

Ответить
0

Будем стараться ;-)

Ответить
1

А почему не на ПеКа? Там кроме ETS2/ATS ничего нет, а жанр востребован (4кк+ проданных копий только у ЕТСки).

Ответить
1

А есть "симулятор грузовика" в мире "после апокалипсиса" (зомби, гражданская война, разруха, эпидемия)? Можно очень атмосферный "роадмуви" сделать. Stardew Valley на колесах. Помогаешь друзьям, наживаешь врагов.

Ответить
0

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

Хочешь водить грузовики? .... Хочешь развить свою компанию?

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

Ответить
0

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

Ответить
2

Ни в коем случае! Занижать результат труда - всё равно, что обманывать игрока.
Постараюсь показать на примере, где у игрока есть две машины.
Водитель: Если он сам ездит на одной из них и не хочет нанимать водителя на вторую машину, он выполнит около 5 заказов за час (условно).
Менеджер: Если он отдаст обе машины водителям, за то же время они выполнят по 2-3 заказа каждый (в зависимости от дальности перевозки) - итого те же 5 заказов.
Водитель + менеджер: За час игрок выполнит 5 заказов сам, + в перерыве между заказами даст водителю второй машины на выполнение еще два заказа. Итог - около 7 заказов за час, но и требования к активности игрока выше.

Ответить
0

Ага, спасибо)

Ответить
0

Надеюсь, будет похожа на Дальнобойщики 2, а не на третью часть серии

Ответить
0

Спасибо за информацию, очень интересно.
А что игрок делает между поездками? Это как-то геймплейно обыграно?

Ответить
0

Удачи с проектом!)

Ответить
0

Хотел уточнить вот такой момент

"Безусловно, мобильные платформы накладывают свои ограничения на детализацию и количество моделей в игре, но, как показал прототип, управляемые грузовики на 50 тысяч полигонов Unity обрабатывает с частотой 90 FPS".

В прототипе в обсчитываемой одновременно сцене (с учетом лодов если вы их делали, то есть вся зона видимости игрока) сколько было полигонов при 90 FPS? Какое разрешение текстур? И о каком тестовом устройстве речь?

Ответить
0

Игра на ностальгии? Надеюсь, нет.

Ответить

Комментарий удален

0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
Гейб Ньюэлл наконец-то анонсировал то,
чего все так долго ждали
Подписаться на push-уведомления