Як почати робити ігри для Android? [зачинено]


112

Я новачок у розробці ігор. Мені цікаво розробити 2D ігри для платформи Android. З чого найкраще почати (тобто) Які основи і як діяти далі? Я вже маю досвід програмування в Java, але не маю досвіду роботи з графікою чи анімацією.


Будь ласка, зробіть своє запитання (назву) трохи більш описовим.
Ricket

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).

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


Саме те, що я шукав. Thanx @Firas Assaad
Рагунат Джавахар

Ще один хороший ресурс - книга Привіт, Android, яка досліджує створення гри в Судоку протягом декількох розділів, включаючи малювання за допомогою полотна та обробку даних користувачів. Також є розділ про 3D-графіку, який будує текстурований обертовий куб.
Фірас Ассаад

Я щойно перейшов з BlackBerry на Android ігри для Android, і я хочу закинути капелюх разом із Firas: клас Canvas пропонує більш ніж достатню продуктивність для 2D гри. Не потрібно додавати додаткову складність OpenGL під час запуску.
ADB

Я згоден з цією відповіддю, але Android - це не гірше місце для початку! Мій перший проект програмування був глядачем коміксів. Тоді я зробив гру-головоломку, і тепер я роблю 2D гру з графікою OpenGL ES 2.0. Я навчився однієї кривої кривої, але за останні 9 місяців Android допоміг мені отримати хорошу основу в Java, SQLite та OpenGL, а також чудово почав розробку концепцій OOP та ігор. Я міг би зробити гірше, ніж навчитися програмувати за допомогою Android.
Amplify91

66

Ця публікація щодо використання AndEngine для створення клону Flappy Bird теж приголомшлива!
appsroxcom

1
Перші два посилання розірвані, вони вже доступні
Фахім

Трагічний. Вони також були сповнені такого якісного змісту.
Ricket

18

Якщо ви вже знайомі з Android і працюєте з ним основними програмами інтерфейсу користувача, то вам захочеться ознайомитись із цим підручником із багатьох частин, що пояснює малювання графіки на екрані Android.


5
Здається, посилання порушено - можливо, сайт вже не існує
Nasir

4

Все це справді гарна відповідь. Але я трохи здивований, що ще ніхто не згадав про jMonkeyEngine .

Її Java, її шейдер, супер легко почати, дуже хороша документація, приголомшливе співтовариство, швидке виправлення помилок, поставляється з навколишнім середовищем для розробки ігор (jMP на базі платформи NetBeans) та її розвивається дуже швидко.

Я б наголосив на цьому більше, тому що розробка ігор та створення бібліотеки, яку хтось використовуватиме для гри, зовсім інша. Отже, якщо ви хочете зробити гру не ігровим двигуном, просто стрибайте прямо в jMonkey Engine із закритими очима. :)


Я швидко здійснив пошук у Google про jMonkeyEngine та Android. Я припускав, що Android використовує власний інтерпретатор Java, що jMonkeyEngine не працює на цьому. Це все ще Java, тому, можливо, вони зробили б порт. У будь-якому випадку хвилина дослідження означає, що це незавершена робота.
xuincherguixe

jME працює на android, в магазині є кілька проектів. Пропоную вам, розмістивши на їхньому форумі технічні характеристики.
Куазі Ірфан

3

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


Ви також можете опублікувати на ринку Android від останньої версії, хоча я не пробував.
gary

Я чув, що Processing має проблеми з продуктивністю Android, це правда?
Рагунат Джавахар

Я не пробував достатньо різних речей, щоб дати добре підкріплену правдиву / хибну відповідь. Мої програми, схоже, добре поводяться на Android. Я б сказав, пошук у Інтернеті, пошук на форумі для андроїдів обробки тощо ... Або просто спробуйте. ;)
gary

Гаразд, я перевірю це @gary comtois
Рагунат Джаваар

2

Я також новачок в розробці ігор для Android, і я вважаю, що ігровий движок з відкритим кодом AndEngine є досить хорошим інструментом для початку. Тут є маса прикладів та досить активна спільнота.

http://www.andengine.org/


0

Я настійно рекомендую Airplay SDK, оскільки він працює на вікнах і використовує більшість смартфонів. Вони також мають чудову ліцензію Інді.


Я розробник Java, здається, що Airplay SDK - це C ++ / XCode SDK?
Рагунат Джавахар

Airplay SDK зараз Marmelade SDK. У ньому є окремі SDK для C ++, Lua, HTML5 та Objective C
noob
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.