DRAWING - devlog #1, небольшая игра в жанре bullet-hell

Продолжаю на досуге пилить игру под названием DRAWING в жанре bullet-hell. Вот ссылка на itch.io. Играть можно прямо в браузере. Первый раз я презентовал её на DTF месяца три назад. С тех пор не так много получилось добавить, но всё-таки хотелось бы поделиться.

Вот вы мне не поверите, но я начал делать эту игру аж в 2016 году. В доказательство могу предъявить дату моей регистрации на DTF. У меня тогда было очень много командировок по работе, и чтобы как-то проводить время вечерами в гоcтиницах, я решил запилить игру. Да-да, я знаю, это не самое очевидное решение, как можно потратить время в незнакомом городе поздно вечером :-)

Я довольно давно люблю играть в компьютерные игры, но почти все они за редким исключением надоедали мне довольно быстро. Так что я очень редко когда их проходил.

И тут мне пришла в голову идея: раз мне нравится играть в игры, но при этом не нравится в них играть долго, может быть мне стоит запилить свою игру? Для меня это сразу много разных видов деятельности: от кода до рисования, от звука до продвижения, не заскучаешь. К тому же я неплохо владел Photoshop ещё с института, так что норм.

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

Я понимал, что сделать MMORPG на 100500 игроков с прекрасным нэкст-ген графоном мне явно не под силу, поэтому я сразу определился с жанром: top-down shooter. Этот жанр требует минимум кодинга и баланса. В общем, я был полон оптимизма и готов был стать вечерним инди-разработчиком.

Ну, что, Unity скачан. Поехали!

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

И тут - БАМС! Оказывается, мои навыки кодинга изрядно растаяли с момента последнего подхода к PHP. Это единственный язык, на котором я писал что-то сам в далёком-далёком 2006 году. А тут нате вам - C#!

Моя скорость работы над игрой упала буквально до нуля. Мне было непонятно буквально всё: как вставить файл в ассеты, как создать анимацию, как объявлять переменные в C#, какие вообще сущности есть в Unity и ПОЧЕМУ ЭТОТ КОД НЕ РАБОТАЕТ, Я ЖЕ ВСЁ СДЕЛАЛ, КАК В ОБУЧАЮЩЕМ РОЛИКЕ!!!

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

Изначально моей идеей был корридорный шутер в стиле 12 is better than 6, но я понял, что располагая всего лишь одним работником в лице самого себя, я не смогу закончить такую игру за какое-то разумное время.

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

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

Ну, я и забил, как очень часто делают все начинающие инди.

Прошло примерно 6 лет, за это время я сменил работу ещё один раз, у меня родились ещё двое детей, и я переехал жить во Францию.

Однако, примерно в декабре 2021-ого года я вспомнил о своей попытке в геймдев. И почему-то эта идея вновь показалась мне интересной. Несмотря на то, что у меня уже есть один пет-проджект - подкаст "Планы на завтра" про будущее и долгосрочное мышление, - я решил вновь заняться играми.

Файлы на старом ноуте уцелели, а новый бегает намного быстрее. Unity вновь установлена.

Окинув взглядом картину из прошлого, я смело порезал идею до top-down bullet-hell shooter, теперь я вдохновлялся скорее Crimsonland. С таким количеством работы, мне кажется, я справлюсь.

Первая строчка кода в новом [старом] проекте была написана на новогодних каникулах 2021 - 2022. Вначале работа шла довольно активно, мне удалось не только реализовать все фичи с прошлого раза, но и сделать несколько других. Но я совсем не подходил к проекту с марта по сентябрь этого года, было сложно заниматься хобби в таких условиях. Но внутренняя мотивация всё равно перевесила, так что я решил доделать игру хотя бы до играбельной версии на itch.io.

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

Но там была просто новость, а это - полноценный дэвлог.

Итак, что изменилось за эти 3 месяца:

  1. Игра была совсем немой, а теперь появились разные звуки, включая музыку, играть стало намного веселее!
  2. Вместо сборки под Windows, теперь можно играть прямо из браузера.
  3. Убрал один баг, который неправильно считал время игры при выходе в режим паузы.
  4. Немного поменял баланс выпадения аптечек и апгрэйда максимального здоровья, теперь не так просто набрать 1000 HP.

За прошедшие 3 месяца я много узнал про то, как именно следует писать код, прочитал Чистый код Роберта Мартина. В общем и целом, мой код - просто ужасный, нет, он ПРОСТО УЖАСНЫЙ! Интерфейсов нет, классы кривые-косые, архитектура хаотичная, невероятно много повторений одного и того же кода.

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

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

Спасибо всем, кто прочитал этот лонг :-)

Очень прошу всех заходить на kushchin.itch.io, пробовать и комментировать!

1111
2 комментария

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

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

1

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