Как начать создавать игры для Android? [закрыто]

112

Я новичок в разработке игр. Я заинтересован в разработке 2D-игр для платформы Android. С чего лучше начать (то есть) Каковы основы и как действовать? У меня уже есть опыт программирования на Java, но у меня нет опыта работы с графикой или анимацией.

Рагунатх Джавахар
источник
Пожалуйста, сделайте ваш вопрос (название) немного более информативным.
Рикет
1
У вас есть опыт работы с Android?
Джесси Дорси
3
@Ricket или мы могли бы сделать это для него :)
Эндрю Рассел
Мне любопытно, будет ли OpenGL быстрее работать от батареи, чем обычный 2D, используя вид поверхности или каким-либо другим способом. Кто-нибудь знает ответ?
Кельмер
Вам придется выбрать один игровой движок и одну игровую идею, чтобы испачкать руки. AndEngine отлично подходит для 2D-игр, а Flappy Bird - новый «Hello World» в разработке игр. Ознакомьтесь с этим руководством по Flappy Bird в Android с помощью AndEngine . Ура!
appsroxcom

Ответы:

82

Android может быть не лучшим выбором для начала разработки игр, потому что вы будете изучать несколько разных вещей одновременно (Android SDK, создание игр, оптимизация, разные модели телефонов и т. Д.). Подумайте о создании простых Java-игр на вашем компьютере, чтобы познакомиться с созданием игр в целом; этот урок выглядит как хорошее место для начала.

Когда вы освоитесь как с Java, так и с разработкой игр, начните с руководств по Android . Руководство по разработке очень полезно, в частности, вам необходимо знать основы Android и жизненный цикл активности, а также графику . Получите образцы Android и посмотрите образцы игр Lunar Lander и Snake (есть также JetBoy , но он сфокусирован на JetPlayer).

Класс Canvas на самом деле достаточно хорош для большинства 2D-игр, но если вам нужна более высокая производительность или вы хотите перейти к 3D-графике позже, вам придется изучить OpenGL ES . Однако, это выходит за рамки начала работы (если вы уже не знаете OpenGL).

Firas Assaad
источник
Именно то, что я искал. Спасибо @Firas Assaad
Рагунат Джавахар
Другим хорошим ресурсом является книга Hello, Android, в которой рассматривается создание игры Судоку в нескольких главах, включая рисование с использованием холста и обработку пользовательского ввода. Есть также глава о трехмерной графике, которая создает текстурированный вращающийся куб.
Firas Assaad
Я только что перешел с BlackBerry на разработчика игр для Android и хочу добавить свою шляпу Firas: класс Canvas предлагает более чем достаточную производительность для 2D-игры. Нет необходимости добавлять дополнительную сложность OpenGL при запуске.
АБР
Я согласен с этим ответом, но Android - не худшее место для начала! Самым первым моим программным проектом был просмотрщик комиксов. Затем я создал игру-головоломку, а теперь я делаю 2D-игру с графикой OpenGL ES 2.0. Я учился на одном повороте, но за последние 9 месяцев Android помог мне получить хорошую основу в Java, SQLite и OpenGL, а также отлично начал с ООП и концепций разработки игр. Я мог бы сделать хуже, чем научиться программировать на Android.
Amplify91
66

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

Ricket
источник
Этот пост об использовании AndEngine для создания клона Flappy Bird тоже потрясающий!
appsroxcom
1
Первые две ссылки не работают, они больше не доступны
Fahim
Трагическая. Они были полны такого качественного контента тоже.
Рикет
18

Если вы уже знакомы с Android и работаете с базовыми приложениями пользовательского интерфейса, то вам стоит взглянуть на этот учебник , состоящий из нескольких частей, в котором объясняется, как рисовать графику на экране Android.

Брайан Денни
источник
5
ссылка, кажется, не работает - возможно, сайт больше не существует
Nasir
4

Все это действительно хороший ответ. Но я немного удивлен, что никто еще не упомянул jMonkeyEngine .

Его java, основанный на шейдерах, его очень легко начать, очень хорошая документация, потрясающее сообщество, быстрые исправления ошибок, поставляется с средой разработки игр (jMP на платформе NetBeans) и развивается очень очень быстро.

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

Квази Ирфан
источник
Я сделал быстрый поиск в Google о jMonkeyEngine и Android. Я предположил, что, поскольку Android использует собственный интерпретатор Java, jMonkeyEngine не будет работать на нем. Это все же Java, поэтому, возможно, они сделали бы порт. В любом случае, минута исследования подразумевает, что это работа в процессе.
xuincherguixe
jME работает на андроиде, в магазине есть несколько проектов. Предлагаю вам, разместив в своем форуме технические спецификации.
Quazi Irfan
3

Processing.org - еще одно хорошее место для начала (несколько упрощенного) кодирования / разработки, прежде чем погрузиться в Android SDK. Он работает на Max / Windows / Linux и имеет версию, разработанную специально для развертывания Android. Я очень рекомендую это - если у вас есть телефон Android, вы можете развертывать игры / приложения на своем телефоне, которые вы делаете с этой версией Обработки. Надеюсь, это поможет.

Гэри
источник
Вы также можете опубликовать на рынке Android с последней версии, хотя я не пробовал.
Гэри
Я слышал, что обработка имеет проблемы с производительностью Android, это правда?
Рагунат Джавахар
Я не пробовал достаточно разных вещей, чтобы дать верный / ложный ответ. Мои программы на Android работают нормально. Я бы сказал, поиск в Интернете, форум по поисковой обработке Android и т. Д ... Или просто попробуйте. ;)
Гэри
Хорошо, я проверю это @gary comtois
Рагунат Джавахар
2

Я также новичок в разработке игр для Android и считаю движок с открытым исходным кодом AndEngine довольно хорошим инструментом для начала. У него есть куча примеров и довольно активное сообщество.

http://www.andengine.org/

Casla
источник
0

Я настоятельно рекомендую Airplay SDK, так как он работает на Windows и развертывается на большинстве смартфонов. У них также есть отличная инди-лицензия.

Kimau
источник
Я разработчик Java, кажется, Airplay SDK - это C ++ / XCode SDK?
Рагунат Джавахар
Airplay SDK теперь является мармеладным SDK. Он имеет отдельные SDK для C ++, Lua, HTML5 и Objective C
noob