Инди майонез: мы вернулись, релиз 24 марта

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

Всем привет, вот уж не думал, что следующий инди майонез выйдет с такой задержкой. Что же, порадуемся, что он всё-таки вышел. Тема этого девлога всё та же, что и предыдущего - Buildest вот-вот будет доступным для покупки в Steam. А если быть точнее, 24 марта мы запустим игру в ранний доступ. Почему ранний доступ, чем мы занимались год, какие выводы сделали после трёх лет разработки - обо всём этом расскажу ниже. Поехали!

Ранний доступ

Сегодня Buildest - это игра, готовая на 90%. В ней не хватает режима песочницы и, вероятно, придётся ещё выпустить пару патчей, чтобы залатать несколько багов. Решение выпустить игру в ранний доступ было принято исключительно чтобы поделится результатом с игроками как можно скорее и закончить работу над ней уже вместе с комьюнити. По результатам запуска раннего доступа мы будем решать как масштаб доработок, так и, возможно, расширение самого контента. Разумеется, забрасывать проект не планируем в любом случае, однако формат полноценного релиза может поменяться.

Прогресс за год

Инди майонез: мы вернулись, релиз 24 марта

Моё предсказание годичной давности о том, что игра визуально не сильно изменится до самого релиза, сбылась почти полностью. Большим исключением является UI и весь плоский дизайн. В игровой разработке есть множество нюансов, которые кажутся незначительными, однако на самом деле очень сильно влияют на впечатление от игры. Такими нюансами могут быть супер качественные и разнообразные звуки, отзывчивое и удобное управление персонажем, ну и, конечно, также и UI. Им занималась моя жена, и я всё ещё не могу налюбоваться результатом её работы.

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

Весь год мы зря времени не теряли. Мы тестировали, полировали и кодили мультиплеер. И знаете что? Я зарекаюсь когда либо ещё создавать сетевой код! Только для Buildest и возможных его продолжений я готов сделать исключение. Те, кто следит за моими дневниками, давно знают, что я не имею программистского бекграунда. Я 3D художник, который 4 года назад решил делать игры. Этот факт однажды должен был сказаться на процессе разработки.

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

Всё шло довольно неплохо. Если первая игра работала без единого цикла foreach (я просто не сообразил как им пользоваться тогда, хе-хе), то Buildest стал намного более осмысленным проектом. Сложные и комплексные задачи, большое количество вычислений, огромное количество математики и геометрии в алгоритмах генерации здания. Всё складывалось отлично, и даже было оптимизировано. Я не шучу, да это всё ещё супер любительский код, но он работает, и довольно шустро. Единственная проблема могла бы заключается в том, что сторонний программист с трудом бы мог его продолжить. Но что поделаешь, пусть это будет на моей совести.

Возвращаясь к сетевому коду. Изначально придумывая Buildest, я рассчитывал на кооперативную игру. Многая часть фана полагалась на него, духовный прародитель был сугубо мультиплеерным. Я решил, что если и браться за написания мультиплеера в игре, то уже лучше в игре про командную работу. И я начал работать над сетевым кодом. Всё, что я написал выше, никак не относится к моему написанию кода для мультиплеера. Чтобы вы понимали, первые строчки кода, посвящённые сетевому API, были написаны 2.5 года назад. Да, вы не ослышались. Оглядываясь назад, я думаю что, Buildest без кооператива могла бы релизнуться на 1.5 года раньше, минимум. Вы меня спросите, чем же отличается написание кода для синглплеера и мультиплеера? Чтобы не превращать девлог в нытьё по поводу неткода, я просто отвечу списком:

  • Photon engine (сетевой движок который я использовал) не имеет хороших туторов на ютубе
  • У него скверная поддержка. Мёртвый форум. Вялый дискорд, где отвечают через раз
  • У движка очень плохой и вводящий в заблуждение мануал
  • Версия движка активно дописывается. Хочешь обновится, чтобы пофиксились баги - жди новые баги в другом месте
  • Практически ничего не работает так, как написано в документации
  • Тестировать мультиплеер очень больно, так как нужно каждый раз билдить игру
  • Дебажить игру ещё сложнее, так как движок дисконектит игру запущенную в едиторе, из-за того, что та долго грузится
  • Иногда что-то ломается просто из-за плохого интернета
  • Привыкать к способу мышления хост среда/ клиент среда для меня очень сложно (вери хард)

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

Выводы

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

Buildest изначально планировался как большой и сложный проект. Мы понимали, что он потребует сильно больше сил, чем наша предыдущая игра. В ходе разработки проект где-то расширялся, где-то сужался. Многие идеи и механики были добавлены, но ещё больше было отложено до лучших времён (Buildest 2). Мы старались подходить к разработке ответственно, и в итоге всё получилось. Вы совсем скоро сможете оценить результат сами, и мы очень этому рады. Мы начинаем получать фидбек от ютуберов и стримеров, и они отмечают полированность и интересность задумки игры. И это очень воодушевляет! Безусловно, есть ещё много возможностей улучшить игру, частью из них мы воспользуемся к полноценному релизу. Однако получать такие отзывы уже здесь и сейчас безумно приятно!

Понимаю, что многим захочется узнать о наших финансовых результатах после выпуска, поэтому постараюсь не терять связь и выложить апдейт с инфой по этой части. Также, возможно, кому-то будет интересно почитать, как мы продвигали и продолжаем продвигать Buildest в интернете. Этот материал также планирую выложить после релиза. До этого момента, я, пользуясь моментом, хочу поблагодарить внимательного читателя и попросить добавить Buildest в вишлист (если нравится игра). Надеюсь вам пришёлся по душе наш запоздавший девлог. На этом всё, надеюсь скоро вернуться с новыми апдейтами.

9494
21 комментарий

Анимации и визуальный стиль выглядят очень приятно

6

Спасибо за добрые слова)

Красивое

2

*программисты тоже молодцы)

1

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

2

Всегда (если платить вовремя)