Как создать простую 2D-игру для Android?
Я полный новичок, когда дело доходит до разработки игр, и мне нужно, чтобы кто-то указал мне в правильном направлении.
Для ясности рассмотрим следующую анимацию.
![simple zombie game animation]()
В принципе, мне нужно знать, как эмулировать вышеупомянутую анимацию в качестве игры для Android, но я не знаю шагов, необходимых для этого. Мои вопросы можно резюмировать следующим образом:
- Нужно ли использовать Game Engine для таких простых игр?
- Или это можно сделать без использования каких-либо конкретных фреймворков?
- Нужно ли использовать приложение анимации, такое как Adobe Flash?
- Каковы необходимые шаги для создания такой игры?
Ответы
Ответ 1
Использование движка игры или нет - предпочтение. Это будет зависеть от того, что именно вы после. Если вы хотите узнать о базовых концепциях рендеринга, обнаружении конфликтов и т.д., То писать их самостоятельно вполне приемлемо и очень весело. С другой стороны, если вы просто хотите, чтобы игра была выполнена без необходимости беспокоиться о деталях, то движок, безусловно, подходит.
Игровые двигатели варьируются от очень простых оберток (которые обычно предоставляют более простые функции, которые занимаются задачами низкого уровня), до очень сложных абстракций, в которых фактическая разработка игры больше не похожа на какую-либо конкретную платформу - они также иногда позволяют создавать игру один раз и развернуть его на различные платформы без каких-либо изменений.
Чтобы реализовать игру на основе этой анимации, вы можете использовать следующее:
- Для каждого персонажа, не являющегося игроком, создайте серию последовательных "кадров", которые при циклическом режиме создают иллюзию движения. Они могут быть созданы в любом графическом приложении (желательно в текстурной карте/атласе).
- Для персонажа игрока вам понадобится анимированная последовательность для каждого "перемещения", например
kick
, punch
и т.д. Затем выполните правильную последовательность, когда игрок вызывает какое-либо действие (например, воспроизведение kick
, когда игрок нажимает кнопку kick).
- Каждый символ должен иметь ограничивающий прямоугольник (т.е. прямоугольник, определяющий размер и положение символа). Персонаж игрока должен иметь коробку другого размера, основанную на типе атаки (т.е. Поле для действия
kick
будет расширяться дальше справа, чем поле для действия punch
.
- Случайно введите символы справа от экрана и перемещайте их с определенной скоростью (в зависимости от типа?) к игроку. Во время каждой итерации проверяйте столкновение между игроком и каждым не-игровым ограничивающим ящиком. Если обнаружено столкновение, проверьте, не ударил ли игрок или ударил его, и убил персонажа, который был поражен, если игрок не атакует, возможно, повредит его/ее.
Это очень общее описание вашей проблемы и должно дать вам достаточно идей для исследования, чтобы реализовать базовую версию:)
Некоторые игровые движки, которые вы, возможно, захотите изучить:
Если вам интересно узнать о создании игр для Android специально, посмотрите на эту книгу:
Ответ 2
Есть много игровых движков, которые могут помочь вам выполнить задание.
Вот ссылка для всех движков мобильных игр.
Android-игровые движки Android
Язык: С++
Ориентация: 2D
Сложность: Промежуточная
Язык: Lua
Ориентация: 2D/3D
Сложность: Промежуточная
Язык: С++
Ориентация: 2D
Сложность: Промежуточная
Язык: нет (графический)
Ориентация: 2D
Сложность: Легкая
Язык: нет (графический)
Ориентация: 2D
Сложность: Легкая
Язык: Haxe
Ориентация: 2D
Сложность: Промежуточная
Язык: Java
Ориентация: 2D/3D
Сложность: Промежуточная
Язык: С++
Ориентация: 2D/3D
Сложность: Промежуточная
Язык: ActionScript (необязательно), Objective-C (необязательно)
Ориентация: 2D
Сложность: Промежуточная
Язык: JavaScript (на самом деле UnityScript), С# (Mono)
Ориентация: 2D/3D
Сложность: Промежуточная
Ответ 3
Я отвечаю в заказе, который вы задали
-
Рекомендуется всегда использовать движок, потому что они облегчают работу, для чего они предназначены.
-
Вы можете выполнять определенные анимации и движения без рамки, но на самом деле он становится более сложным с кодом и логикой.
-
Adobe Flash бесполезна на Android. Большинство устройств Android не запускают Flash, если пользователь не делает что-то для его получения.
-
Я рекомендую следующие шаги:
- исследование некоторых двигателей
- просмотрите некоторые структуры
- выберите и двигатель в зависимости от логики вашей игры.
-
Некоторые двигатели доступны для приключенческих игр, головоломок и других RPG. В зависимости от вашей потребности ищите один.
Несколько простых программ:
- App Game Kit
- Cocos2d для Android
- Corona SDK
- GameMaker
- Stencyl
Вы можете начать с них.
Единство - лучший двигатель, но и самый сложный.
Ответ 4
Я задал себе этот вопрос около 10 лет, прежде чем найти хороший ответ, на мой взгляд, все игровые фреймворки для android все еще не совсем зрелые или их немного сложно реализовать. Я бы порекомендовал вам использовать this. Вы сможете запускать свою игру на всех устройствах (не только для Android). Это очень легко узнать, если вы знаете основы.
Здесь отличный Tutorial, чтобы вы начали!
Я сделал игру, используя технологию adobe, вы можете проверить ее здесь.