Для разработки инди-игр доступно больше инструментов и ресурсов, чем когда-либо прежде. Это означает, что разработчики инди-игр могут создавать игры, которые были бы невозможны даже десять лет назад, но это также может затруднить начало работы.
Чтобы направить вас на правильный путь, я поделюсь процессом, который сработал для меня. Я также опишу, как выбрать правильную библиотеку или фреймворк и что действительно важно для начинающего разработчика игр.
1. Выберите (маленькую) идею
Разработчики новых игр часто вдохновляются играми, в которые им нравится играть. И если вас интересует что-то вроде Civilization или Stardew Valley, вы можете с самого начала погрузиться в подобный проект.
К сожалению, вы не готовы к чему-то сложному. Разработка игр - сложный навык, который растет с практикой. Это похоже на изучение игры на фортепиано - нужно начинать с легких простых песен и постепенно переходить к более сложным.
Лучший способ начать изучение разработчика игр - выбрать простую идею или жанр и сузить его до самых основных функций, которые необходимы для игры. Хотите сделать платформер? Вы, вероятно, сможете обойтись без врагов, причудливой механики или движущихся платформ. По сути, все, что вам нужно, это простое движение игрока, способность прыгать и условие победы.
Создание таких простых игр - лучший способ начать расти. А завершенная игра, какой бы маленькой она ни была, поможет вам сохранять мотивацию к продолжению обучения.
2. Выберите движок или платформу
Следующий шаг - выяснить, какой движок, фреймворк или библиотеку вы хотите использовать.
- Игровые движки (такие как Unity или Unreal) обычно поставляются с графическими интерфейсами и большинством встроенных функций.
- Фреймворки и библиотеки обычно представляют собой только код, написанный на существующих языках программирования. Они предоставляют все функции, необходимые для создания игры и отображения того, что отображается на экране, но они требуют гораздо большей настройки. И по мере роста вашей игры им часто не хватает некоторых сложных функций, полезных для более зрелых игр (которые предоставляют игровые движки). С другой стороны, поскольку они более легкие, они часто дают вам больше свободы для структурирования кода и игры по своему желанию.
Когда вы пытаетесь выбрать идеальный игровой движок или фреймворк, легко растеряться. Лучший совет, который я могу дать, - это найти вариант, который позволит вам максимально сосредоточиться на разработке игр .
Непрограммисты
Если у вас нет опыта программирования, я бы рекомендовал использовать такой движок, как Unity или Godot. Они предоставляют многие из своих функций через графический интерфейс, что означает, что вы можете начать создавать игры, не обладая полным знанием определенного языка программирования. В конце концов, вам все равно придется научиться программировать, но движки упрощают это на ходу.
Программисты
Если вы программист, я бы поискал игровой фреймворк на знакомом вам языке. Большинство фреймворков относительно легко изучить, и ваше знакомство с инструментами позволит вам сосредоточиться на изучении того, как создавать игру.
Программисты иногда могут иметь встроенное отвращение к использованию графического интерфейса пользователя, что может заставить их полностью избегать игровых движков. Это понятно, и изучение UI движка, несомненно, нетривиальная задача. Но преимущества использования двигателя приносят огромные дивиденды в долгосрочной перспективе.
Я бы предложил всем программистам попробовать создать законченную небольшую игру на движке. Вы можете быть удивлены, насколько вам это нравится и насколько это просто. Независимо от того, решите ли вы продолжить работу с движком или вернуться к использованию фреймворка, вы поймете преимущества и недостатки обеих сторон.
2D против 3D
Кстати, даже если ваша цель - создавать 3D-игры, я бы начал учиться в 2D для ваших первых нескольких игр. Работать в 2D проще, а поиск или создание ресурсов (например, рисунков и анимаций) намного проще.
Ваша цель - научиться, и использование 2D поможет вам сделать это более эффективно с самого начала. Как только вы немного познакомитесь, переход к 3D станет намного проще.
3. Создайте прототип.
Пришло время приступить к разработке. Ваша цель - создать минимально жизнеспособный продукт (MVP). Уберите все функции, которые не нужны для вашей основной механики или идеи. Даже не беспокойтесь об искусстве или звуке прямо сейчас; используйте простой квадратный спрайт для всего (или чего-то столь же простого).
Это не только поможет вам ограничить возможности вашей игры, но и даст ценный опыт в обучении, чтобы делать игры увлекательными. Если у вас есть платформер, в котором все, что вы можете делать, это двигаться и прыгать, то удовольствие от игры напрямую зависит от того, насколько хороши ваши движения и механика прыжков. Изменение высоты прыжка или скорости бега вашего персонажа может существенно повлиять на самочувствие игры.
Ваша основная механика всегда вносит наибольший вклад в то, насколько увлекательной будет ваша игра. Даже большая игра с действительно крутыми функциями не спасет от плохой основной механики. Начав с малого с простого прототипа, вы сможете легко экспериментировать со своей механикой и научиться настраивать ее так, чтобы чувствовать себя лучше.
4. Найдите активы
Следующим шагом будет добавление графики и звука в вашу игру. Вы можете попробовать сделать свою собственную, если вам это интересно. Но для большинства людей лучше всего найти бесплатные ресурсы в Интернете. Такие сайты, как itch.io и OpenGameArt, содержат множество замечательных ресурсов. Большинство создаваемых вами игр будут иметь прототипы или временные ресурсы в их ранних версиях, поэтому полезно научиться находить изображения и звуки-заполнители в Интернете.
Поэкспериментируйте с разными звуками и графикой. Вы заметите, что добавление реальных ресурсов (особенно звуков) может оказать огромное влияние на ощущение от игры.
5. Превратите это в законченную игру.
У вас есть небольшая игра с хорошей простой механикой, а также с графикой и звуком, которые объединяют все это воедино. Теперь это действительно похоже на игру! Есть еще один последний шаг к созданию вашей первой законченной игры, и я думаю, что он самый важный из всех: реализовать полный игровой цикл, включая выигрыш, проигрыш и начало игры заново.
Не могу не подчеркнуть, насколько это важно. Самое ценное, что вы можете сделать, чтобы стать лучшим разработчиком игр, - это закончить игру. Завершение игры не означает, что вы больше никогда ее не измените. Это означает, что есть полная игра - какой бы маленькой она ни была. Вы можете выиграть, проиграть и продолжить игру, если хотите.
«Завершенный» каждый раз выглядит по-разному
Конечно, не во всех играх будет условие выигрыша или проигрыша. Например, в некоторых играх нужно набрать как можно больше очков или посмотреть, как долго вы сможете выжить. Под завершением игры я подразумеваю реализацию всей всеобъемлющей игровой механики, которая имеет смысл для конкретной игры, которую вы создаете. Некоторым людям для этого может потребоваться главное меню или система сохранения и загрузки. Делайте то, что кажется вам подходящим для вашей игры, но будьте осторожны, чтобы не попасться в ловушку функций, которые на самом деле не нужны для игры, которую вы делаете.
Ценность подлинного завершения игры
Вы будете поражены тем, насколько важна полноценная игра. Нет ничего более мотивирующего, чем иметь то, чем вы можете поделиться с другими и получить отзывы. Кроме того, гораздо проще добавить функции позже, если игровой цикл уже существует. У вас уже есть что-то, что можно полностью протестировать и воспроизвести, поэтому легче увидеть, как новые дополнения могут повлиять на баланс того, что есть.
Одним из самых больших препятствий для большинства людей, начинающих разработку игр, является то, что они никогда не узнают, как закончить игру. Привыкнуть к реалистичному анализу своих проектов (чтобы у вас действительно была возможность завершить их) и заставить себя завершить весь игровой цикл - огромный шаг к тому, чтобы научиться делать это нормальной частью вашей рутины разработки.
6. Начни что-то новое!
Поздравляю! Вы сделали свою первую игру. Вы не только сделали это, но и закончили. Вы проделали работу, чтобы отладить свою основную механику, добавить важные ресурсы, такие как графика и звук, и полностью реализовать игровой цикл. Вы уже продвинулись намного дальше, чем большинство людей, которые хотят заняться разработкой игр, и накопленный вами опыт будет продолжать делать каждый новый проект, который вы начинаете, проще, чем предыдущий.
А теперь продолжай! Лучший способ научиться создавать игры - создавать игры, какими бы простыми они ни были. Найдите новые механики или идеи, которые вы раньше не пробовали, придумайте самую простую игру, в которой используются эти идеи, и сделайте ее. По мере того, как вы продолжаете расширяться и пробовать что-то новое, вы все больше и больше будете знакомиться со своими инструментами и основами создания самих игр.
Не забывайте выполнять все эти шаги для каждой создаваемой игры. Если вы продолжите работать над своими навыками и заканчивать игры, у вас будет впечатляющее портфолио, прежде чем вы это узнаете. Вы будете готовы взяться за игру своей мечты и быстро перейти к более крупным проектам.