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

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

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

Вступление

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

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

Игра кажется такой простой, но создание ее дает большую ясность.

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

Наконец, после кучи руководств на YouTube и изучения документации мне удалось создать игру. Когда я добился успеха, я почувствовал себя увереннее и начал создавать еще несколько игр, таких как Space Invaders, Hello Bunny, Mario и т. Д.

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

Предпосылки

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

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

Язык

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

C # и C ++ являются производными от C, который является мощным и сложным языком программирования. Хотя это упрощение, все, что вам нужно знать, это то, что основное различие между ними заключается в том, как они обрабатывают классы, объекты и т. Д..

C ++ признан отраслевым стандартом. Это также язык, который вам необходимо выучить, если вы планируете программировать на Unreal Engine. C #, с другой стороны, отлично подходит для начинающих и полностью поддерживается Unity Engine.

Какой двигатель выбрать?

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

Что я выбрал?

Я выбрал Unity с C #. Я думаю, что он подходит для новичков в этой области по двум причинам: он имеет МНОГО ресурсов и большое сообщество, а во-вторых, он использует C #, который можно использовать не только для создания игр, но и для множества других приложений.

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

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

Конечно, интерфейс может поначалу показаться неясным, и вам придется столкнуться с трудностями в обучении. Любой проект Unity начинается только с игровой камеры - все остальное может добавить только разработчик. И этот пустой холст может пугать, как пустая страница в Word. Но этот первый страх легко преодолеть.

Как разработать свою первую игру

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

Что ж, есть несколько вещей, которые следует учитывать. Если вы креативны, вы, вероятно, сейчас взорветесь идеями, и у вас может возникнуть зуд от работы над собственной большой игрой на Unity. Но пока не стремитесь к Луне. Начните с малого. То есть, очень маленький. Создавайте очень простые проекты с очень простыми активами (подойдут даже базовые формы).

Все скажут вам, что учиться программировать - это как строить дом. Прежде чем думать о пентхаусе и саду на крыше, нужно уложить фундамент и полы на свои места.

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

Все, что связано с правильным мышлением, любую идею можно превратить в игру. Если вы не художник, не беспокойтесь о материалах . Вы всегда можете получить их в магазине ресурсов Unity. В худшем случае вы всегда можете рассмотреть вариант P ixel Art. Немного попрактиковавшись, нетрудно создать то, чем можно было бы гордиться.

Совет новичкам

Чтобы создать игру, вы должны пройти 5 этапов разработки игры: Дизайн. Изобразительное искусство. Код. Аудио. Польский.

Если вы планируете написать свою первую игру, не стоит недооценивать сложность и время, необходимое для написания даже самых тривиальных игр. Помните, что над большинством игр, которые выходят в Steam, команды работают над ними в течение многих лет!

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

Мне еще предстоит многому научиться, и мое приключение с игровым программированием далеко не закончено. Но когда я оглядываюсь назад на то, что делал год назад, когда едва знал, что такое цикл for… Черт возьми, теперь все кажется другим.

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

Спасибо за прочтение! Не забывайте аплодировать этому уроку, если он вам понравился, и подписывайтесь на меня здесь, на Medium, если вы хотите увидеть больше в будущем!