creator cover BTW gaming
BTW gaming

BTW gaming 

GameDev

1subscriber

6posts

goals1
0 of 100 paid subscribers
Больше подписчиков, больше мотивации

About

На момент написания данной заметки мне 33 года. С самого детства, когда познакомился с легендарным Doom, я начал мечтал заниматься разработкой видеоигр. Для воплощения своей мечты, начал изучать программирование еще в школе. После школы я поступил в технический ВУЗ, где глубже погрузился в разработку. После “универа” вместо геймдева попал в круговорот web разработки.
И вот спустя 7 языков программирования, сотни проектов, десятки компаний и путь более чем в 13 лет от джуна до лида, я решил вернуться к своей мечте.
Тут вы сможете стать свидетелями воплощениями оной, а так же поддержать и повлиять на этот столь не легкий путь.

Локализация

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

Решение

Прочесывание официальной документации, GitHub issues и других источников разработческой мудрости не привело к решению проблемы скорости запуска игры в вебе под macOS и iOS. Сначала я даже задумался над тем, чтобы пожертвовать пользователями данных систем и дождаться исправления на стороне движка.
После общения с технической поддержкой Яндекс Игр, мне дали понять, что на текущий момент для их платформы нет возможности включения SharedArrayBuffer. Однако мой запрос отправят разработчикам площадки на рассмотрение, и когда проблему решат, об этом напишут в своем блоге.
Поскольку обе вышеперечисленные проблемы имели общий корень, и если в какой-то мере пожертвовать частью аудитории (временно) я был готов, то затягивать возможность релиза и первых тестов игры откладывать на неопределенный срок очень не хотелось. И было принято волевое решение провести даунгрейд и портировать игру на Godot 3. Поскольку проект, разработанный под 4 версию движка, полностью не совместим с 3, и все равно нужно пересобирать все сцены и переписывать большую часть скриптов, решилась и 3 проблема. Я отказался от GDScript в пользу C#, получив более гибкий и оптимальный инструмент для разработки в нагрузку с полноценной IDE Rider.

Первые проблемы

Первые проблемы проявились достаточно быстро, что в целом хорошо, лучше, чем когда игра была бы полностью закончена. И так по пунктам:
1. В 4 версии движка есть проблема запуска веб-сборок на MacOS и iOS (игра запускается, но очень долго, до 1-3 минут, в официальной документации вообще написано, что пока веб не будет работать и вовсе для данных платформ).
2. Наша целевая площадка на первых порах - Яндекс Игры, и тут всплывает вторая проблема 4 версии движка. Объект SharedArrayBuffer подобен ArrayBuffer, то есть это буфер фиксированной длины, используемый для хранения любых бинарных данных. Главное отличие SharedArrayBuffer от ArrayBuffer заключается в том, что он используется для создания разделяемой области памяти. В отличие от ArrayBufferSharedArrayBuffer не может быть откреплен от соответствующей ему области памяти. Наша версия движка SharedArrayBuffer используется без возможности его отключения, так как это влияет напрямую на оптимизацию работы игры в браузере. В 2018 году разделяемая память была отключена в браузерах по соображениям безопасности после атаки Spectre. В 2020 году был стандартизирован новый, безопасный подход, чтобы включить разделяемую память обратно. И для его работы нужно специфическим образом отдавать контент со стороны сервера, включив определенные CORS заголовки. Проблема Яндекс Игр в том, что данные заголовки они сами не отдают и не дают возможности включить их в личном кабинете при загрузке игры.

Первый геймплей

Итак, спустя несколько дней неспешной разработки, мы получаем первую играбельную демку. С момента записи геймплея прошло достаточно много времени, были придуманы несколько типов противников, и началась приближаться дата загрузки черновика на Яндекс Игры. Но куда же без трудностей? В следующей публикации я расскажу, что произошло, и почему пришлось переписывать проект фактически с нуля.

Получение урона и лечение

Привет! Мы хотим поделиться с тобой первой тематической публикацией о нашей первой игре. Сейчас мы находимся в начальной стадии разработки, так что пока сложно сказать, что из этого всего получится. Но мы планируем создать игру в жанрах roguelike и Shoot'em up.
Частично ассеты были взяты из официального туториала Godot по 2D-играм. Сначала мы сосредоточимся на создании механики и постепенно будет добавлять свою графику.
Первые шаги в разработке - это движение, получение урона и лечение.
Следи за нашими обновлениями, чтобы узнать больше о нашей игре и как мы ее создаем!

Начнем

Итак, немного о планах. Как говорится, Рим строился не один день, поэтому и нам стоит начать с малого. Творить будем по нарастающей, попутно углубляясь в матчасть и знание движков. Первые игры будут нацелены в основном на веб и размещаться на Яндекс.Играх - не лучшей площадке, но имеем то, что имеем. Основное направление - 2D, за движок выбран Godot. В дальнейших публикациях расскажу, почему выбор пал именно на него, несмотря на опыт работы с Unity.
Subscription levels5

Что тут происходит?

$0.64 per month
Простое проявление интереса

А как это работает?

$1.28 per month
Больше постов о прогрессе разработки, которые будут выходить раньше чем на других платформах

Дай "пощупать"

$2.56 per month
* доступ к закрытым постам
* больше демо материалов по играм
* возможность "пощупать" проекты на разных этапах

Дай помогу

$12.8 per month
В рамках этой подписки вы получаете все преимущества, доступные в других подписках, а также возможность вступить в закрытый чат, где вы сможете обсуждать идеи и принимать участие в голосовании за путь развития игр, механики и функциональности.

Почему бы и нет ?

$128 per month
Все тоже самое что и в предыдущей подписке, просто хочется/можется помочь больше 
Go up