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

Как можно самостоятельно создать игру на Андроид?

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

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

Сделать игру на Андроид можно с помощью следующих бесплатных программ (выбраны самые популярные):

  • DX Studio;
  • GameMaker MIPS;
  • Dreemchest.

Подробнее рассмотрим каждую из них.

Содержание

  • 1 DX Studio и GameMaker MIPS
  • 2 Удобство Dreemchest

Вернуться к оглавлению

DX Studio и GameMaker MIPS

Эта интегрированная среда, впервые опубликованная в 2005 году, предназначена для создания 2D и 3D игр для Android. Также можно создавать и обычные программы для операционных систем Android и Windows. Вы сразу видите свой конечный продукт, для чего используются DirectX и OpenGl ES. Большой плюс программы — наличие всех необходимых инструментов. Скрипты создаются с помощью JavaScript.

Этот движок для создания игр может гордиться хорошим графическим исполнением. В нем качественно проработаны все тени и отражения объектов, возможно добавление разнообразных световых эффектов и шейдеров. Все редактируемые файлы конструктора можно сохранять в популярных форматах 3Ds MaX, DirextX, AutoCAD.

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

На вопрос о том, как сделать игру на Андроид, ответила небезызвестная команда YoYo Games. Вместе с MIPS Technologies они представили программу-конструктор для написания игр. Среду назвали просто GameMaker. Она не требует знания какого-либо языка программирования для создания продукта, ею можно пользоваться, даже не зная основ JavaScript. В среду встроен собственный язык программирования. Благодаря этому время на создание качественной игры значительно уменьшается. Также в конструкторе уже присутствует анимированная графика, некоторое музыкальное сопровождение и простые звуковые эффекты. Команда разработчиков GameMaker не ставит какие-либо ограничения на созданные с помощью их конструктора игры. За небольшую плату можно открыть дополнительные возможности программы, но и без них конструктор более чем функционален.

Вернуться к оглавлению

Удобство Dreemchest

Движок для написания 2D игр для Android поддерживает работу с IOS, Flash, Windows и MacOS X. Распространяется он через официальный сайт абсолютно бесплатно. Для использования Dreemchest все-таки придется подучить скриптовые языки, такие как Lua и AS2.

Программа заточена под пользователя. У нее грамотный и приятный глазу дизайн оболочки конструктора, а также редактор типа WYSIWYG («what you see is what you get»). Исходя из названия, понятно, что во время работы вы видите объект так, как он будет выглядеть на выходе. Благодаря этому вы можете быстро создавать уровни, так как не нужно будет тратить время на то, чтобы прописать-запустить-проверить-переписать.

В графическом плане движок поддерживает DirectX 9.0 и OpenGL. Физику в этом конструкторе регулирует Box2D. Этот конструктор еще молод, но составляет достойную конкуренцию соседям по рынку. Пока что он заточен исключительно под создание 2D игр, но этого более чем достаточно.

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

Отнеситесь к занятию с должным упорством — и тогда вы обязательно добьетесь результатов. И включайте свое воображение на полную катушку. Программа для создания игр на Андроид — ваш лучший помощник. Творите и делитесь своими играми!

proantab.ru

Создание простой 2D игры на Android

Доброго дня всем! Когда я писал эту «игру» у меня возникала масса вопросов по поводу зацикливания спрайтов так что бы они появлялись через определенное время, так же были проблемы с обнаружением столкновений двух спрайтов и более, все эти вопросы я сегодня хочу осветить в этом посте так как в интернете я не нашел нормального ответа на мои вопросы и пришлось делать самому. Пост ни на что не претендует, я новичок в разработке игр под android и пишу я для новичков в данной отрасли. Кому стало интересно прошу под кат.

Постановка задачи:

Игра должна представлять из себя поле (сцену) на котором располагается ниндзя и призраки. Нинзя должен защищать свою базу от этих призраков стреляя по ним.

Пример такой игры можно посмотреть в android market'e. Хотя я сильно замахнулся, у нас будет только похожая идея.

Вот как будет выглядеть игра:

Начало разработки

Создаем проект. Запускаем Eclipse — File — Android Project — Defens — Main.java. Открываем наш файл Main.java и изменяем весь код на код который ниже:

Main.java

public class Main extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // если хотим, чтобы приложение постоянно имело портретную ориентацию setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); // если хотим, чтобы приложение было полноэкранным getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); // и без заголовка requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(new GameView(this)); } } Код ниже говорит нашей главной функции что запускать нужно не *.xml файл темы, а класс который у нас является самой сценой.setContentView(new GameView(this)); Дальше Вам нужно создать класс GameView.java который будет служить для нас главным классом на котором будет производится прорисовка всех объектов. Так же в этом классе будет находится и наш поток в котором будет обрабатываться прорисовка объектов в потоке для уменьшения нагрузки игры на процессор. Вот как будет выглядеть класс когда на сцене у нас ничего не происходит:

Еще по теме:   Как на Андроид убрать уведомления?

GameView.java

import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Random; import towe.def.GameView.GameThread; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.view.MotionEvent; import android.view.SurfaceHolder; import android.view.SurfaceView; public class GameView extends SurfaceView { /**Объект класса GameLoopThread*/ private GameThread mThread; public int shotX; public int shotY; /**Переменная запускающая поток рисования*/ private boolean running = false; //————-Start of GameThread—————————————————\ public class GameThread extends Thread { /**Объект класса*/ private GameView view; /**Конструктор класса*/ public GameThread(GameView view) { this.view = view; } /**Задание состояния потока*/ public void setRunning(boolean run) { running = run; } /** Действия, выполняемые в потоке */ public void run() { while (running) { Canvas canvas = null; try { // подготовка Canvas-а canvas = view.getHolder().lockCanvas(); synchronized (view.getHolder()) { // собственно рисование onDraw(canvas); } } catch (Exception e) { } finally { if (canvas != null) { view.getHolder().unlockCanvasAndPost(canvas); } } } } } //————-End of GameThread—————————————————\ public GameView(Context context) { super(context); mThread = new GameThread(this); /*Рисуем все наши объекты и все все все*/ getHolder().addCallback(new SurfaceHolder.Callback() { /*** Уничтожение области рисования */ public void surfaceDestroyed(SurfaceHolder holder) { boolean retry = true; mThread.setRunning(false); while (retry) { try { // ожидание завершение потока mThread.join(); retry = false; } catch (InterruptedException e) { } } } /** Создание области рисования */ public void surfaceCreated(SurfaceHolder holder) { mThread.setRunning(true); mThread.start(); } /** Изменение области рисования */ public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { } }); } /**Функция рисующая все спрайты и фон*/ protected void onDraw(Canvas canvas) { canvas.drawColor(Color.WHITE); } } Из комментариев надеюсь понятно какая функция что делает. Этот класс является базовым по этому в нем мы будем производиться все действия (функции) которые будут происходить в игре, но для начало нам нужно сделать еще несколько классов Переходи к следующему пункту — создание спрайтов.

Создание спрайтов

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

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

Теперь загрузите эти картинки в папку res/drawable для того, чтобы Eclipse мог увидеть эти картинки и вставить в Ваш проект. Следующий рисунок должен визуально помочь понять как будет располагаться игрок на экране.

Скучная картинка… Давайте лучше создадим этого самого игрока. Нам нужно разместить спрайт на экране, как это сделать? Создаем класс Player.java и записываем в него следующее:

Player.java

import android.graphics.Bitmap; import android.graphics.Canvas; public class Player { /**Объект главного класса*/ GameView gameView; //спрайт Bitmap bmp; //х и у координаты рисунка int x; int y; //конструктор public Player(GameView gameView, Bitmap bmp) { this.gameView = gameView; this.bmp = bmp; //возвращаем рисунок this.x = 0; //отступ по х нет this.y = gameView.getHeight() / 2; //делаем по центру } //рисуем наш спрайт public void onDraw(Canvas c) { c.drawBitmap(bmp, x, y, null); } } Все очень просто и понятно, наш игрок будет стоять на месте и ничего не делать, кроме как стрелять по врагу но стрельба будет реализована в классе пуля (снаряд), который будем делать дальше. Создаем еще один файл классов и назовем его Bullet.java, этот класс будет определять координаты полета, скорость полета и другие параметры пули. И так, создали файл, и пишем в него следующее:

Bullet.java

import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Rect; public class Bullet { /**Картинка*/ private Bitmap bmp; /**Позиция*/ public int x; public int y; /**Скорость по Х=15*/ private int mSpeed=25; public double angle; /**Ширина*/ public int width; /**Ввыоста*/ public int height; public GameView gameView; /**Конструктор*/ public Bullet(GameView gameView, Bitmap bmp) { this.gameView=gameView; this.bmp=bmp; this.x = 0; //позиция по Х this.y = 120; //позиция по У this.width = 27; //ширина снаряда this.height = 40; //высота снаряда //угол полета пули в зависипости от координаты косания к экрану angle = Math.atan((double)(y — gameView.shotY) / (x — gameView.shotX)); } /**Перемещение объекта, его направление*/ private void update() { x += mSpeed * Math.cos(angle); //движение по Х со скоростью mSpeed и углу заданном координатой angle y += mSpeed * Math.sin(angle); // движение по У -//- } /**Рисуем наши спрайты*/ public void onDraw(Canvas canvas) { update(); //говорим что эту функцию нам нужно вызывать для работы класса canvas.drawBitmap(bmp, x, y, null); } } Из комментариев должно быть понятно что пуля выполняет только одно действие — она должна лететь по направлению указанному игроком.

Рисуем спрайты на сцене

Для того что бы нарисовать эти два класса которые мы создали, нам нужно отредактировать код в классе GameView.java, добавить несколько методов которые будут возвращать нам наши рисунки. Полностью весь код я писать не буду, буду приводить только код нужных мне методов. Для начала нам нужно создать объекты классов Bullet и Player для того что бы отобразить их на экране, для этого создадим список пуль, что бы они у нас никогда не заканчивались, и обычный объект класса игрока.

Шапка GameView

private List ball = new ArrayList(); private Player player; Bitmap players; Дальше нам нужно присвоить картинки нашим классам, находим конструктор GameView и вставляем в самый конец две строчки:

GameView.java — Конструктор GameView

players= BitmapFactory.decodeResource(getResources(), R.drawable.player2); player= new Player(this, guns); И в методе onDraw(Canvas c); делаем видимыми эти спрайты. Проходим по всей коллекции наших элементов сгенерировавшихся в списке.

GameView,java

Еще по теме:   Как включить отладку по USB на Андроид?

/**Функция рисующая все спрайты и фон*/ protected void onDraw(Canvas canvas) { canvas.drawColor(Color.WHITE); Iterator j = ball.iterator(); while(j.hasNext()) { Bullet b = j.next(); if(b.x >= 1000 || b.x = 1000 || e.x

habr.com

Создание игры для Андроид

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

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

Dx Studio – полностью интегрированная среда разработки 2d либо 3d-игр и приложений для систем Windows и Android. Разработка производится в реальном времени при помощи DirectX и OpenGL ES.

Все инструменты находятся в пределах одной среды разработки. Для скриптов можно использовать JavaScript.

  • Присутствует система современных шейдеров, различных эффектов и система частиц.
  • Файлы для редактирования в конструкторе могут быть таких популярных форматов как DirextX, 3D Studio, 3Ds MAX, AutoCAD и т.д.
  • Имеются проработанные качественные отражения и тени предметов и персонажей. Также лайтмапинг и динамические тени.
  • Хорошая оптимизация
  • Интегрирован физический движок NVIDIA PhysX.
  • Хорошая физика автомобилей и персонажей.
  • Применение материала к объектам.
  • Объемный звук.
  • Удобный редактор карт и система ландшафтов.
  • Поддержка интернета и сети.

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

Официальный сайт движка, где его можно скачать, — DXStudio.com

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

Еще один бесплатный игровой движок под названием Dreemchest. Данный конструктор дает возможность создавать 2d игрушки для систем Android, iOS, Flash, Windows и MacOS X. Программный код Dreemchest идет на скриптовых языков Lua и AS2.

Комфортный и приятный интерфейс, также встроенный WYSIWYG-редактор с системой Drag and drop, по этой причине уровни создавать можно относительно быстро и никакие скрипты можно не использовать! Несмотря на небольшой размер программа довольно качественная и конкурентоспособная.

  • Использует DirectX 9.0 и OpenGL на ПК.
  • Для мобильных устройств имеется OpenGL ES 1.0. Благодаря этому, приложения созданные в Dreemchest можно будет запускать как на современных платформах, так и на старых мобильных телефонах.

Прочие особенности

  • Доступен WYSIWYG-редактор.
  • Встроен физический движок Box2D — регулирует поведение физических объектов.

Интерфейс весьма привлекательный, на этом движке очень удобно творить. Есть встроенный Box2D (используется для поведения физических объектов), также на достойном уровне программная анимация. Flash IDE и библиотека помогут быстро собрать интерфейс из созданных кнопок и фона. Чтобы написать часть логики на AS2 или сделать загрузочные экраны, также много времени не потребуется.

Отечественный, относительно молодой движок отлично подойдет для разработки 2d игр и приложений для системы Андроид. Освоить его сможет как профессионал, так и новичок.

Официальный сайт — Dreemchest.com

Недавно YoYo Games при сотрудничестве с MIPS Technologies выпустили бесплатно специальную сборку программы для создания игр на систему Android – GameMaker. Редактор не требует от пользователя обязательного знания языков программирования. Свой язык там уже встроен, что упрощает работу с программой. Позволяет также очень быстро сделать качественное приложение. Анимированная графика, музыкальное сопровождение и звуковые эффекты присутствуют. Разработчики GameMaker позволяет безо всяких правовых ограничений продавать игры для Андроида, созданные в этом конструкторе. Также можно разблокировать дополнительные функции. Сайт конструктора — Yoyogames.com.

Данный конструктор использует довольно простой язык программирования – BASIC. Теперь новичкам не нужно знать даже азы Java, чтобы сделать собственные приложения для системы Android. В Android4Basic также имеется WYSIWYG редактор пользовательского интерфейса, который дает возможность быстро и красиво нарисовать внешний вид приложения либо программы. Конечный файл игры выходит в чистом APK-файле Java. Вот только цена его — 59$. Сайт конструктора — Basic4ppc.com.

Для разработки своей собственной игры или приложения на систему Android пользователь вполне сможет обойтись без знания высокоуровневых языков программирования. Используя современные конструкторы, вполне достаточно знать любой скриптовый язык, такой как Lua или JavaScript. Конечно, самое главное – это воображение.

Желаю Вам удачи и творческих идей в разработке собственных игр!

Напоследок, предлагаем посмотреть 2 обучающих урока по конструктору DX Studio. Голос в видео не очень разборчивый, но если слушать внимательно (а научиться писать игры для Андроид по-другому не получится!), делая паузы, полезные уроки извлечь можно.

Ваша оценка Создание игры для Андроид?

Если в play market доступна более новая версия игры Создание игры для Андроид, сообщите об этом в комментариях ниже и мы выложим обновленные файлы для загрузки.

playsandroid.com

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

Мечтаете создать свою игру, но мысли о том, что придётся учить языки программирования пугают вас? Вы гуманитарий? А может, у вас просто не хватает времени на изучение C# или Java? В любом случае, речь в этом посте пойдёт об игровых конструкторах. Для тех, кто не в курсе, это программы, в которых можно делать игры без написания кода. Конструкторы подходят для создания прототипов и участия в коротких Game Jams, которые сейчас популярны. 

Первое знакомство

Однажды мне довелось побывать на мастер-классе по прототипированию у одного известного левел-дизайнера, работавшего в одной из крупнейших IT-компаний в России. На мастер-классе каждому участнику предложили создать свою игру за 1 час, а в конце часа показать игру остальным. То есть я первый раз запускаю программу и через час должен создать игру? Обладая некоторым опытом работы в программах, где необходимо писать код, я не поверил, что такое возможно. К моему удивлению, все (я в том числе) успели сделать свою первую маленькую игру. Пусть и простую, но в нее можно было играть. Так во мне зародилась любовь к конструктору под названием Clickteam Fusion 2.5 (раньше назывался Multimedia Fusion). Ещё популярными конструкторами являются Game Maker Studio и Construct 2. В основном, я работаю в Clickteam Fusion 2.5 (далее CF 2.5). На её примере раскрою принцип работы таких программ и их возможности.

Еще по теме:   Как на самсунге обновить Андроид?
Как это работает

Сразу отмечу, что конструкторы предназначены для работы в 2D. Уверен, в ближайшее время появятся и полноценные 3D-аналоги. Если вы настроены попробовать себя в 3D, то без знания программирования, вы сможете создать только карты для популярных игр, которые имеют редакторы-карт. Это уже другая тема, а сейчас я расскажу, как же работать в конструкторе.  При создании новой игры необходимо определить, для какой платформы хотите творить. Конструкторы дают возможность создавать игры для PC, IOS, Android, Html 5, Flash и т.д. Например, чтобы создать игру не только для PC, но и для IOS в программе CF 2.5, придётся докупить или скачать export module ios. Модуль конвертирует игру в код платформы – Xcode. Затем, через несколько нажатий, вы уже сможете тестировать игру на устройствах Apple (также нужен аккаунт разработчика Apple).

Ваша игра будет состоять из кадров (сцен). В каждом кадре можно создавать объекты, которые помогут вам решить любую задачу. Например, если это главное меню и вы хотите создать кнопку «Start», вам необходимо создать объект «active».

Окно «Редактор кадра».

Нажимаем правую кнопку мыши и выбираем «Insert object».

Выбираем объект «active». Затем, нужно вставить в объект изображение кнопки или нарисовать во встроенном редакторе. В этом окне также можно создать покадровую анимацию. Один объект может иметь несколько анимаций (герой стоит, герой бежит, герой летит).

Окно «Графический редактор». Осталось придумать событие, которое будет происходить с этим объектом. Для этого, переходим с вкладки «редактор кадра» на вкладку «редактор событий».

Выбираем из списка необходимые события (условия), при которых, произойдут установленные вами действия над выбранным объектом, группой объектов, кадром.

Если игрок нажимает левой кнопкой мыши на объект «Start», то —

— происходит переход на следующий кадр.

Вот так просто, без программирования, можно создавать различные события, из которых будет состоять ваша игра. Ещё несколько примеров: — Если объект «шар» коснулся объекта «шип», то на экране появляется  надпись «вы проиграли», а объект «шар» меняет анимацию на «шар лопнул». — Если прошло более 5 секунд с начала запуска кадра, то в правом верхнем углу появляется объект «аптечка». — Если объект «птичка» коснулся объекта «червяк», то «червяк» исчезает, в объект «счётчик очков» прибавляется единица и один раз проигрывается звук «жалобный крик червя». Не изучая программирование, вы сможете создавать самые разные механики, используя фантазию и большое количество вспомогательных объектов. Перечислю некоторые из них:

Active object – самый популярный объект, его используют для создания объектов взаимодействия (главный герой, враги, платформы, ящики и т.д.). Он может содержать много разных анимаций (герой стоит, герой бежит, герой стреляет), иметь встроенные стандартные механики движения и управления.

Counter object – создает всевозможные счётчики жизней, денег, очков и т. д. Может быть представлен как в виде цифр, так и в виде шкалы.

INI object – сохраняет данные после выхода игрока из игры. Можно использовать для сохранения месторасположения любых объектов в кадре.

Physic engine object – появление этого объекта в кадре создаёт гравитацию, параметры которой можно регулировать.

Joystick control object– для touch-устройств создаёт эмулятор джойстика.

IOS store object – даёт возможность сделать внутриигровые покупки для AppStore.

Admob object – позволяет поместить баннерную рекламу в игру.

Touch object – учитывает все касания к экрану touch-устройства. Например, можно создать такое событие:

если игрок одновременно коснулся экрана тремя пальцами, то игра останавливается на паузу.

Если что-то не получается

У CF 2.5 есть отличная техподдержка, которая в течение 24 часов всегда отвечала мне. Ещё у них неплохой форум, на котором выложено много готовых кусков игр и рассказывается, как работать с новыми объектами. Не знаю, как дела с технической поддержкой у других конструкторов, но думаю, не хуже. Game Maker более популярен, чем CF 2.5 и, как мне кажется, тоже должен  иметь хорошую поддержку. Один мой знакомый работает на Construct 2, он никогда не слышал, чтобы возникали трудности. А на youtube.com выложено много роликов, где разжёвывают создания популярных механик для большинства конструкторов. 

Список популярных игр созданных на конструкторах
  • Five nights at fraddy's
  • Hotline miami
  • Uncanny valley
  • Hiper light drifter
  • Gods will be watching
  • Echo of the wilds
  • Arcane Soul
  • Savant – Ascent
  • Brazin' Aces
  • Super Ubie Land
  • Airscape: The Fall of Gravity
  • Our Darker Purpose
  • Mortar Melon
  • Who Is The Killer (Episode I)
  • Magnrtized
  • The Next Penelope
  • Concert jungle
  • Fort meow
  • Pitiri 1977
Итог

Конструкторы открывают огромный потенциал для создания игр. Особенно для мобильных устройств, на которых есть большой спрос на маленькие игры. Я уверен, что в ближайшем будущем такие компании, как Unity, приведут свой движок к ещё более простому виду. И люди, которые хотят делать игры, больше не будут беспокоиться о коде.  Метки:

habr.com

Поделиться:
Нет комментариев

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

Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.

×
Рекомендуем посмотреть
Adblock
detector