Сосредоточение на вещах, которые никогда не меняются.

  • Вот скриншот игры. По сути, это новый взгляд на TempleRun, очень популярное мобильное приложение от третьего лица, которое требует от вас бегать по окружающей среде, собирать монеты и избегать плохих парней. В этом случае посылка та же; Единственное исключение - мы поместили персонажа в известный университет в районе 7 Хошимина, Вьетнам.

  • Предупреждение о спойлере: Книги, Youtube, Google, StackOverFlow. Это краткий ответ, как я это сделал (в основном это сделал). Мне также помогли: у меня был помощник, который разработал для меня все 3D-моделирование и графику по имени Вай. Ее фотография здесь:

Для кого мы это сделали?

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

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

Что такое концепция?

Концепция построена на популярном мобильном приложении Temple Run. Мы никогда не ожидали достичь таких же возможностей с точки зрения графики или взаимодействия, но, по крайней мере, мы верили, что можем что-то создать… и это самая важная подчеркивающая концепция прямо здесь. Но в любом случае игровой процесс работает так: вы идете до конца Уровня 1 и берете свои задания. На уровне 2 вам нужно подняться на верхний этаж (избегая всех монстров, учителей, опасностей и т. Д.), Чтобы отправить свои задания в DropBox наверху.

Итак, с чего начать?

Для начала вам нужно сделать несколько вещей:

  1. Загрузите Unity (игровой движок) и создайте новый проект.
  2. Моделируйте игровые объекты в программном обеспечении для моделирования (Blender, 3DS Max и т. Д.)
  3. Разработайте графические материалы для любых вывесок и значков, которые вам понадобятся для игры. В нашем случае это изображение, которое мы использовали:

4. Разработайте путешествие пользователя по игре и то, как игровой процесс повлияет на пользователя по частям.

5. Разработайте пользовательский интерфейс (кнопки, элементы управления, счет, панель состояния и т. Д.)

6. Запишите поведение в игре.

Создание сценариев в Unity

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

  1. Движение игрока. Как они будут двигаться, с какой скоростью могут прыгать? Что, если они попадут? Что тогда происходит?
  2. Предметы коллекционирования. Есть ли в игре бонусы? Если да, то что / как они повлияют на игрока? Как долго длится эффект? Это для всего уровня? Почему как бы аффект?
  3. Опасности. Как вы определите ущерб при встрече с «плохими парнями»? Потеряют ли они здоровье? Они потеряют очки? Они тормозят? Все ли опасности одинаковы?
  4. Вражеский AI и последователи. Какого поведения вы хотите от своего игрока? Вы хотите, чтобы все они следовали за вами с самого начала игры или вы хотите, чтобы они следовали за вами, когда вы дойдете до определенного момента? Должны враги быть быстрыми или медленными? Есть ли у них какие-то особые способности или поведение?
  5. Полоса здоровья и таймер. Как вы собираетесь отслеживать урон игрока? Умрет ли игрок? Если они умрут, что будет? Если вы проиграете игру, что будет дальше? Что произойдет, если вы выиграете игру?
  6. Поведение пользовательского интерфейса. Пользовательский интерфейс должен реагировать на то, что происходит в игре. Это означает подключение вашего скрипта к объектам. Вы должны убедиться, что получаете желаемое поведение.
  7. Анимации. По умолчанию персонажи и объекты в Unity имеют тенденцию двигаться как зомби (безжизненные, с небольшой реакцией тела, на самом деле никакой). Чтобы игроки и объекты двигались, как в реальной жизни, вам нужно сначала подумать о том, как вы хотите, чтобы это движение выглядело; затем наступает момент, когда вам нужно импортировать это из какого-то программного обеспечения, такого как 3DS Max. В некоторых случаях вы можете встроить его во внутреннюю систему анимации в Unity, но часто это только для вращения объекта и перемещения положения. Но при условии, что вы все это сделали, вам нужно сообщить игровым объектам, когда она будет выглядеть так, как будто она работает на холостом ходу, или когда она работает, когда ей больно или когда она побеждает; все это нужно учитывать.

Основные понятия информатики, которые вам нужно знать

  1. Условные утверждения. Если это произойдет, сделайте это. Если нет, сделай вот это здесь или то там.
  2. Операторы переключения. По общему признанию, я никогда не знал, как их использовать, пока не познакомился со сценариями C # для Unity. Поэтому, когда у вас есть определенные события, вы можете использовать это, чтобы указать определенные вещи. Это более точный, чем типичный оператор if else.
  3. Класс, методы, глобальные переменные и локальные переменные. Как и многие другие языки ООП, сценарии C # используют классы для определения конкретных вещей, которые мы хотим выполнить. Внутри него наши функции используются для определения определенного поведения внутри него. И, конечно же, у вас будут локальные и глобальные переменные для их определения.
  4. Вызов функции из другой функции В Unity вам нужно указать, когда будут происходить определенные действия. Это означает, что вам нужно указать, происходит ли что-то в начале игры, в конце игры или на протяжении всей игры. При этом вам нужно сначала создать метод, который может сначала указать его поведение, а затем вам нужно будет вызвать его в другой функции, которая будет обрабатывать, когда это произойдет. Нравится:

6. Получение компонентов. В большинстве случаев, если вы хотите, чтобы произошло какое-то поведение, вам нужно сначала «схватить» этот объект. Эту концепцию я усвоил, изучая JavaScript. Раньше мне это казалось странным, но теперь это имеет смысл. Однако в случае игры вам нужно будет сделать это для большинства анимаций, игровых движений или взаимодействия врага с игроком.

Так где мы сейчас находимся?

Закрывать. Готово очень близко. Прямо сейчас мы прорабатываем нюансы управления играми для Android по сравнению с управлением играми на консолях. Самая большая проблема до сих пор заключалась не столько в кодировании, сколько в возможности протестировать игру перед ее сборкой. Unity Remote 5 - мобильное приложение, которое позволяет вам подключить консольную игру к мобильному устройству и протестировать ее, но, похоже, на данный момент оно очень темпераментно. То есть это не всегда срабатывало.

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

Заключение

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