«Объясняю каждую строчку» — отчёт за сентябрь

Я всё ещё тут. И я делаю видеоигру для себя, и для всех, кто готов за этим процессом наблюдать. Да, графон всратый, я в курсе.

«Объясняю каждую строчку» — отчёт за сентябрь

Что было перед прошлым отчётом

Была идея передачи "Объясняю каждую строчку", где я решил сделать видеоигру на стриме. От первой до последней строчки. За кадром было нарисовано несколько спрайтов в самом начале, когда я ещё мог нарисовать их до стрима за пять минут.

Опрос постановил, что мне надо делать Top-down shooter. И я начал его делать, назвав его Explaining Every String.

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

https://www.youtube.com/playlist?list=PL2aDCwWBF7TMqTlVPPYpKv5pvEsIA0r9O

Это единственный работающий способ вставить сюда эту ссылку.

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

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

Монорельсы на втором уровне​ chelovekbeznika​
Монорельсы на втором уровне​ chelovekbeznika​
Сила лебедя!​ chelovekbeznika​
Сила лебедя!​ chelovekbeznika​

Что изменилось за месяц

Часть месяца была посвящена всяким разным мелочам. Больших же вещей было сделано две:

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

Делаем "шурх" сквозь сквозь пули.​ Полосочка над хэлс-баром показывает, что мы делаем "шурх"<br /> chelovekbeznika​
Делаем "шурх" сквозь сквозь пули.​ Полосочка над хэлс-баром показывает, что мы делаем "шурх"
chelovekbeznika​

А ещё я героически решал проблему пустоты за пределами уровня. Решение получилось немного наркоманским. Узор из случайных спрайтов размером в один тайл.

​Помогите Даше найти край уровня.<br /> chelovekbeznika​
​Помогите Даше найти край уровня.
chelovekbeznika​

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

На скриншоте не видно, но эти штуки ещё и анимированны.<br /> chelovekbeznika
На скриншоте не видно, но эти штуки ещё и анимированны.
chelovekbeznika

Если захотите всё это счастье погонять, то вот тут ссылка. На геймпаде один стик движение, второй стрельба, а левое плечо - делать "шурх". По меню перемещаться крестовиной. Если нет геймпада, то в файле Content/Data/config.data заменяем Gamepad на KeyBoard. На клавиатуре движение WASD'ом, стрельба мышью, а шурх с помощью левого шифта.

Какие планы на дальнейшее

Следующее, чем я займусь (уже в пятницу, в 20:00 по москве) - это третий уровень. На данный момент создание уровня на 60 процентов состоит из редактирования JSON-файла. Так уж исторически сложилось. Но нам придётся и подумать, и посидеть с бумажкой, и порисовать, и попрограммировать, и даже чуть-чуть звуков поделать.

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

Потом по плану первый босс. Да, Галактический лидер, я помню твою просьбу. Первым боссом будет именно трансформер, мегатрон какой-нибудь.

А после кое-что, до чего мне не терпится добраться. Музыка! Да, в Monogame сыграть на фоне свою MP3 - строчек пять-десять. Но мне кажется, что это скучно и я придумал кое-чего получше. Но об этом будем говорить, когда до этого дойдёт дело.

Ссылочки

https://www.youtube.com/c/explainingeverystring

Не надо на меня так смотреть, это единственный способ сделать рабочую ссылку на канал на ютубе.

Паблик вк:

Дискорд:

Для самых отважных. Тот же плей-лист на ютубе, но в иной форме:

P.S.

Куда тут слать баг-репорты? Объединение инструментов "ссылка" и "ссылка на видос/инстаграмм/медиа всякие разные" даёт не очень приятные эффекты при попытке вставить ссылку на канал на ютубе, например.

4848
10 комментариев

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

4
Ответить

У вас прямо синдром Шона Мюррея - если нет ресурсов и времени чтобы сделать хорошо, напиши программу которая сделает как-нибудь. Да и для аркад, и особенно с быстрым темпом игры, этот способ не совсем подходит, ибо музыка имеет довольно важную роль в данном жанре и надо думать о синхронизации внутренних звуков со звуками музыки, хотя бы банально следить, чтобы одно не глушило другое. Нет, конечно можно все это задать в алгоритмах генерации, например запретить определенный спектр нот, в котором будут располагаться остальные звуки игры, но для этого придется обучать собственную сеть, а это займет примерно столько же усилий сколько и игра.

1
Ответить

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

Ответить

Быстрее будут туториалы и книги, я думаю. Под книгами я имею в виду не только, и не столько "Unity in Action", а классику дающую фундаментальное знание. Хотя бы тот же "Совершенный код". То, что происходит на видосах, мягко говоря, идёт неторопливо, потому что это не сжатый туториал, а тупо создание работающей вещи с нуля с помощью лопаты, спичек и желудей.
Вообще, те вещи, которые я объяснял на первых двадцати стримах, я в итоге спрессовал в эту статью на Хабре:
https://habr.com/ru/post/446816/
О всяких возможностях Monogame можно почитать тут:
https://dtf.ru/gamedev/37289-xna-monogame-dvuedinyy-bog-indi-razrabotki
Но он слишком низкоуровневый, поэтому имеет смысл глянуть в сторону тех вещей, где больше всякого из коробки доступно. Тот же Unity, или Godot. Хотя для обучения проге Monogame неплохо так подходит. Он очень приятный, и не слишком обременяющий (не считая возни с ассетами).
А про мои видео скажу так:
Точно не бесполезно, но не самый оптимальный вариант. Из плюсов: у меня не срезаются острые углы, не оставляется туториал, для показа одной фичи, а выстраивается полностью рабочее приложение. Со всеми сопутствующими проблемами типа "как это всё заставить работать вместе". Что, если честно, самое трудное, если брать именно программерскую сторону. Если времени совсем нет, а причаститься хочется, есть код на гит-хабе и 50-ый стрим, где я объясняю вещи, написанные к этому моменту.

4
Ответить

вытекают глаза 

Ответить

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

Ответить

Хм, ты в одиночной разработке заморачиваешься с делением на стримы?

Ответить