Статья удалена
Всем привет!
В прошлом посте я объявил о стартапе в необычном формате: ключевой мыслью было организоваться группой более-менее профессионалов и сделать общий пет-проект исключительно для своего удовольствия :)
Я решил, что буду рассказывать о нашем прогрессе, а также делиться подробностями о применяемых нами инструментах, технологиях и подходах — так что эти записи смогут нести и практическую пользу интересующимся геймдевом.
В этом посте я кратко коснусь основных инструментов и чуть подробнее — системы управления знаниями Notion:
Отчет
С радостью рапортую о том, что количество откликнувшихся меня приятно удивило: суммарно более 30 человек самого разного толка.
Разумеется, кто-то из них был вовсе без опыта, кто-то отвалился в процессе общения, но в итоге сейчас наша команда состоит из:
- Двух геймдизайнеров
- Артдиректора и концепт-художника
- Четырех C# разработчиков
- QA-инженера
С момента нашего первого созвона прошёл месяц, большую часть которого мы потратили на обсуждения и поиски. Мы решили использовать «взрослые» пайплайны, по которым работали до этого в своих студиях: как на микро-уровне (дизайн, арт, разработка, тестирование), так и с т.з. продукта: прежде, чем определиться с конечными требованиями, мы решили пройти длительную фазу итеративного прототипирования.
Геймдизайн
Для начала мы побрейнштормили, и наши ГД выкатили ряд концептов на обсуждение. Long story short, мы выбрали фичу, вокруг которой будет строиться остальная игра, и которая определит многие её особенности.
Этой фичей выступит задержка информации в пошаговой стратегии.
Забавный факт: как бы старательно игры ни пытались симулировать реальный опыт и обстановку руководства отрядом, войском, армией или государством — все имеют критическое допущение в виде моментального распространения информации.
В нашей модели игрок является центром информации, из которого исходят приказы всем войскам, и в который стекаются отчёты от каждого из них.
Информация имеет свою скорость распространения, а игрок видит только последнюю «версию», которая может сильно отличаться от реальности.
Игрок может решить приблизиться к интересующей его локации для ускорения коммуникации, но это влечёт за собой соответствующие риски для него самого.
Это лишь концепт, играбельность которого мы хотим проверить. ГД описали минимальные функциональные требования на прототип и занялись на досуге нарративом.
Арт и нарратив
В процессе прототипирования мы можем решить изменить что угодно, вплоть до жанра игры.
Поэтому художники и ГД изначально занялись построением мира, в рамках которого возможна более-менее любая игра.
Это делается на референсах и ранних концептах без попыток рисовать игровой арт.
Мы остановились на около-фентези сеттинге в рамках альтернативной славянской истории и мифологии. Стилистика — мрачно-реалистичная.
Код
Для наших нужд прекрасно подходит Unity: мы ориентируемся на быструю разработку без оглядки на громоздкий инструментарий.
Впрочем, движок для нас по сути — просто вьюха. Всю логику мы крутим в ECS фреймворке LeoECS.
За пару недель после формирования ТЗ мы набросали первую итерацию прототипа:
- Работает генерация карты и игроков, размещение юнитов и дебаг тулзы
- Интерфейс позволяет отправлять приказы и получать отчёты, управлять юнитами и атаковать другого игрока
- Львиная доля времени ушла на построение базовой архитектуры и выработку соглашений о стилистике написания кода — мы педанты :)
По данному прототипу осталось усложнить систему передвижения, прикрутив поиск пути и «рисование» маршрутов.
Закончив этот стек задач, можно будет приступать к плейтестам, по результатам которых мы решим, насколько это жизнеспособная механика.
Если читатели заинтересуются, мы выложим прототип в открытый доступ для потыкать :)
Notion
За последние 6 лет в геймдеве я работал с самыми разными корпоративными информационными системами: чаще всего львиную долю потребностей разработки покрывал стек Atlassian, в частности — связка Jira + Confluence.
Однако, в последние годы облачная Конфа (да и Жира пожалуй) окончательно превратились в неюзабельное говно, поступившись функционалом, гибкостью и удобством в пользу казуальному дизайну и однокнопочности.
Мне не приходило в голову более удачных аналогов, т.к. все они обладали теми или иными критическими недостатками.
Отдельно хочется выделить, разве что, Wrike, единственным недостатком которого является конский ценник в $25/мес за пользователя.
К тому же в идеале хотелось совместить менеджмент и документацию в одном инструменте.
Пока у меня было свободное время, я сам себе поставил челлендж собрать систему управления проектом в нежно любимых мной google sheets.
Справедливости ради, чисто формально это работало: можно было заводить задачи, трекать статусы, выгружать данные на личные страницы участников.
Но выглядело это так себе, а простейший функционал приходилось реализовывать средней монструозности формулами:
Почувствовав, что я занимаюсь какой-то херней, я решил в очередной раз попробовать подружиться с Notion, который уже не первый год манил мой взгляд своим необычным функционалом.
И с такой-то попытки это наконец удалось!
Итак, Notion — это очень комплексный сервис, который позволяет пользователю создавать странички (вполне похоже на любую другую вики) со всякими мелкими удобностями.
Но его киллер-фича — это базы данных.
Потратив какое-то время на настройку и линковку, ты получаешь фактически кастомную CRM, работающую по твоему пайплайну, а заморочившись шаблонами, фильтрами и представлениями — делаешь удобной работу для членов команды. Проиллюстрирую:
Каждая БД состоит из записей (строки) и полей (столбцы).
Поля могут быть различных типов, некоторые из которых весьма интересны.
Связь с другой БД (Участник, Итерация, Артефакт): позволяет создать связь 1-к-1 между двумя записями разных БД. Иными словами, если вы создаёте задачу и присваиваете её исполнителю — она автоматически появляется в соответствующем поле соответствующей записи БД исполнителей:
Подсчёт данных из связи: отдельный вид поля, который позволяет получить содержимое полей из другой БД и как-то его обработать (посчитать сумму, среднее, медиану, количество, и т.д.)
Формула: практически то же, что и формулы Экселя или google sheets, но, конечно, гораздо беднее функционалом. Впрочем, в связке с предыдущими пунктами позволяют делать достаточно нестандартные штуки:
Очень удобно вести базу знаний чего мы там накодили:
В целом Notion закрыл все наши текущие потребности по документации, логированию, контролю артефактов и т.д.
Я с удовольствием ещё многое рассказал бы, но, кажется, этот пост выходит уже неприлично длинным — так что до следующего!
Мы всегда рады желающим принять участие: даже небольшой вклад станет частью чего-то большего. Особенно активно сейчас нуждаемся в художниках всех сортов, преимущественно — концептерах.
Если вам было бы интересно разделить проект «для души» с людьми, разделяющими ваш опыт и отношение к делу — пишите любым удобным способом в комменты или мне напрямую:
Буду рад пообщаться в комментах и ответить на вопросы :)