Как я сделал игру за один месяц

Опубликовано: 09/01/2021 Время на прочтение: 16 минут

Как я сделал игру за один месяц

История Мунгуна, или как превратить прототипы в полноценные игры

Yvens SerpaFollowJan 9 · 16 min read

ноябре 2020 года я участвовал в Github Game Off Game Jam (полный рот, я знаю) и сам разработал игру в этот период. Этот опыт также позволил мне применить многие навыки и темы, которые я писал в последние месяцы о дизайне и разработке игр.

MoonGun, игра, которую я разработал , была 85-й общей лучшей игрой, начиная с петуха из более чем 500 игр, и достигла 38-й позиции за лучшую интерпретацию темы, 40-й позиции за лучший звук и 48-й позиции за лучшую графику. Он также собрал большое количество положительных отзывов.

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

Прежде чем перейти к основной теме, у меня есть несколько важных замечаний: этот отчет больше относится к аспекту игрового дизайна, чем к технической стороне разработки игр. Игра была разработана с использованием Unity 3D (версия 2020.1), с которой я довольно хорошо знаком и уже создавал Другие игры. Несмотря на то, что проект был сделан полностью сам по себе, я все еще получал помощь от друзей, играя в тестирование и делясь своими мыслями. Поскольку я в основном кодировал, большинство активов были либо из бесплатных, либо из платных ресурсов (спасибо эру Илуватару за то, что Kenney.nl) или сделанный моим другом Калео Мендесом, который хотел практиковать конвейер разработки игр для 3D-моделей, 3D-анимации и дизайна пользовательского интерфейса.

Рекламный образ для игры MoonGun. Источник: Ивенс Серпа.

Игровые джемы, темы и концепции

Game Jam — это соревнование по разработке игр, в котором участники пытаются разработать игру с нуля в течение (короткого) периода времени, обычно от 24 до 72 часов. В ноябре GitHub принимает гостей в Itch.IO The Game Off Game Jam, которая охватывает весь ноябрь. Игровые джемы обычно имеют основную тему, которая направляет творческий процесс разрабатываемых игр. На 2020 год тема была «лунный выстрел«.

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

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

В результате я пришел к трем основным базовым концепциям:

  1. Игра по сбору ресурсов, в которой игроки управляют лунной базой до тех пор, пока не будет достигнут определенный порог (собрано некоторое количество ресурсов).
  2. Основанная на физике игра, в которой игрок должен был построить или запустить какой-то механизм с лунной базы.
  3. Интерактивная история персонажа, застреленного в спину во время работы в лунной структуре (как «я был застрелен на Луне»).

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

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

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

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

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

Игрок управляет пушкой (башней), которая защищает лунную базу от падающих астероидов, а также управляет базовыми объектами (шахтой, лабораторией и ангаром), которые собирают лунную руду до тех пор, пока Луна не истощится (условие победы).

Ниже вы можете увидеть изображения первого рабочего прототипа:

MoonGun Version 0.1-уродливый, но функциональный прототип. Источник: Ивенс Серпа.

Прототип и гипотезы

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

Краткая версия этих предпосылок описана ниже:

  1. Интересно или увлекательно стрелять по падающим астероидам?
  2. Можно ли подделать поверхность «Луны» с помощью большой 3D-сферы?
  3. Должен ли я управлять пушкой с помощью клавиатуры или мыши?

У меня также было несколько технических гипотез для проверки, в основном связанных с выпуском игры в виде сборки WebGL с использованием Unity. Из-за пандемии коронавирусая хотел провести игру непосредственно на Itch.io чтобы облегчить тестирование и распространение версий игры. Сначала меня больше всего беспокоило, сколько времени потребуется, чтобы пройти цикл сборки-развертывания-тестирования в Itch.io платформа (в пересчете на часы или минуты), а затем, насколько я мог бы продвинуть графику, чтобы все еще работать в браузере с приемлемой частотой кадров.

Первый прототип имел успех. Не то чтобы все гипотезы оказались верными, но все они были оценены, и это истинная цель прототипирования. Эта первая версия была развернута на веб-сайте 3 ноября. Цикл сборки-развертывания-тестирования занял около 15 минут, что было приятным сюрпризом.

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

Концепт «арт» для игры использует скриншоты из прототипа. Источник: Ивенс Серпа.

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

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

Скриншот из этой версии (v0. 4 Moon Facilities) можно увидеть ниже:

MoonGun версия 0.4-выглядит и играет как игра. Источник: Ивенс Серпа.

Тесты, стабильная версия и цикл геймплея

Во время разработки версии 0.1 до 0.4 я провел большую часть тестов сам или попросил нескольких близких друзей поэкспериментировать с управлением и механикой. Но начиная с версии 0.4 я начал более активно заниматься продвижением игры для тестирования.

Версия 0.4 пошла в прямом эфире Itch.io и имел все основные возможности для игры. Я называю это стабильной версией игры: она имеет все необходимые функции, чтобы играть до конца, и уже может вовлекать игроков для полного запуска.

Источник: Ивенс Серпа.

Обратная связь, которую я получил от тестирования, помогла мне улучшить игру с большим отрывом. Элементы управления были изменены с клавиатуры на мышь,а эффекты были изменены. Затем сборка WebGL была переведена на самые высокие настройки, так как большинство игроков испытывали игру выше 60 кадров в секунду (FPS) — за исключением одного друга, который пытался запустить ее на Chromebook.

Более того, я мог убедиться, что люди действительно развлекаются, играя в мою игру. У меня даже был тестер, который просил больше обновлений и больше действий. Это означало, что кто-то активно играл в игру до ее (текущего) конца!

Версия Moon Facilities имела весь основной игровой цикл, как это описано на диаграмме ниже:

Цикл игрового процесса MoonGun core. Источник: Ивенс Серпа.

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

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

Вам не всегда нужна сложная или дополнительная механика

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

Обратите внимание, что нет никакого «механизма истощения».» Выигрышная механика была разработана для достижения сколь угодно большого числа, которое активировало бы «выигрышное» условие и наградило бы игрока статусом Победы, когда он будет потрачен на основное задание. После истощения Луны шахты перестанут вырабатывать полезные ископаемые, и на этом все — конец игры.

Основной вариант квеста (минеральный лазер)на Лабораторном объекте. Источник: Ивенс Серпа.

Ключевой вывод из этого подхода заключается в том, что вам не всегда нужно усложнять свою игру (например, добавляя больше механики), чтобы обеспечить условие победы или даже сделать игру лучше. Для MoonGun, поскольку игроки уже развлекались, не было необходимости тратить больше времени на разработку новой механики только для условия победы — она должна быть получена в основном с помощью основного механика.

Кроме того, помните, что игра должна была быть сделана в течение 1 месяца, поэтому меньшая реализация означала больше времени для полировки и улучшения игры.

Лазер! — Равновесие, честная игра и воспринимаемая сила

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

MoonGun Версия 0.7-Лазер. Источник: Ивенс Серпа.

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

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

В то же время, используемое оружие все еще было главным образом решением игрока. Игре не помешали бы какие-нибудь из оружия, которое будет использоваться.

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

Лунные Квесты

Я продолжал совершенствовать другие элементы геймплея и тестировать игру, чтобы обеспечить справедливый опыт. Лазер был фактически добавлен в версию 0.5 19 ноября. Тем не менее, его более стабильная реализация была представлена только в версии 0.7, которая была выпущена 21 ноября под названием Moon Quests, которая также включала:

  1. Дрожание Экрана Камеры;
  2. Эффекты Разрушения Астероидов;
  3. Замена оружия (нажатие клавиши SHIFT);
  4. Элементы управления были изменены, чтобы использовать мышь и / или клавиатуру;
  5. Суб-квесты для получения дополнительных ресурсов;
  6. Различные астероиды (различные скорости, размеры и награды);
  7. Улучшено отображение кадров в секунду, чтобы включить средний кадр в секунду.

Источник: Ивенс Серпа.

Обратите внимание, что 2 из них были связаны с улучшением внешнего вида игры (1 и 2), 2 были дополнениями/изменениями в элементах управления (3 и 4), 2 были дополнительными элементами для игры (5 и 6). Один предназначался для анализа и отладки. Это разделение было совершенно преднамеренным.

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

Версия Moon Quests была более полной и позволяла игрокам экспериментировать с игрой, а также взаимодействовать с большим количеством вариантов управления. Это помогло мне увидеть, что хорошо работает для игры (например, астероиды и вариации оружия), а чего не хватает/не хватает.

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

Знакомство с Титаном и Луной S / 2009 S1

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

Луна S / 2009S1 полна Флеботиума, богатого минерала, и вы, игрок, отвечаете за защиту базовых объектов во время добычи. База прикрыта щитом, который может защитить ее от слабых астероидов, если игрок их упустит. Однако по мере продвижения добычи ядро Луны становится тяжелее, притягивая более быстрые и опасные астероиды, которые могут повредить щиты и остановить работу на объектах.

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

GIF ниже показывает первую версию введения игры с Титаном, новым пользовательским интерфейсом и, далеко сзади, щитом, покрывающим всю Луну.

Источник: Ивенс Серпа.

Версия V0. 8, Moon Menu, была выпущена 26 ноября-всего за несколько дней до крайнего срока. Он включал в себя капитальный ремонт пользовательского интерфейса, чтобы включить новую графику, а также информацию о Щите.

Источник: Ивенс Серпа.

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

Дрожание камеры также было улучшено, усиливая ощущение силы от обоих видов оружия, и эффект разрушения астероидов был снова скорректирован. Обратите внимание, что большинство этих изменений были сделаны для улучшения стабильной игры, и очень мало существенных изменений в основной игровой цикл было сделано.

Окончательная версия и ее проблемы

Окончательная версия, V1.0a MoonGun, была выпущена 29 ноября. Он имел все рабочие функции, еще больше настроек и более сбалансированный опыт для основного квеста. Я добавил более легкие астероиды для первых моментов игры и более смертоносные для более поздних этапов. Все звуковые эффекты, музыка и атмосфера были добавлены, чтобы создать полный игровой опыт.

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

MoonGun версия 1.0 A источник: Yvens Serpa.

Обратная связь и (будущие) улучшения

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

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

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

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

Разные версии MoonGun — от концепции до релиза. Источник: Ивенс Серпа.

Процесс в ретроспективе

MoonGun, безусловно, не будет следующим инди-хитом, и это никогда не планировалось. Это был скорее опыт создания игр, который оказался положительным и со многими извлеченными уроками. К тому же, в конце концов, это оказалось игрой. Несмотря на то, что она не имеет сложности, она может (и была) понравиться другим людям, особенно за пределами моих друзей и семьи. За это я считаю это успехом!

Я придерживался следующего рабочего процесса для этого процесса: быстро достичь стабильной игровой стадии, а затем улучшить ее. Оглядываясь назад на развитие в течение этих 4-5 недель, шаги следовали в основном в этом порядке:

  1. Концепция и прототипирование главного механика;
  2. Улучшение опыта и построение стабильной игры;
  3. Тщательное тестирование и внедрение обратной связи;
  4. Приращения в механике, нарративе, экономике и эстетике;
  5. Полирование.

Поскольку я не мог (и не хотел) прекратить свою нынешнюю работу, чтобы продолжить это начинание, мне пришлось работать допоздна и в выходные дни, чтобы развить MoonGun. Один из методов, который очень помог мне, состоял в том, чтобы держать трекер проблем в репозитории, в который я добавлял бы всю работу, которую нужно было сделать. Это помогло мне быстро вернуться в проект после некоторого перерыва и знать, где работать.

Более того, я стремился всегда идти по пути меньших усилий. Это не значит, что я писал ленивый код или искал плохие решения (исходный код доступен здесь)— это означало, что я сначала тестировал более простые подходы, прежде чем переходить к более крупным реализациям или рефакторингу. Например, прежде чем создавать более сложную систему квестов для игры, я использовал существующую систему апгрейда.

Я также вернулся к хорошим инструментам из Unity и Asset Store, чтобы ускорить свой процесс. Самыми полезными были DOTween, LeanPool и Cinemachine.

Постобработка (магия, которую вы искали)



прокрутка вверх