Я помню, как всё начиналось
Я много играю в игры. Много и давно. В сущности, более-менее с момента каких-то осознанных воспоминаний. Первые игры были даже не консольными, а, эээ, игроавтоматческими. Знакомые, я думаю, многим "Городки", "Меткий стрелок" и, конечно же, "Морской бой". Какой там "Silent Hunter" или "Battlestations: Midway"! Погружение в процесс торпедирования плывущих по каким-то своим, но, безусловно, вражеским делам кораблей было капитальным. Вот – кожа окуляра приятно холодит кожу. Вот – огонёк торпеды начал своё путешествие к кораблю. А вот – железобетонные аргументы в пользу того, что нам надо всю наличную мелочь потратить на продолжение игры. Ведь во вражеской эскадре ещё минимум миллион не потопленных кораблей.
Потом, конечно, были и приставки разной битности, и компьютеры с первыми играми. Но главное, было понимание: хочу делать игры.
Родители, правда, несколько меня расстроили, сказав, что для того, чтобы делать игры, было бы неплохо разбираться в математике. В программировании тоже, конечно, но какое же может быть программирование без математики? Короче говоря, класса с восьмого я понял, что математику придётся учить.
И начал учить. В процессе оказалось, что математика сама по себе штука интересная. И как-то так сложилось, что я уже и школу закончил, и университет, и вот уже сам в университете работаю, а игры всё как-то делать не начал. Но чего ради я тогда всё это затевал-то в восьмом классе? Словом, в какой-то момент мне показалось, что я, кажется, морально готов.
Главное в игре
Главное в игре, как знает каждый восьмиклассник, это идея. А уж техническая реализация как-нибудь сама собой образуется.
Но если в период юности классными идеями были игры "Как Counter Strike, только оружия в десять раз больше, и карта моего города чтобы была, и чтобы можно было в каждый дом зайти", то с возрастом (я надеюсь) идеи стали менее утопичными, но более изящными.
Это я о чём. Это я о том, что всегда мне было интересно пофантазировать на тему такого, знаете, геймплея наоборот. "А что если сделать игру как Space Invaders, только ты не обороняешь Землю, а наоборот, планируешь атаки?". "А что если ты будешь играть за игровой оркестр, который предупреждает героя об опасности?". "А что если не ты ходишь по подземельям, а сам строишь подземелья для героев?" клятый Питер "Растущие деревья" Молиньё сделал "Dungeon Keeper" раньше меня. Суть, я надеюсь, вы уловили. Запомним её, она нам ещё пригодится.
А ещё в играх есть боссы. Разные, конечно. Хорошие и плохие, с одной фазой и с несколькими, красивые и некрасивые. Но есть среди них архетипы. Например, статичный босс, который сидит в центре локации и стреляет во все стороны (с обязательными промежутками между выстрелами!), а герой между всем этим лавирует. Но есть и более конкретные: босс-вертолёт, например. А есть в явном виде не проговорённый, но всё равно существующий босс о восьми ногах.
Пауки
Причины ясны: пауки страшные. В подоплёке этих страхов пускай разбираются специально обученные люди, но я вот пауков боюсь больше, чем собак, хотя собаки меня кусали, а пауки нет.
На случай, если вы пока не боитесь пауков
Так что насовать пауков (спящий пробудился!) во все места игр выглядит решением логичным. Могильщики-пауки из WarCraft III, какие-то женопауки из Dark Souls, демонический паук из Doom, механические пауки из Skyrim, просто куча пауков в Diablo и Titan Quest, киберпауки из Watch Dogs, да тысячи их! Пауки, в общем, довольно популярный противник в играх.
Сложим теперь этот факт с сутью, которую мы запомнили немного раньше и придём к очевидному выводу: пауки представлены в играх слишком однобоко, никого не волнует паучья точка зрения; пауков по большей части режут, сжигают и рубят, нисколько не заботясь о том, что в этот момент чувствуют пауки. Доколе? Человечеству нужна игра про босса-паука!
Чего ради я это пишу
Конечно, не ради абстрактных размышлений об пауках, играх и пауках в играх.
Нетрудно заметить, что материалы по созданию игр, конечно, есть, но они во-первых всё как-то больше на английском, а во-вторых в основном представлены в видеоформате. И если первое меня не слишком смущает, то необходимость ездить туда-сюда ползунком в поиске нужной информации накаляет неимоверно. А раз материалов, где можно читать буковки глазоньками не слишком много (по крайней мере у меня найти не вышло), то выход только один: написать их самому.
Так что в этой и последующих публикациях я постараюсь описать процесс создания игры со всеми техническими подробностями о том, куда надо тыкать и что надо писать.
Какие у меня исходные данные? Или, что я умею, другими словами?
Что-то помню из математики. Дискретную математику, немного анализа, численные методы, ещё чего-то.
Немного умею программировать на разных языках. Ну там циклы покрутить, класс какой-нибудь простенький написать.
Умею... ну не то чтобы рисовать, но пользоваться графическими и растровыми редакторами.
Немного играю на музыкальных инструментах. Хотя в смысле музыкального и звукового оформления вряд ли сильно пригодиться и что с этим делать я пока не знаю.
Пожалуй, ничего не забыл. Полагаю, что многому мне предстоит, я надеюсь, научиться в процессе и доступным языком пересказать желающим.
С чего начинается создание игры?
С того, конечно, что мы пишем собственный игровой движок концепт-документ. Это не очень длинное описание игры, в которой раскрывается её суть и особенности. Часто говорят, что концепт-документ должен продавать™ игру, но меня от этого слова жутко коробит, так что мы с вами попробуем просто формализовать идею и оформить в удобочитаемый текст.
Набросаем список того, что должно быть в концепт-документе:
Описание игры.
Анализ аналогичных игр (
у которых мы будем вороватькоторыми мы вдохновлялись или с которыми можем конкурировать).Особенности игры.
Определение core-геймплея.
Концепт-документ не должен быть слишком длинным, желательно уместить его на одном листе А4. Попробуем же его написать.
Описание игры. Игра – двухмерный bit’em’up/roguelike, в котором игрок, управляя пауком должен уничтожать врагов на территории своего гнезда. Для достижения этой цели игрок может перемещаться, атаковать противников дистанционно или в ближнем бою, а также устраивать ловушки. В промежутках между сражениями игрок может применять ресурсы для улучшения игрового персонажа (как усиливая уже имеющиеся способности, так и приобретая новые. Так как игры с врагами-пауками бывают разные, и времена в них разные, и сеттинги, то мы возьмём это на вооружение: построим прогрессию игры на переходе от одного времени к другому. Начнём где-нибудь в каменном веке, а закончим в киберпанке, если огрублять.
Анализ аналогичных игр. Игра концептуально похожа на Crimsonland или Vampire Survivors. Во всех них подразумевается, что игроку противостоит большое количество слабых рядовых противников с периодически появляющимися полубоссами и боссами. С другой стороны, в упомянутых играх игрок способен перемещаться в четырёх направлениях глядя на игрового персонажа сверху, в то время как в игре про босса-паука будет использовать вид сбоку; это необходима для добавления игре «этажности», то есть способности перемещаться под и над основной игровой зоной. Кроме того, в упомянутых играх игрок исполняет классическую роль борца со злом (монстрами или нежитью), в то время как в игре про босса-паука происходит инверсия этого тропа.
Особенности игры. Прежде всего, конечно, это переворачивание нарратива, подстановка на место протагониста традиционно негативного персонажа, который в большинстве игр выступает в качестве противника. Это, конечно, приём не новый. Тут вам и "Dungeon Keeper" уже упомянутый, и "Overlord" и много кто ещё. Но даже при наличии предтеч это не то чтобы набило оскомину. В смысле геймплея всё гораздо скромнее, конечно; в сущности, запланирован обычный bit'em'up. Что, впрочем, нормальная история для того чтобы с чего-то начать и освоиться с инструментами.
Core-геймлей. Тут, что называется, тоже без откровений. Вместо того, чтобы писать много букв нарисуем-ка лучше игровой цикл, в котором находится игрок:
Если всё-таки буквы писать: игрок сражается чтобы получить ресурсы, тратит ресурсы на улучшения, с новыми силами идёт в новое сражение. Тут, конечно, тоже есть интересные моменты вроде того, сколько ресурсов мы хотим давать и как быстро растут в силе противники, но это всё математика, которой мы обязательно коснёмся позже.
И что теперь?
Long story short: игра про босса-паука, защищающего своё гнездо (у пауков ведь есть гнёзда?) в разных временных эпохах.
После некоторых раздумий в смысле выбора игрового движка я остановился на Unity: там и материалов много, и язык мне знаком. По крайней мере мне так кажется на текущий момент.
На этом нулевая, лирическая часть закончена. В следующих коснёмся непосредственно технических моментов и попробуем создать что-то играбельное.
Кроме того, я понимаю, что тут есть масса людей неизмеримо более опытных и талантливых. Буду благодарен за указание на мои ошибки здесь и в будущем.
Комментарии (7)
Malizia
22.05.2023 13:17Создание игры может завести в такие дебри, о которых раньше и не подозревал. Мне как-то захотелось свой Diablo с D&D механикой и процедурным миром. Начал с того что на UE5 накидал таблицы скилов, расы, классы и пр. Начал разбираться с системой GAS, но потом переключился на добавление отсутствующего функционала - каст цилиндром и конусом (в D&D есть абилки с областью действия конус и цилиндр). Потом прочитал книгу AI for Games и решил, что нужен процедурный мир. После пары попыток генерации карт высот из шума Перлина, дошел до voxel'ей и octree (посмотрел презентацию Voxel Plugin для UE - потрясные вещи делают). Сейчас разбираюсь с кодами Morton'а и думаю как снять ограничение на размер мира. А ещё прикупил настолку Break!! на кикстартере - надеюсь найти там что-нибудь интересное для системы крафта.
Все это идёт очень медленно, но пока запал есть.
jenga67
22.05.2023 13:17Советую обратить внимание на Wave Function Collapse для генерации мира. https://github.com/mxgmn/WaveFunctionCollapse
net_racoon
22.05.2023 13:17А корованы можно будет грабить? :)
Давно мечтаю продолжить студенческое увлечение. Но что-то современный геймдев зашел так далеко, что потребуются лет 10 чтобы выйти на какой-то уровень имхо...
ildarin
22.05.2023 13:17Игра концептуально похожа на Crimsonland или Vampire Survivors. ... Кроме того, в упомянутых играх игрок исполняет классическую роль борца со злом (монстрами или нежитью), в то время как в игре про босса-паука происходит инверсия этого тропа.
Абсолютно то же самое, просто другой персонаж. С чего вдруг пауки - злые? Вполне себе полезные создания - мух да комаров кушают. Такую же игру делал лет 5 назад - Zomoby.
Вот если бы впрямь наоборот - то да, было бы интересно. Тогда ИИ (или другой игрок) отвечает за ГГ, а мы управляем волнами врагов. Прокачиваем, создаем новых комбинируя способности в зависимости от прокачки ГГ и т.д.
saboteur_kiev
Грамотность тут конечно есть, но вот суть абзаца очень напоминает мне то самое описание, которое заканчивается словами "Я джва года хочу такую игру".
В концепт правильно добавить хотя бы несколько изображений, которые расставят точки над и. Сейчас только описание аналогов/конкуретов какой-то свет пробивает, но вообще непонятно что это за игра и почему она будет интересной...
Ведь на самом деле главное не идеа, а реализация...