Разработка игр для Android и IOS. Программы для создания игр для андроид Создание мобильной игры с нуля

Вы задумывались над вопросом: как самостоятельно создать игру на Андроид (Android). Оказывается, это возможно. Поможет специализированный софт. Рассмотрим популярные программы для создания игр на Андроид (Android).

Что это такое

Для создания игры нужно хорошо разбираться в программировании? Это правда, но только отчасти. Существуют конструкторы, создающие игру используя принцип «drag-n-drop». Это когда объекты размещаются в нужном месте перетаскиванием мыши.
Конструкторы существуют платные и бесплатные. Некоторые предлагают заработать не рекламе, которая будет размещаться в написанных приложениях. Такие программы значительно упрощают процесс создания и тестирования игры. Рассмотрим подробнее создание игр на Андроид (Android).

Как устроен софт для написания игр

В программе объединены: встроенная среда разработки, редактор и движок. Некоторые программы ограничиваются жанром, другие создают любые игры. Существуют конструкторы создающие только 2D игры.

Основная задача новичка - правильно выбрать приложение.

Рассмотрим этот вопрос подробнее.

Что необходимо знать для создания игр для Android

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

Приложение для создания игр на Андроид (Android)

Существуют приложения, которые используют встроенные инструменты и готовые скрипты, написанные на поддерживаемых программой языках программирования. Это упрощает процесс создания игры.

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

Мультиплатформенная среда Unity3D предназначена для разработки двух и трехмерных компьютерных игр. Рассмотрим принцип создания проекта в Unity.
Скачать программу для создания игр на Андроид (Android) можно с официального сайта: https://unity3d.com/ru/get-unity/download . Для загрузки программы, запустите инсталляционный «exe» файл. Установка простая не вызовет сложностей даже у начинающего пользователя.
В состав программы входят готовые модели, текстуры, картинки и скрипты. Их компиляция происходит на высокой скорости. Встроенное ядро PhysX хорошо прорабатывает действия персонажей, поэтому простой сюжет выглядит качественно. Подойдет для игры с созданием персонажа на Андроид (Android).

Единственное требование для комфортной работы - мощный ПК, поддерживающий работу с трехмерными форматами.

Начало работы

Открываем программу, переходим к созданию нового проекта.
Задайте имя проекта, нажмите кнопку «Create».

Откроется рабочая область где происходит создание игры.

Разработки создали руководство как пользоваться программой. Это сделано чтобы людям было легче разобраться как работает приложение. Здесь описан процесс создания скриптов, подготовка компонентов. Чтобы ознакомиться с ним перейдите по ссылке: https://docs.unity3d.com/ru/current/Manual/android-GettingStarted.html . Это поможет в процессе создания 2D игры на Unity для Android.

Android Studio

Программу создал Google. Ее преимущество - встроенные инструменты, тестирующие созданные игры на предмет совместимости с разными версиями Android.

Разработчики включили в конструктор шаблоны, упрощающие создание игры. Распространяется программа бесплатно.

RAD Studio

Новая версия программы называется Berlin. Позволяет создавать кроссплатформенные приложения. Используются языки Pascal и C++.
Работа с облачными сервисами позволяет посмотреть результат выполнения программы в режиме реального времени. Это говорит о точности разработки. При регистрации вы получите 30 дневную trial версию.

Программа для создания 2D игр на Android

Clickteam fusion простой в освоении. Это актуально для новичков. Рекомендую начать писать игру на этом конструкторе. Вы научитесь основам и поймете логику создания. Полная версия программы создает полноценные сюжетные игры.

Создание игр на Android с нуля в программе Construct 2

Разработчики добавили поддержку формата HTML5. Теперь игры будут отображаться в браузерах. Базовая версия программы бесплатна. Поэтому подойдет начинающим для написания игры с нуля.
Большая часть процесса создания игры - перетаскивание нужных элементов и установка как они будут взаимодействовать между собой. В бесплатной версии игра экспортируется в браузер.

Вывод

Мы рассмотрели платформы для создания игр на Андроид (Android). Ее выбор - важная часть стартовой работы. От этого зависит время написания игры, и количество потраченных усилий. Намного легче использовать встроенный функционал программы, чем писать его самостоятельно.

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

Шаг 1. Придумываем идею игры
Для примера возьмём довольно простую идею:

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


Шаг 2. Создаём проект
В Android Studio в верхнем меню выбираем File → New → New Project.

Тут вводим название приложения, домен и путь. Нажимаем Next.

Тут можно ввести версию андроид. Также можно выбрать андроид часы и телевизор. Но я не уверен что наше приложение на всём этом будет работать. Так что лучше введите всё как на скриншоте. Нажимаем Next.

Тут обязательно выбираем Empty Activity. И жмём Next.

Тут оставляем всё как есть и жмём Finish. Итак проект создан. Переходим ко третьему шагу.

Шаг 3. Добавляем картинки

Шаг 5. Редактируем MainActivity класс

В первую очередь в определение класса добавляем implements View.OnTouchListener. Определение класса теперь будет таким:

Public class MainActivity extends AppCompatActivity implements View.OnTouchListener {
Добавим в класс нужные нам статические переменные (переменные класса):

Public static boolean isLeftPressed = false; // нажата левая кнопка public static boolean isRightPressed = false; // нажата правая кнопка
В процедуру protected void onCreate(Bundle savedInstanceState) {
добавляем строки:

GameView gameView = new GameView(this); // создаём gameView LinearLayout gameLayout = (LinearLayout) findViewById(R.id.gameLayout); // находим gameLayout gameLayout.addView(gameView); // и добавляем в него gameView Button leftButton = (Button) findViewById(R.id.leftButton); // находим кнопки Button rightButton = (Button) findViewById(R.id.rightButton); leftButton.setOnTouchListener(this); // и добавляем этот класс как слушателя (при нажатии сработает onTouch) rightButton.setOnTouchListener(this);
Классы LinearLayout, Button и т.д. подсвечены красным потому что ещё не добавлены в Import.
Чтобы добавить в Import и убрать красную подсветку нужно для каждого нажать Alt+Enter.
GameView будет подсвечено красным потому-что этого класса ещё нет. Мы создадим его позже.

Теперь добавляем процедуру:

Public boolean onTouch(View button, MotionEvent motion) { switch(button.getId()) { // определяем какая кнопка case R.id.leftButton: switch (motion.getAction()) { // определяем нажата или отпущена case MotionEvent.ACTION_DOWN: isLeftPressed = true; break; case MotionEvent.ACTION_UP: isLeftPressed = false; break; } break; case R.id.rightButton: switch (motion.getAction()) { // определяем нажата или отпущена case MotionEvent.ACTION_DOWN: isRightPressed = true; break; case MotionEvent.ACTION_UP: isRightPressed = false; break; } break; } return true; }
Если кто-то запутался ― вот так в результате должен выглядеть MainActivity класс:

Package com.spaceavoider.spaceavoider; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; public class MainActivity extends AppCompatActivity implements View.OnTouchListener { public static boolean isLeftPressed = false; // нажата левая кнопка public static boolean isRightPressed = false; // нажата правая кнопка @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); GameView gameView = new GameView(this); // создаём gameView LinearLayout gameLayout = (LinearLayout) findViewById(R.id.gameLayout); // находим gameLayout gameLayout.addView(gameView); // и добавляем в него gameView Button leftButton = (Button) findViewById(R.id.leftButton); // находим кнопки Button rightButton = (Button) findViewById(R.id.rightButton); leftButton.setOnTouchListener(this); // и добавляем этот класс как слушателя (при нажатии сработает onTouch) rightButton.setOnTouchListener(this); } public boolean onTouch(View button, MotionEvent motion) { switch(button.getId()) { // определяем какая кнопка case R.id.leftButton: switch (motion.getAction()) { // определяем нажата или отпущена case MotionEvent.ACTION_DOWN: isLeftPressed = true; break; case MotionEvent.ACTION_UP: isLeftPressed = false; break; } break; case R.id.rightButton: switch (motion.getAction()) { // определяем нажата или отпущена case MotionEvent.ACTION_DOWN: isRightPressed = true; break; case MotionEvent.ACTION_UP: isRightPressed = false; break; } break; } return true; } }
Итак, класс MainActivity готов! В нём инициирован ещё не созданный класс GameView. И когда нажата левая кнопка - статическая переменная isLeftPressed = true, а когда правая - isRightPressed = true. Это в общем то и всё что он делает.

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

Шаг 6. Создаём класс GameView

Теперь наконец-то создадим тот самый недостающий класс GameView. Итак приступим. В определение класса добавим extends SurfaceView implements Runnable. Мобильные устройства имею разные разрешения экрана. Это может быть старенький маленький телефон с разрешением 480x800, или большой планшет 1800x2560. Для того чтобы игра выглядела на всех устройствах одинаково я поделил экран на 20 частей по горизонтали и 28 по вертикали. Полученную единицу измерения я назвал юнит. Можно выбрать и другие числа. Главное чтобы отношение между ними примерно сохранялось, иначе изображение будет вытянутым или сжатым.

Public static int maxX = 20; // размер по горизонтали public static int maxY = 28; // размер по вертикали public static float unitW = 0; // пикселей в юните по горизонтали public static float unitH = 0; // пикселей в юните по вертикали
unitW и unitW мы вычислим позже. Также нам понадобятся и другие переменные:

Private boolean firstTime = true; private boolean gameRunning = true; private Ship ship; private Thread gameThread = null; private Paint paint; private Canvas canvas; private SurfaceHolder surfaceHolder;
Конструктор будет таким:

Public GameView(Context context) { super(context); //инициализируем обьекты для рисования surfaceHolder = getHolder(); paint = new Paint(); // инициализируем поток gameThread = new Thread(this); gameThread.start(); }
Метод run() будет содержать бесконечный цикл. В начале цикла выполняется метод update()
который будет вычислять новые координаты корабля. Потом метод draw() рисует корабль на экране. И в конце метод control() сделает паузу на 17 миллисекунд. Через 17 миллисекунд run() запустится снова. И так до пока переменная gameRunning == true. Вот эти методы:

@Override public void run() { while (gameRunning) { update(); draw(); control(); } } private void update() { if(!firstTime) { ship.update(); } } private void draw() { if (surfaceHolder.getSurface().isValid()) { //проверяем валидный ли surface if(firstTime){ // инициализация при первом запуске firstTime = false; unitW = surfaceHolder.getSurfaceFrame().width()/maxX; // вычисляем число пикселей в юните unitH = surfaceHolder.getSurfaceFrame().height()/maxY; ship = new Ship(getContext()); // добавляем корабль } canvas = surfaceHolder.lockCanvas(); // закрываем canvas canvas.drawColor(Color.BLACK); // заполняем фон чёрным ship.drow(paint, canvas); // рисуем корабль surfaceHolder.unlockCanvasAndPost(canvas); // открываем canvas } } private void control() { // пауза на 17 миллисекунд try { gameThread.sleep(17); } catch (InterruptedException e) { e.printStackTrace(); } }
Обратите внимание на инициализацию при первом запуске. Там мы вычисляем количество пикселей в юните и добавляем корабль. Корабль мы ещё не создали. Но прежде мы создадим его родительский класс.

Шаг 7. Создаём класс SpaceBody

Он будет родительским для класса Ship (космический корабль) и Asteroid (астероид). В нём будут содержаться все переменные и методы общие для этих двух классов. Добавляем переменные:

Protected float x; // координаты protected float y; protected float size; // размер protected float speed; // скорость protected int bitmapId; // id картинки protected Bitmap bitmap; // картинка
и методы

Void init(Context context) { // сжимаем картинку до нужных размеров Bitmap cBitmap = BitmapFactory.decodeResource(context.getResources(), bitmapId); bitmap = Bitmap.createScaledBitmap(cBitmap, (int)(size * GameView.unitW), (int)(size * GameView.unitH), false); cBitmap.recycle(); } void update(){ // тут будут вычисляться новые координаты } void drow(Paint paint, Canvas canvas){ // рисуем картинку canvas.drawBitmap(bitmap, x*GameView.unitW, y*GameView.unitH, paint); }
Шаг 8. Создаём класс Ship

Теперь создадим класс Ship (космический корабль). Он наследует класс SpaceBody поэтому в определение класа добавим extends SpaceBody.

Напишем конструктор:

Public Ship(Context context) { bitmapId = R.drawable.ship; // определяем начальные параметры size = 5; x=7; y=GameView.maxY - size - 1; speed = (float) 0.2; init(context); // инициализируем корабль }
и переопределим метод update()

@Override public void update() { // перемещаем корабль в зависимости от нажатой кнопки if(MainActivity.isLeftPressed && x >= 0){ x -= speed; } if(MainActivity.isRightPressed && x <= GameView.maxX - 5){ x += speed; } }
На этом космический корабль готов! Всё компилируем и запускаем. На экране должен появиться космический корабль. При нажатии на кнопки он должен двигаться вправо и влево. Теперь добавляем сыплющиеся сверху астероиды. При столкновении с кораблём игра заканчивается.

Шаг 9. Создаём класс Asteroid

Добавим класс Asteroid (астероид). Он тоже наследует класс SpaceBody поэтому в определение класса добавим extends SpaceBody.

Добавим нужные нам переменные:

Private int radius = 2; // радиус private float minSpeed = (float) 0.1; // минимальная скорость private float maxSpeed = (float) 0.5; // максимальная скорость
Астероид должен появляться в случайной точке вверху экрана и лететь вниз с случайной скоростью. Для этого x и speed задаются при помощи генератора случайных чисел в его конструкторе.

Public Asteroid(Context context) { Random random = new Random(); bitmapId = R.drawable.asteroid; y=0; x = random.nextInt(GameView.maxX) - radius; size = radius*2; speed = minSpeed + (maxSpeed - minSpeed) * random.nextFloat(); init(context); }
Астероид должен двигаться с определённой скорость вертикально вниз. Поэтому в методе update() прибавляем к координате x скорость.

@Override public void update() { y += speed; }
Так же нам нужен будет метод определяющий столкнулся ли астероид с кораблём.

Public boolean isCollision(float shipX, float shipY, float shipSize) { return !(((x+size) < shipX)||(x > (shipX+shipSize))||((y+size) < shipY)||(y > (shipY+shipSize))); }
Рассмотрим его поподробнее. Для простоты считаем корабль и астероид квадратами. Тут я пошёл от противного. То есть определяю когда квадраты НЕ пересекаются.

((x+size) < shipX) - корабль слева от астероида.
(x > (shipX+shipSize)) - корабль справа от астероида.
((y+size) < shipY) - корабль сверху астероида.
(y > (shipY+shipSize)) - корабль снизу астероида.

Между этими четырьмя выражениями стоит || (или). То есть если хоть одно выражение правдиво (а это значит что квадраты НЕ пересекаются) - результирующие тоже правдиво.

Всё это выражение я инвертирую знаком!. В результате метод возвращает true когда квадраты пересекаются. Что нам и надо.

Про определение пересечения более сложных фигур можно почитать .

Шаг 10. Добавляем астероиды в GameView

В GameView добавляем переменные:

Private ArrayList asteroids = new ArrayList<>(); // тут будут харанится астероиды private final int ASTEROID_INTERVAL = 50; // время через которое появляются астероиды (в итерациях) private int currentTime = 0;
также добавляем 2 метода:

Private void checkCollision(){ // перебираем все астероиды и проверяем не касается ли один из них корабля for (Asteroid asteroid: asteroids) { if(asteroid.isCollision(ship.x, ship.y, ship.size)){ // игрок проиграл gameRunning = false; // останавливаем игру // TODO добавить анимацию взрыва } } } private void checkIfNewAsteroid(){ // каждые 50 итераций добавляем новый астероид if(currentTime >= ASTEROID_INTERVAL){ Asteroid asteroid = new Asteroid(getContext()); asteroids.add(asteroid); currentTime = 0; }else{ currentTime ++; } }
И в методе run() добавляем вызовы этих методов перед вызовоом control().

@Override public void run() { while (gameRunning) { update(); draw(); checkCollision(); checkIfNewAsteroid(); control(); } }
Далее в методе update() добавляем цикл который перебирает все астероиды и вызывает у них метод update().

Private void update() { if(!firstTime) { ship.update(); for (Asteroid asteroid: asteroids) { asteroid.update(); } } }
Такой же цикл добавляем и в метод draw().

Private void draw() { if (surfaceHolder.getSurface().isValid()) { //проверяем валидный ли surface if(firstTime){ // инициализация при первом запуске firstTime = false; unitW = surfaceHolder.getSurfaceFrame().width()/maxX; // вычисляем число пикселей в юните unitH = surfaceHolder.getSurfaceFrame().height()/maxY; ship = new Ship(getContext()); // добавляем корабль } canvas = surfaceHolder.lockCanvas(); // закрываем canvas canvas.drawColor(Color.BLACK); // заполняем фон чёрным ship.drow(paint, canvas); // рисуем корабль for(Asteroid asteroid: asteroids){ // рисуем астероиды asteroid.drow(paint, canvas); } surfaceHolder.unlockCanvasAndPost(canvas); // открываем canvas } }
Вот и всё! Простейшая 2D игра готова. Компилируем, запускаем и смотрим что получилось!
Если кто-то запутался или что-то не работает можно скачать исходник .

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

На этом всё. Пишите отзывы, вопросы, интересующие вас темы для продолжения.

Игровая индустрия за последние несколько лет сильно изменилась. Раньше по-настоящему большие проекты выходили раз-два в год, если не меньше, в наше время ситуация совсем другая. На официальном сайте Steam была опубликована новость, в которой приводилась подробная статистика: за этот год было выпущено 38% всех игр площадки (более 4200, из них около 80% - Indie.). Кто-то скажет, что из-за количества страдает качество, но на самом деле это не всегда оказывается правдой. В данной статье мы описали несколько программ для создания игр, с помощью которых вы сможете разрабатывать свои проекты на различные платформы: PC, IOS, Android, PS4, Xbox One.

Unity3D

Unity Technologies - уникальная компания. Она создала движок Unity3D - один из самых популярных инструментов для создания игр во всей игровой индустрии. Игровой движок Unity несомненно является доминирующим глобальным поставщиком программного обеспечения для разработки игр. Больше всего игр сделано именно на этом движке. Так, за 2015 год было создано 220 тысяч видео игр, а установки превысили 4,2 миллиарда раз. Все больше геймеров играют в игры, сделанные на Unity, и все больше разработчиков полагаются на их инструменты и сервисы для управления своим бизнесом. Мы уже писали о Unity 5 на нашем сайте, сравнивая его с другими игровыми движками: . Сейчас мы вкратце расскажем о нём.

Игровой движок Unity 5 предлагает широкий спектр функций и довольно простой для понятия интерфейс. Это кросс-платформенный движок, который с легкостью портирует игры на Android, IOS, Windows Phone 10, BlackBerry , делая его замечательным инструментом для создания мобильных игр. Он также имеет возможность создания видеоигр для консолей нового поколения: PS4 PRO, Xbox One S .

Unity поддерживает 3D форматы различных программ: 3ds Max, Maya, Blender, CINEMA 4D, Softimage и так далее. Новый Unity3D поддерживает гибкую настройку Спрайтов (Sprites) и 2D физики, что делает его отличным игровым движком для создания 2D и 2.5D игр. Именно поэтому многие компании, нацеленные на создание мобильных проектов, выбирают Unity, потому что быстрая разработка, минимальные вложения, портирование на все возможные платформы - это то, что по-настоящему нужно небольшим компаниям.

Помимо того, этот игровой движок работает в связке со многими 3D программами, он также содержит полезные функции для редактирования внутри движка. Unity не имеет реальных инструментов для моделирования, есть только возможность масштабировать и накладывать текстуры на 3D модели, поэтому все, что касается анимирования, моделирования, создания материалов, будет создаваться в постороннем 3D софте. Однако Unity3D может похвастаться большой библиотекой ассетов, где большая часть может быть скачана бесплатно, а остальная часть может быть приобретена за небольшую цену (цена определяется автором ассета).

Unity 5 имеет несколько тарифных планов. Если раньше их было все 2: бесплатная версия и платная за $75/месяц, то сейчас их куда больше. Personal версия - бесплатная сборка для тех, кто только знакомится с этим игровым движков. Доход в данном случае не должен повышать $100.000 долларов за квартал. Вам будут доступны все функции, вы сможете начать работать сразу, как только зарегистрируетесь и установите его.
Версия Plus - сборка, подходящая для продвинутых художников. Одной из главной особенности этой сборки является замена скина UI редактора, замена начального экрана и ряд других возможностей, недоступных для пользователей с бесплатной версией.
PRO версия - для мастеров своего дела. С Unity Pro у вас есть возможность посмотреть исходный код, получить премиум поддержку, ассеты можно купить на Asset Store со скидкой 40%, что очень неплохо.
И последняя версия - Enterprise . Данную сборку нельзя купить обычным способом, вам будет необходимо связываться с Unity Technologies для получения самой профессиональной сборки для 20+ сотрудников.

Unity часто ассоциируется с мобильными играми, но с выходом Unity 5 и новым рендером наблюдается огромный рост графических возможностей игрового движка, включая такие вещи, как Physically Based Shading, Global Illumination в реальном времени и HDR Reflection Probes , а также многие другие улучшения.

Unity 5 предлагает некоторые функции, которые делают его сильным соперником среди игровых движков Unreal Engine 4 и CryEngine 3. Скачать можно с официального сайта Unity.com .

Unreal Engine

Unreal Engine - игровой движок, разработанный компанией Epic Games . Она известна по ряду игр: FPS шутер "Unreal ", блокбастер "Gears of War ", "Infinity Blade " на IOS. С этим инструментом можно создать игры на Windows, Mac, Xbox One S, PS 4K, IOS, Linux, Android, Ouya, VR и для HTML5 Web браузеры.

Если Unity знают по Indie играм (Crossy Road, Superhot, I am Bread и так далее), то Unreal Engine, наоборот, выпускает огромные проекты, будь то Smite, Paragon, Day by Daylight ... Эта программа имеет полный набор инструментов для создания своей собственной игры, начиная с мобильной 2D, заканчивая консольным VR блокбастером. Он использует встроенный визуальный скриптинг - Blueprint, который сильно упрощает процесс создания игры.

В Unreal Engine 4 любому пользователю будет доступен исходный код, с которым можно настроить программу под себя, использовать необходимые плагины и написать свои. Присоединившись к Epic Games вы сможете посмотреть 3 миллиона строк кода, доступных на GitHub. Скачать с официального сайта: ссылка .

Kobold2D

Ready-To-Go решение для разработки игр на IPhone . Открытый код, ARC включен, для IOS и Mac OS. Kobold2D - это расширенная и улучшенная версия знаменитой программы для создания игр - Cocos2D для IPhone. Все, что вы знали о Cocos2D, может быть применено в новом движке. Новая версия более удобна в использовании, более мощный и гибкий вариант, чем Cocos2D, вся документация доступна в интернете и в автономном режиме. Используйте эту программу для создания игр под Iphone, Ipod Touch, Ipad и Mac Os X для Apple App Store.

Kobold2D использует популярный cocos2D-iphone игровой движок, добавляет часто используемый код, интегрирует популярные библиотеки и хочет, чтобы вы были более продуктивными и получали удовольствие от обучения и разрабатывания IOS и Mac OS X игр. Kobold2D предоставляет обширную документацию и множество примеров кода для быстрого старта.

ZGame Editor

Создавайте игры размером всего 64KB или меньше, используя процедурный контент. Программа использует OpenGL для графики и Real-Time синтезатор для аудио. ZGameEditor - это бесплатная Open Source программа. Для более подробного изучения посетите веб-сайт с документацией.

ZGameEditor - инструмент для создания несложных аркадных игр. Особенности: Встроенное окружение для разработки, где вы можете работать и тестировать свою игру, Cross-Platform: Редактор только для Windows, но также можно запускать на Linux, Mac OS X и Android, 3D ассеты и геймлпей компоненты, импортируйте свои текстуры, MIDI файлы для музыки и 3DS файлы для 3D ассетов. Игры, созданные на ZGE, можно распространять бесплатно (Royalty Free). Исходный код можно посмотреть здесь (Pascal): .

GameGuru

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

Игровой мир: большие игровые локации, Terrain Editor, встроенная система растительности, готовые примеры для старта, растительность генерируется в том месте, где вы считаете нужным.

Рендер: игровой движок поддерживает технологию Level of Detail (LOD), чтобы обеспечить плавную картинку и высокую частоту кадров. Каскадный мэппинг теней, динамические тени в реальном времени. Возможность запекания теней, добавления дополнительных реалистичных теней, поддержка Ambient Occlusion, Sky maps и Occlusion Culling System.

Геймплей: экшен FPS, быстрая, классическая FPS механика, Third Person Shooter механика, стратегия в реальном времени, Фэнтези-анимации, готовый мультиплеер (Просто создайте или присоединитесь к созданной игре в GameGuru, используя Steam Multiplayer и Steam Workshop. )

Персонажи в GameGuru: возможность создания реалистичного персонажа, его кастомизация, создание анимаций, AI, встроенный NavMesh, позволяющий игрокам двигаться по карте, не проходя сквозь игровые объекты. Также для каждого игрового персонажа можно подобрать собственное оружие, полностью анимированное и готовое к использованию.

GameMaker: Studio

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

Импортируйте изображения, анимации, аудио и шрифты через Studio"s Resource Tree . Разработав игру, вы сможете портировать её сразу на несколько платформ, используя кросс-платформенные решения от GameMaker.

Недавно YoYo Games анонсировали вторую часть программы для создания игр - GameMaker Studio 2 . Движок был полностью переделан, поменялся интерфейс, кодовая база и был добавлен ряд новых функций. Из нового: Room Editor, Brush Based Editing, Drag/Drop, Animation Support, удобные Tile Brushes и многое другое. Прочитайте полный список здесь: .

Приветствую всех читателей моего блога! Сегодня я хочу поговорить о таком интересном деле, как создание игр для ОС Android. Раньше создание игр было достаточно кропотливым занятием, требовавшим определенных знаний и навыков у программистов, художников, дизайнеров. Для написания более-менее серьезной игры нужно было собрать команду, найти финансирование, создать движок, на котором она работала бы, написать тысячи строк кода, десятки раз перепроверять работоспособность игры и отлавливать ошибки.

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

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

Unity 3d

Наиболее функциональным инструментом для разработки мобильных игр является движок Unity 3d. Он использовался для таких известных андроид игр, как: Dead Trigger , The Silent Age , Shattered Planet . Эта программа для создания игр на Андроид позволяет легко создавать игры любых жанров: шутеры и экшены от первого и третьего лица, гонки, RPG, стратегии, платформеры, головоломки – все что угодно. Многие разработчики создают отдельные библиотеки и наборы инструментов для Unity, выкладывая их в свободный доступ, так что пользователь, решивший эту программу для создания игр для Андроид скачать, получит доступ к различному контенту (моделям персонажей, уровням, текстурам, звукам и так далее), которые он сможет добавить в свои игры.

Пример использования Unity 3d:



Для неопытных пользователей разработчики программы для создания Андроид игр Unity 3d приготовили большое количество видеоуроков, поэтому освоить этот движок при должном терпении сможет каждый. Игры, разработанные при помощи этой утилиты, можно распространять в магазине Google Play, но с определенными условиями – узнать их можно, прочитав лицензионное соглашение Unity и Google Play. Таким образом, создатель игр может не только приобрести полезные навыки разработчика, но и получить прибыль, если разработанные им проекты станут успешными. Ниже я приведу видео обзор, который поможет поближе познакомиться с этим движком.

DX Studio

Следующая популярная программа для создания игр на Андроид, скачать которую можно совершенно бесплатно, называется DX Studio. Этот движок позволяет разрабатывать игры на платформы андроид и виндовс: для первой используется графический API OpenGL ES, а для второй – DirectX.

При помощи этой программы для создания 3d игр на Андроид пользователь может разрабатывать достаточно качественные проекты, в которых содержатся современные шейдеры, система частиц, различные эффекты, достоверная физическая модель, лайтмапинг и динамические тени, объемный звук. Работая в этой программе, можно использовать сторонние библиотеки (в том числе из AutoCAD, 3Ds MAX) и создавать собственные объекты – возможности для пользователя обширны.
Движок DX Studio абсолютно бесплатен для пользователей – при условии, что игры, разработанные с его помощью, распространяются на бесплатной основе. К этому движку я также прикладываю видео обзор, в котором будет показано как именно можно создавать игры:

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

А знаете ли Вы, какие , являются лучшими?

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

Ни одна успешная игра не обходится без красивой графики, поэтому создание дизайна – один из важнейших этапов разработки. Дизайн на ОС Android реализовывается с помощью «дизайн-документа» или диздока. Начать создание игрушки нужно именно с его детальной проработки. В файле содержится:

  1. Объектные модели;
  2. Функциональные спецификации;
  3. Игровой контент;
  4. Интерфейс.

Рассмотрим каждый из пунктов более подробно.

Объектные модели

Это информация о функционале каждого предмета. Объектные модели отвечают за возможность покупки и продажи предметов, а также за улучшение игровых характеристик персонажей.

Функциональные спецификации

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

Игровой контент

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

Интерфейс

Интерфейс – это то, как пользователь будет взаимодействовать с игрой. Он включает в себя кнопки, с помощью которых можно управлять персонажем, и разделы меню: например, играть, счет, настройки, топ игроков, справка. Если вы не имеете опыта в создании приложений на Андроид, перед созданием собственного скачайте с Плей Маркета и проанализируйте популярные игры и перенесите лучшие решения в свой проект.

Игровой движок

Основой любой игры является движок. Это программное обеспечение, позволяющее разрабатывать и запускать ее. Он содержит целый комплекс программ, включающий движок рендеринга, физический движок, звук, анимацию и многое другое. Чтобы облегчить процесс написания программ, сторонние разработчики создают собственные игровые движки специально для Андроид-приложений.

Каждый из них предлагает различные функции: некоторые разработаны для 3D, другие для 2D, может поддерживаться мультиплатформенность. Таких движков есть огромное количество, но, если вы новичок, лучше выбрать один из самых популярных, так как там будут присутствовать все необходимые функции.

UDK

Torque 2d/3d

Что такое конструктор игр?

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

Конструктор позволяет создавать игры различных жанров для Windows, Android и iOS. Предлагает большой выбор готовых локаций, объектов, персонажей и звуковых оформлений, поэтому создание первой Андроид-игры не займет много времени. Пользователи, знакомые с языками программирования JS и C++, могут использовать встроенный GML. Единственный недостаток заключается в том, что программа не переведена на русский язык.

Заключение

Создание игры на Андроид – не совсем простое, но очень прибыльное дело. Если вы решили разработать игру и зарабатывать на ней, сначала проработайте идею. Далее напишите «дизайн-документ» и определитесь с игровым движком, который сможет максимально раскрыть ее потенциал. После этого можно приступать непосредственно к созданию приложения в конструкторе.

Видео

Чтобы детальнее ознакомиться с процессом создания Андроид-игр, ознакомьтесь с серией видеороликов, посвященных этому занятию.