Перейти к содержимому

Как создать игру на андроид с нуля

  • автор:

Создание игры на Android

Как сделать игру на Андроид Unity 5 | Урок #1

Представляем вам курс по созданию мобильной 2D игры на Андроид. Игра будет создана на движке Unity. В игре мы реализуем множество концепций игрового движка и познакомимся с разработкой игр на нем.

Видеоурок

Ссылки из видео:

  • Скачать игру на Android ;
  • Скачать игру на IOS .

Unity – это движок, на котором строится большая часть современных игр на разных платформах. Посредством движка реально создавать игры, ориентированные на запуск на компьютерах (Windows, Linux, MacOS), мобильных телефонах, планшетных компьютерах (Android, iOS) и даже игровых приставках PlayStation, Xbox, Nintendo.

Как создавать игры в Unity?

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

Новичков может ввести в заблуждение видимая простота процесса, хотя это не так. Для создания уникальной и популярной игры придётся с нуля писать массу компонентов. Если точнее, в среде Юнити это называется скриптом. Родной язык создания скриптов – C#, но ещё частично используется JavaScript и Boo (обрезанный вариант Python). Создать собственные компоненты нелегко, можно даже сказать – это сложная процедура, напрямую завязанная на классическом программировании. Без наличия достаточного уровня знаний в программировании придётся несладко.

Поддерживаемые платформы

Многие крупные проекты предпочитают Unity из-за огромного списка платформ совместимых с движком. Готовое приложение реально запустить на любой компьютерной операционной системе, популярных мобильных платформах и SmartTV. Что уж говорить, даже браузерные игры и приложения для специфических платформ (вроде Tizen OS) преимущественно разрабатываются на Юнити.

Однако, здесь не всё так гладко. При необходимости можно писать специфические алгоритмы, основанные на низкоуровневом коде, под тот же самый Андроид нужно иметь доскональные знания Java.

То же самое справедливо и в отношении iOS. Ещё одна особенность iOS, что под неё разрабатывать возможно только с компьютера или планшета от Apple. При отсутствии Macbook или аналогичного устройства выпуск игры быстро застопорится и Unity здесь вовсе не причём, Apple сама накладывает подобное ограничение. Вывод прост: если в планах есть iOS-разработка, заранее следует подобрать подходящее устройство для сборки.

Как и где разработать игру на движке?

Длительный процесс разработки игр можем проводить как в рамках Windows, так и Mac OS X. Уже существуют версии редактора под Linux, но рассчитывать на стабильную их работу пока что не приходится. Большую часть времени по созданию игры разработчик проводит внутри редактора Unity. Ещё приходится много времени писать код скриптов, его создавать можем либо в стандартном MonoDevelop, либо в любом редакторе стороннего разработчика. Сейчас активно пользуются Visual Studio, а также Sublime Text, но только при должной настройке.

Cоздание игры в Android Studio. Плюсы и минусы. История и опыт разработки

Если ты вдруг решил создать игру для Android, да еще и свою первую игру, то с чего же ты начнешь? Год назад, я думал, что Android Studio — это лучшая среда разработки для всех андроид приложений, и сейчас, имея полностью готовое приложение в Google Play, готов поделиться опытом.

Когда ты первый раз в GameDev, нужно запастись терпением и изучить как можно больше средств и инструментов для создания своей игры, а также осознать свои возможности и средства. В моем случае средств не было, а возможности. . к слову, Java я изучал вместе с изучением Android Studio. Стоит сказать, что Java — это не первый мой язык. До этого я освоил Си и «плюсы», Python и даже Delphi, сейчас о нем никто и не вспомнит, наверное. В общем, программировать я умею и люблю, а на каком языке строится задача, это уже вопрос посредственный.

Что же предлагает мир для разработки приложений под Android? Да на самом деле очень много предлагает, это и Unity и Unreal Engine и набирающий популярность своей простотой Godot, а так же Cocos2d (правда, он только для 2D приложений).

Конечно, если ты еще новичок, то логично будет начать создание с 2D игр, а потом уже решить для себя, оставаться же на 2D или сделать что-то интересное в объемном 3D пространстве.

Дальше встает выбор, насколько крутой проект делать. Мозг обычно создает идеальные образы, и хочется сделать какой-нибудь Сall of Duty или GTA. Но нужно понимать, что AAA-проекты создаются большой командой разработчиков с огромным опытом за спиной, с многомилионными вложениями в проект, в течение 3-5 лет. А так как ты еще новичок, опыта за спиной ноль, то скорее всего ты сдашься в самом начале пути или заблудишься в этой пучине разработки. Потому проект должен быть максимально простой и давать результат. Тогда я решил, что надо придумать проект, который смогу сделать за месяц. Потом сделать еще проект, и еще, постепенно увеличивая сложность разработки. Так появилась идея создать игру Candy Coloration — раскраску для детей. Но спустя некоторое время идея перескочила на пазлы, которые нужно будет собирать с какой-то целью, а не просто так. Так родилась игра Puzzle of Life. Ссылка на игру ниже, если тебе будет интересно.

Делаем сами себе игру для Android

Недавно мы делали веб-игру про сбор пирамиды. Там мы использовали 3Д-движок и симуляцию физики. И в целом получилась залипательная веб-игра. Вот предыдущие этапы:

  1. Сделали трёхмерную браузерную игру, где нужно ставить блоки друг на друга и набрать как можно больше очков.
  2. Адаптировали игру под мобильные телефоны, чтобы тачскрин нормально обрабатывал все нажатия и жесты.

Ключевое слово — веб: игра работает только в браузере и только при наличии интернета. На этот раз мы превратим страницу с игрой в полноценное приложение для Android. При этом мы не будем пользоваться онлайн-конструкторами, а сделаем всё по-настоящему — в среде разработки и с кодом на Java.

  1. Подготовить файлы для упаковки в игру: скачать скрипты из интернета, перепривязать их к нашей игре на компьютере.
  2. Сделать новый проект в Android Studio.
  3. В проекте сделать WebView — это виртуальное окно браузера внутри приложения. В нём будет работать игра.
  4. Настроить WebView так, чтобы он поддерживал нашу игру и все нужные функции.
  5. Упаковать получившийся проект в виде приложения для Android.

Результат можно скачать сразу: вот приложение, которое получилось у нас таким нехитрым способом:

Подготовка

Главное, что нам понадобится из инструментов, — официальная среда разработки Android Studio. У нас есть про неё отдельная статья: что это такое, зачем нужно и как установить. Качаем с официального сайта и устанавливаем.

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

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

Скрипты кладём в ту же папку, что и остальные файлы с игрой. Вот что должно по итогу у нас получиться с файлами:

Делаем сами себе игру для Android

После этого исправляем пути к скриптам в html-файле, чтобы они подтягивались из той же папки, а не из интернета:

Сохраняем страницу и открываем её в браузере. Если мы всё сделали правильно, то «Пирамида» запустится как обычно — с красивой графикой и реакцией на нажатия.

Создаём новый проект в Android Studio

Запускаем Android Studio и выбираем Empty Activity:

Делаем сами себе игру для Android

После этого выбираем язык Java, а всё остальное оставляем без изменений:

Делаем сами себе игру для Android

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

Делаем сами себе игру для Android

Когда всё загрузится и запустится, перед нами появится окно с новой программой в Android Studio.

Добавляем файлы

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

  1. Создать папку внутри проекта в Android Studio.
  2. Найти папку на диске.
  3. Скопировать в папку все нужные файлы.

Создаём папку так: в левой верхней части щёлкаем правой кнопкой мыши по папке app и в появившемся меню выбираем New → Folder → Assets Folder:

Делаем сами себе игру для Android

Перед нами появится окно, которое спрашивает, к чему будет относиться папка. Ничего не меняем и просто нажимаем Finish:

Делаем сами себе игру для Android

Теперь щёлкаем правой кнопкой мыши на появившейся папке и выбираем Open in → Explorer:

Делаем сами себе игру для Android

Перед нами появится окно проводника с нашей папкой assets. Заходим в неё и копируем туда все игровые файлы, которые мы собрали в самом начале:

Делаем сами себе игру для Android

Смотрим в панель файлов Android Studio, чтобы убедиться, что всё получилось и система увидела наши файлы:

Делаем сами себе игру для Android

Пишем код

Нам было бы здорово видеть и дизайн, и код, поэтому выбираем слева в колонке файлов res → layouts → activity_main.xml и переключаем вид в режим Split в правом верхнем углу:

Делаем сами себе игру для Android

В этом же файле activity_main.xml есть блок, который начинается с команды . Среда разработки умная, поэтому, как только мы начнём писать код, она автоматически предложит нам создать новый блок. Нажимаем энтер, когда появится подсказка:

Делаем сами себе игру для Android

Вот команды, которые нужно добавить в этот файл:

В итоге у нас должен получиться такой блок:

Делаем сами себе игру для Android

Нажимаем ⌘+S или Ctrl+S, чтобы всё сохранить .

Теперь переходим к другому файлу — MainActivity.java — и добавляем в него такой код:

Делаем сами себе игру для Android

setContentView(R.layout.activity_main); WebView webView=findViewById(R.id.webview); webView.getSettings().setJavaScriptEnabled(true); webView.loadUrl("javascript:addLayer(x, z, width, depth, direction)"); webView.loadUrl("javascript:generateBox(x, y, z, width, depth, falls)"); webView.loadUrl("javascript:addOverhang(x, z, width, depth)"); webView.loadUrl("javascript:cutBox(topLayer, overlap, size, delta)"); webView.loadUrl("javascript:init()"); webView.loadUrl("javascript:startGame()"); webView.loadUrl("javascript:eventHandler()"); webView.loadUrl("javascript:splitBlockAndAddNextOneIfOverlaps()"); webView.loadUrl("javascript:missedTheSpot()"); webView.loadUrl("javascript:animation(time)"); webView.loadUrl("javascript:updatePhysics(timePassed)"); webView.loadUrl("javascript:window.addEventListener()"); webView.loadUrl("file:///android_asset/index.html");

Смысл тут в том, что мы сначала создаём новый элемент — просмотрщик веб-контента, потом разрешаем ему выполнять скрипты, а затем перечисляем все функции, которые у нас объявлены в основном скрипте вместе с параметрами вызова. Это нужно для того, чтобы Java знала, что это можно выполнять.

Нажимаем Shift+F10, чтобы запустить приложение в эмуляторе, — видим, что справа появился виртуальный телефон с началом нашей игры, но ничего не двигается. Это связано с тем, что встроенный эмулятор плохо работает с трёхмерной графикой и не может показать всё, что мы от него хотим. Главное, зачем нам это было нужно, — убедиться, что программа нашла все наши файлы, загрузила их и скрипт тоже заработал.

Делаем сами себе игру для Android

Компилируем приложение

Если нам нужен apk-файл, который можно установить на телефон, чтобы проверить игру по-настоящему, нам надо скомпилировать весь проект. Для этого выбираем в верхнем меню Build → Build Bundle(s) / APK(s) → Build APK(s):

Делаем сами себе игру для Android

Когда всё будет готово, внизу появится уведомление, что файл готов. Нажимаем на locate, чтобы перейти к файлу в проводнике:

Делаем сами себе игру для Android Делаем сами себе игру для Android

Этот файл можно скачать себе на телефон с Android, установить его и поиграть в «Пирамиду» даже без интернета.

Приходите к нам в мобильную разработку

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

Приходите к нам в мобильную разработку Приходите к нам в мобильную разработку Приходите к нам в мобильную разработку Приходите к нам в мобильную разработку

Получите ИТ-профессию

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

Как делать игры на телефоне без навыков программирования

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

Сложно представить сейчас человека, который не держит в руке смартфон и не использует его вовсе. Спрос на мобильные телефоны постоянно растет также, как и на приложения, которые для них создаются. Больше половины приложений в популярных маркетах AppStore и Google Play занимают игры. Сделать игру на телефон стало совершенно не сложно. Разрабатывать мобильное приложение, теперь можно даже не имея знаний программирования. Существует масса различных конструкторов, где при помощи визуального программирования блоками можно соединять нужные компоненты, получая нужную программу. Есть, как онлайн платформы в виде веб-сайтов, на которых можно создавать приложения разной сложности, а также есть и полноценные программы, и игровые движки, поддерживающие разработку для мобильных устройств. Среди простых и популярных конструкторов для разработки игр под мобильные устройства можно выделить:

Як робити гри на телефоні без навичок програмування

Плюсы и минусы работы на конструкторах

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

Как делать игры на телефоне без навыков программирования

Игровые движки Unity и UnrealEngine являются лидерами среди всех. У них наибольшая популярность среди разработчиков любителей и профессиональных студий. Почти 60% современных мобильных игр и приложений сделаны при помощи этих инструментов. Ведется постоянная борьба между этими двумя конкурентами и для разработки под мобильные устройства Unity побеждает. Дело в том, что разработчики активно занимаются разработкой модулей для VR, AR, ComputerVision, что позволяет делать игры уже с использованием этих технологий. Не так давно в Unity также появился блочный язык программирования под названием Unity Bolt, который снижает порог сложности входа в работу с этой программой. Начинающему разработчику в Unity необходимо иметь базовые понятия алгоритмизации и изучить базовые принципы программирования, чтобы уже создать свою собственную игру. Портирование для мобильного приложения происходит автоматически, необходимо только скачать вместе с Unity пакет среды разработки под нужную платформу AndroidStudio и так далее.

Что нужно знать unity разработчику

По какому пути идти: заниматься самообучением или идти на курсы

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *