Я помню, как всё начиналось

Я много играю в игры. Много и давно. В сущности, более-менее с момента каких-то осознанных воспоминаний. Первые игры были даже не консольными, а, эээ, игроавтоматческими. Знакомые, я думаю, многим "Городки", "Меткий стрелок" и, конечно же, "Морской бой". Какой там "Silent Hunter" или "Battlestations: Midway"! Погружение в процесс торпедирования плывущих по каким-то своим, но, безусловно, вражеским делам кораблей было капитальным. Вот – кожа окуляра приятно холодит кожу. Вот – огонёк торпеды начал своё путешествие к кораблю. А вот – железобетонные аргументы в пользу того, что нам надо всю наличную мелочь потратить на продолжение игры. Ведь во вражеской эскадре ещё минимум миллион не потопленных кораблей.

Ну не чудо ли? Иммерсивность во все поля.
Ну не чудо ли? Иммерсивность во все поля.

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

Родители, правда, несколько меня расстроили, сказав, что для того, чтобы делать игры, было бы неплохо разбираться в математике. В программировании тоже, конечно, но какое же может быть программирование без математики? Короче говоря, класса с восьмого я понял, что математику придётся учить.

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

Главное в игре

Главное в игре, как знает каждый восьмиклассник, это идея. А уж техническая реализация как-нибудь сама собой образуется.

Но если в период юности классными идеями были игры "Как Counter Strike, только оружия в десять раз больше, и карта моего города чтобы была, и чтобы можно было в каждый дом зайти", то с возрастом (я надеюсь) идеи стали менее утопичными, но более изящными.

Это я о чём. Это я о том, что всегда мне было интересно пофантазировать на тему такого, знаете, геймплея наоборот. "А что если сделать игру как Space Invaders, только ты не обороняешь Землю, а наоборот, планируешь атаки?". "А что если ты будешь играть за игровой оркестр, который предупреждает героя об опасности?". "А что если не ты ходишь по подземельям, а сам строишь подземелья для героев?" клятый Питер "Растущие деревья" Молиньё сделал "Dungeon Keeper" раньше меня. Суть, я надеюсь, вы уловили. Запомним её, она нам ещё пригодится.

А ещё в играх есть боссы. Разные, конечно. Хорошие и плохие, с одной фазой и с несколькими, красивые и некрасивые. Но есть среди них архетипы. Например, статичный босс, который сидит в центре локации и стреляет во все стороны (с обязательными промежутками между выстрелами!), а герой между всем этим лавирует. Но есть и более конкретные: босс-вертолёт, например. А есть в явном виде не проговорённый, но всё равно существующий босс о восьми ногах.

Пауки

Причины ясны: пауки страшные. В подоплёке этих страхов пускай разбираются специально обученные люди, но я вот пауков боюсь больше, чем собак, хотя собаки меня кусали, а пауки нет.

На случай, если вы пока не боитесь пауков
Сольпуга приветливо машет лапками
Сольпуга приветливо машет лапками

Так что насовать пауков (спящий пробудился!) во все места игр выглядит решением логичным. Могильщики-пауки из WarCraft III, какие-то женопауки из Dark Souls, демонический паук из Doom, механические пауки из Skyrim, просто куча пауков в Diablo и Titan Quest, киберпауки из Watch Dogs, да тысячи их! Пауки, в общем, довольно популярный противник в играх.

Сложим теперь этот факт с сутью, которую мы запомнили немного раньше и придём к очевидному выводу: пауки представлены в играх слишком однобоко, никого не волнует паучья точка зрения; пауков по большей части режут, сжигают и рубят, нисколько не заботясь о том, что в этот момент чувствуют пауки. Доколе? Человечеству нужна игра про босса-паука!

Чего ради я это пишу

Конечно, не ради абстрактных размышлений об пауках, играх и пауках в играх.

Нетрудно заметить, что материалы по созданию игр, конечно, есть, но они во-первых всё как-то больше на английском, а во-вторых в основном представлены в видеоформате. И если первое меня не слишком смущает, то необходимость ездить туда-сюда ползунком в поиске нужной информации накаляет неимоверно. А раз материалов, где можно читать буковки глазоньками не слишком много (по крайней мере у меня найти не вышло), то выход только один: написать их самому.

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

Какие у меня исходные данные? Или, что я умею, другими словами?

  • Что-то помню из математики. Дискретную математику, немного анализа, численные методы, ещё чего-то.

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

  • Умею... ну не то чтобы рисовать, но пользоваться графическими и растровыми редакторами.

  • Немного играю на музыкальных инструментах. Хотя в смысле музыкального и звукового оформления вряд ли сильно пригодиться и что с этим делать я пока не знаю.

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

С чего начинается создание игры?

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

Набросаем список того, что должно быть в концепт-документе:

  1. Описание игры.

  2. Анализ аналогичных игр (у которых мы будем воровать которыми мы вдохновлялись или с которыми можем конкурировать).

  3. Особенности игры.

  4. Определение core-геймплея.

Концепт-документ не должен быть слишком длинным, желательно уместить его на одном листе А4. Попробуем же его написать.

Описание игры. Игра – двухмерный bit’em’up/roguelike, в котором игрок, управляя пауком должен уничтожать врагов на территории своего гнезда. Для достижения этой цели игрок может перемещаться, атаковать противников дистанционно или в ближнем бою, а также устраивать ловушки. В промежутках между сражениями игрок может применять ресурсы для улучшения игрового персонажа (как усиливая уже имеющиеся способности, так и приобретая новые. Так как игры с врагами-пауками бывают разные, и времена в них разные, и сеттинги, то мы возьмём это на вооружение: построим прогрессию игры на переходе от одного времени к другому. Начнём где-нибудь в каменном веке, а закончим в киберпанке, если огрублять.

Анализ аналогичных игр. Игра концептуально похожа на Crimsonland или Vampire Survivors. Во всех них подразумевается, что игроку противостоит большое количество слабых рядовых противников с периодически появляющимися полубоссами и боссами. С другой стороны, в упомянутых играх игрок способен перемещаться в четырёх направлениях глядя на игрового персонажа сверху, в то время как в игре про босса-паука будет использовать вид сбоку; это необходима для добавления игре «этажности», то есть способности перемещаться под и над основной игровой зоной. Кроме того, в упомянутых играх игрок исполняет классическую роль борца со злом (монстрами или нежитью), в то время как в игре про босса-паука происходит инверсия этого тропа.

 Особенности игры. Прежде всего, конечно, это переворачивание нарратива, подстановка на место протагониста традиционно негативного персонажа, который в большинстве игр выступает в качестве противника. Это, конечно, приём не новый. Тут вам и "Dungeon Keeper" уже упомянутый, и "Overlord" и много кто ещё. Но даже при наличии предтеч это не то чтобы набило оскомину. В смысле геймплея всё гораздо скромнее, конечно; в сущности, запланирован обычный bit'em'up. Что, впрочем, нормальная история для того чтобы с чего-то начать и освоиться с инструментами.

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

Такой вот светофор выходит
Такой вот светофор выходит

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

И что теперь?

Long story short: игра про босса-паука, защищающего своё гнездо (у пауков ведь есть гнёзда?) в разных временных эпохах.

После некоторых раздумий в смысле выбора игрового движка я остановился на Unity: там и материалов много, и язык мне знаком. По крайней мере мне так кажется на текущий момент.

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

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

Комментарии (7)


  1. saboteur_kiev
    22.05.2023 13:17

    Описание игры. Игра – двухмерный bit’em’up/roguelike, в котором игрок, управляя пауком должен уничтожать врагов на территории своего гнезда. Для достижения этой цели игрок может перемещаться, атаковать противников дистанционно или в ближнем бою, а также устраивать ловушки. В промежутках между сражениями игрок может применять ресурсы для улучшения игрового персонажа (как усиливая уже имеющиеся способности, так и приобретая новые. Так как игры с врагами-пауками бывают разные, и времена в них разные, и сеттинги, то мы возьмём это на вооружение: построим прогрессию игры на переходе от одного времени к другому. Начнём где-нибудь в каменном веке, а закончим в киберпанке, если огрублять.

    Грамотность тут конечно есть, но вот суть абзаца очень напоминает мне то самое описание, которое заканчивается словами "Я джва года хочу такую игру".

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

    Ведь на самом деле главное не идеа, а реализация...


  1. Malizia
    22.05.2023 13:17

    Создание игры может завести в такие дебри, о которых раньше и не подозревал. Мне как-то захотелось свой Diablo с D&D механикой и процедурным миром. Начал с того что на UE5 накидал таблицы скилов, расы, классы и пр. Начал разбираться с системой GAS, но потом переключился на добавление отсутствующего функционала - каст цилиндром и конусом (в D&D есть абилки с областью действия конус и цилиндр). Потом прочитал книгу AI for Games и решил, что нужен процедурный мир. После пары попыток генерации карт высот из шума Перлина, дошел до voxel'ей и octree (посмотрел презентацию Voxel Plugin для UE - потрясные вещи делают). Сейчас разбираюсь с кодами Morton'а и думаю как снять ограничение на размер мира. А ещё прикупил настолку Break!! на кикстартере - надеюсь найти там что-нибудь интересное для системы крафта.

    Все это идёт очень медленно, но пока запал есть.


    1. jenga67
      22.05.2023 13:17

      Советую обратить внимание на Wave Function Collapse для генерации мира. https://github.com/mxgmn/WaveFunctionCollapse


  1. net_racoon
    22.05.2023 13:17

    А корованы можно будет грабить? :)

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


  1. domix32
    22.05.2023 13:17
    -1

    Стартуй канал а ля Handmade Hero


  1. ildarin
    22.05.2023 13:17
    +2

    Сольпуги не пауки, а паукообразные (как и скорпионы и клещи).


  1. ildarin
    22.05.2023 13:17

    Игра концептуально похожа на Crimsonland или Vampire Survivors. ... Кроме того, в упомянутых играх игрок исполняет классическую роль борца со злом (монстрами или нежитью), в то время как в игре про босса-паука происходит инверсия этого тропа.

    Абсолютно то же самое, просто другой персонаж. С чего вдруг пауки - злые? Вполне себе полезные создания - мух да комаров кушают. Такую же игру делал лет 5 назад - Zomoby.

    Вот если бы впрямь наоборот - то да, было бы интересно. Тогда ИИ (или другой игрок) отвечает за ГГ, а мы управляем волнами врагов. Прокачиваем, создаем новых комбинируя способности в зависимости от прокачки ГГ и т.д.