2015 год был годом, когда мне удалось победить Голиафа, которым я создал Unity. Я просматривал Reddit, потому что r/gamedev всегда мотивирует меня приступить к работе. Мне нравится смотреть на идеи, которые выражают люди, и это помогает мне находить собственные идеи, а также важные ресурсы. Одним из таких сообщений был пост на Kickstarter для курса Unity. Идея заключалась в том, что эти два профессиональных разработчика игр создадут курс от начала до конца по разработке игр. Именно такой курс хочет увидеть каждый новичок. Предполагая, что кто-то, кто не знает, как программировать, подает заявку, а затем повышает их до такой степени, что они могут делать действительно хорошие игры!

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

Теперь поговорим об игре, которую я сделал. Это тот момент в серии, когда я буду более подробно рассказывать о программировании игр, а не об истории, стоящей за ними, просто потому, что в программировании было больше «приключений», чем связанных с ним. До сих пор все, что у меня было с точки зрения опыта, было текстовой приключенческой игрой, и если вы подписаны на мой канал на YouTube, вы знаете, что мой стиль обучения в основном состоит в том, чтобы отойти от предписанного пути. В этом проекте я все еще развивал эту философию, и поэтому я решил создать свои собственные активы, и, поскольку у меня был небольшой опыт работы с анимацией фигурок с использованием Pivot, я смог сделать несколько довольно крутых вещей!

Итак, я взял фон из Google, и как бы продублировал его и сделал так, как описано в курсе, я настроил пользовательский интерфейс и все в одном скрипте, потому что в моей голове это делает его более эффективным. Конечно, сейчас игру просто невозможно масштабировать, но это урок, который я усвоил в конце этого проекта XD. Сам код был довольно простым, как только вы нажимали на объект, он сохранялся в переменной, и эта переменная затем, когда вы нажимаете на поле, помещает выбранный вами объект. Тогда я создал кучу переменных. Я чувствую, что в этот момент я, вероятно, использовал бы массив объектов, и щелчок просто сохранил бы индекс массива для создания. Таким образом, я мог бы просто использовать одну функцию и не иметь около 50 операторов if для 50 элементов. Я бы также, скорее всего, заставил врагов выглядеть по-другому. Я имею в виду, да, враги — это те, кто совершенно безоружен, но тем не менее, я узнал об этом от разработчиков из Naughty Dog, лучший способ проверить ясность вашего игрового дизайна — это прищуриться, а затем сыграть.

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

Возвращаясь к игре, «башенки», под которыми я подразумеваю персонажей с оружием, были просто набором объектов, которые в основном стреляли в эти крошечные игровые объекты с уникальным тегом. Опять же, если бы мне нужно было переделать его, я бы, скорее всего, просто использовал raycasting, или, если бы мне абсолютно необходимо было показать пулю, я бы создал отдельный класс, который содержит только такие вещи, как скорость и урон, и чтобы функция стрельбы приводила в движение GameObject. соответственно. Скорее всего, у меня была бы система циклов, чтобы все пули выбрасывались почти одновременно. Это, а также некоторый пул объектов и некоторая пакетная обработка могут позволить одновременно отображать на экране тысячи игровых объектов!

Это была очень короткая игра, и оттуда я отклонился от курса. Я чувствовал, что узнал из него все, что мог, и что мне нужно было узнать остальное самостоятельно или с помощью своих собственных идей. Одна вещь, которую вы сейчас заметите, это то, что я не заканчиваю обучающие программы, и это сделано намеренно. Если я буду продолжать сосредотачиваться на том, что должны сказать учебники, я почти всегда буду дублировать то, что они говорят. Это очень реальная проблема, которая называется Tutorial Hell или Tutorial Loop. Stick Defenders — вот как я выбрался из этого.

Далее я решил создать полностью законченную и изданную игру. Лабиринт Агни! Но это история для следующего раза, тогда увидимся!