LS Garage. Часть 3: инструменты и технологии
Привет, друзья! Продолжаю вести хроники создания нашего виртуального гаража, где потрепанная автоклассика из прошлого века превращается в холст в руках умелого художника.
Если это одиозное заявление сработало и внутри вас проснулся живой интерес к проекту или желание разобраться и наказать виноватых в комментариях, вот тут можно почитать про геймплей, а здесь про историю сабжа. Сегодня же пост будет про инструменты и технологии, которыми пользуется наша команда.
Дизайн
Рисовать интерфейс и контент для игры я начал задолго до начала технической разработки. Для этих целей была выбрана Figma. Все модельки ассетов и иллюстрации, как и элементы интерфейса, создаются в ней, группируются под экспорт и сразу получают осмысленные названия в соответствии с определенной маской. Таким образом, благодаря тому что Figma живёт в облаке и позволяет создавать ссылку на конкретный экран с комментариями, она выступает не только в роли редактора, но и как удобное хранилище актуальных графических ассетов.
Исключением стали только фоны: сначала я также сделал их с помощью векторных инструментов, получилось весьма сносно, но хотелось, чтобы у них был более живой характер. В итоге через чатик для разработчиков в телеграме мы нашли девушку-иллюстратора, которая отрисовала их на графическом планшете. Результатом мы остались очень довольны.
Разработка
Клиентская часть игры создаётся на Unity. Изначально игра будет выпущена для операционных систем Android и iOS. В процессе разработки используется несколько десятков плагинов Unity для работы с интерфейсом, контентом и взаимодействием с устройством и сервером.
Серверная часть игры разрабатывается на фреймворке ASP.NET Core. В качестве базы данных представлена PostgreSQL. Сервер расположен на VDS на хостинге IHC. Данный хостинг предлагает выгодные сервера с местонахождением в России, низким пингом и базовой защитой от DDOS.
Веб приложение работает в Docker контейнере. Для CI/CD используется GitLab, который позволяет без дополнительных затрат сильно облегчить процесс разработки.
Звук
Основная часть аудио контента, включая озвучку интерфейса и фоновые шумы была собрана из библиотек открытых стоков с вниманием к указанным в лицензии условиям использования. Со временем, конечно, хочется уделить этому моменту больше внимания и сделать свои кастомные звуки с общей атмосферой, дополняющей игру. С музыкой же решили заморочиться сейчас. В этом вопросе уже был определенный бэкграунд, поэтому мы с двумя товарищами и кучей железок за пару выходных записали главную тему игры и несколько её вариаций.
Юридические моменты
В игре будет монетизация на внутренних покупках, поэтому с самого начала мы обратили внимание на юридическую сторону проекта. В итоге после прочтения кучи статей решили, что для начала попробуем новый режим для самозанятых, выглядит все доступно и необременительно. Как будет на практике — посмотрим.
За пользовательским соглашением и политикой конфиденциальности обратились к юристам.
Также упомяну про сторонний контент в игре. В играх про автотюнинг часто используются логотипы производителей запчастей в качестве стикеров. У больших проектов проблем с этим нет, а вот инди разработчики зачастую делают свою графику, коверкая названия и знаки, чтобы не получить претензии от сторов и правообладателей. Мы пошли другим путем: сделали короткую английскую презентацию об игре и стали методично рассылать ее на имейлы компаний с просьбой предоставить разрешение на использование товарного знака. В итоге, нам положительно ответили около 10 крупных компаний, а юристы одной из них даже помогли с типовым договором.
Внутренние документы
Тут все просто: у нас есть основной файлик на Google docs, где хранятся все ссылки на актуальные документы по игре. Баг-лист ведётся по датам билдов, по мере устранения баги переносятся в архив.
Спасибо! Надеюсь, что-то из этого было полезно или любопытно, если есть вопросы или советы, обязательно пишите.