Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для мобильных телефонов > Android

Android Разработка игр на платформе Android

Ответ
 
Опции темы
Старый 21.02.2013, 22:01   #1
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,569
Написано 407 полезных сообщений
(для 863 пользователей)
Движки. Графические движки. AndEngine

Купил себе на днях вдройдную машинку - explay informer 921. Забавная штука, понравилось всё (ибо ранее не имел подобной техники). Наигравшись во всякую муть, и вдоволь поюзав его, решил написать на него какую-нито примитивную игрулю. Почитал прикрепленные тут темы (большое спасибо odd за его туторы ), потратил пару минут на изучение Жабы, намутил некий прототип игрули, чисто потестить мультитач, и для общего развития. Но мне не вставило то, что стандартное рисование на канве - потенциально медленное, и нифига не перспективное, плюсом к тому был беглый список всех граф.функций графики, их мне показалось недостаточно.

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

В итоге:
Логика работает исправно, а вот рендер зависит от фазы луны. Т.е. первый кадр рендерит, последующие - нет, такое впечатление, будто надо либо специфически настраивать EngineOptions для постоянного рендера, либо насильно заставлять двигло работать. Так и не разобрался с этим вопросом.

К тому же, меня добила идея засовывать графику в объекты, ибо для рендера элементарного эллипса\квадрата\линии - нужно создавать отдельный объект, аттачить к сцене... Геморой, это оправдано в 3Д, но в 2Д я не вижу необходимости в этом.

На основании всего этого, хочу спросить у людей с опытом:
1) Есть ли какие-либо движки с примитивным принципом вывода графики?
2) Как заставить AndEngine мутить рендер постоянно?

Заранее спасибо)
__________________
(Offline)
 
Ответить с цитированием
Старый 21.02.2013, 22:39   #2
jimon
 
Сообщений: n/a
Ответ: Движки. Графические движки. AndEngine

попробуй напрямую opengl по-юзать

эллипса
GPU не умеет рисовать эллипс, потому тебе понадобится его рисовать в текстуре, а текстуру выводить прямоугольником
 
Ответить с цитированием
Старый 21.02.2013, 22:43   #3
Mr_F_
Легенда
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,873
Написано 2,127 полезных сообщений
(для 5,708 пользователей)
Ответ: Движки. Графические движки. AndEngine

потому тебе понадобится его рисовать в текстуре, а текстуру выводить прямоугольником
оч сомневаюсь что достаточно чёткую текстуру эллипса, да ещё и с прозрачностью вокруг читать/рисовать будет быстрее чем тупо швырнуть на рендер полигональное подобие эллипса.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Mr_F_ за это полезное сообщение:
den (22.02.2013), Randomize (22.02.2013)
Старый 22.02.2013, 09:19   #4
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,569
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Движки. Графические движки. AndEngine

Сообщение от jimon Посмотреть сообщение
попробуй напрямую opengl по-юзать
Пробовал, но сейчас там OpenGL ES, и много гемора с вершинными буферами. Если только свой примитивный недодвиг-враппер мутить. Хотелось просто взять уже готовое решение.

Есть Monkey, он вроде как умеет на ведройды компилять, и двигло там норм, хоть и язык басик. Но я не нашел, можно ли бесплатно заставить его это делать. В конце-концов, не охота вкладывать деньги в кота в мешке.
__________________
(Offline)
 
Ответить с цитированием
Старый 22.02.2013, 13:03   #5
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,156
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Движки. Графические движки. AndEngine

Unity3d, или тебя только 2D устраивает?
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 22.02.2013, 13:17   #6
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,569
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Движки. Графические движки. AndEngine

Сообщение от Костян Посмотреть сообщение
Unity3d, или тебя только 2D устраивает?
Ни в коем случае не юнити, + нужно именно 2Д
__________________
(Offline)
 
Ответить с цитированием
Старый 22.02.2013, 15:37   #7
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,156
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Движки. Графические движки. AndEngine

Сообщение от Reizel Посмотреть сообщение
Ни в коем случае не юнити, + нужно именно 2Д
по сути, 2d умер уже, в любом случае это будет 3d. Пиши на голом GL как советовали
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 22.02.2013, 15:40   #8
jimon
 
Сообщений: n/a
Ответ: Движки. Графические движки. AndEngine

Reizel
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 100 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Reizel (22.02.2013)
Старый 22.02.2013, 16:05   #9
ARA
ТЫ ЧООО?
 
Аватар для ARA
 
Регистрация: 26.02.2007
Сообщений: 3,293
Написано 1,969 полезных сообщений
(для 7,062 пользователей)
Ответ: Движки. Графические движки. AndEngine

Ни в коем случае не юнити, + нужно именно 2Д
Ты гонишь. Rovio соих свинок на Unity сделали. Чем тебе не 2д?
http://www.badpiggies.com/
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо ARA за это полезное сообщение:
FREE MAN (22.02.2013), Gector (22.02.2013), pax (06.03.2013), St_AnGer (22.02.2013)
Старый 22.02.2013, 20:46   #10
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,569
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Движки. Графические движки. AndEngine

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

Все таки пока склоняюсь именно к манки, идеология у нее мне доставляет)
jimon,
мэйби подскажешь как содеять такое?
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Данил (12.03.2013)
Старый 18.03.2013, 17:10   #11
Данил
Модератор
 
Аватар для Данил
 
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений
(для 1,693 пользователей)
Ответ: Движки. Графические движки. AndEngine

гы, сколько там лицензия разработчика на гугле + лицензия монки стоит?...
а то скоро релиз, хочу кинуть на гугл плей, дак лицензиями надо обзавестись...
(Offline)
 
Ответить с цитированием
Старый 18.03.2013, 18:00   #12
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Ответ: Движки. Графические движки. AndEngine

25 баксов вроде стоит + манки баксов 100.
(Offline)
 
Ответить с цитированием
Старый 18.03.2013, 18:08   #13
devolonter
Разработчик
 
Аватар для devolonter
 
Регистрация: 17.01.2007
Сообщений: 409
Написано 114 полезных сообщений
(для 281 пользователей)
Ответ: Движки. Графические движки. AndEngine

Если быть точнее ровно $25 аккаунт разработчика на Google Play и $99 Monkey. Оба платежа единоразовые.
(Offline)
 
Ответить с цитированием
Старый 16.04.2013, 06:28   #14
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,073
Написано 247 полезных сообщений
(для 514 пользователей)
Ответ: Движки. Графические движки. AndEngine

Скоро будет m4engine. Все операции сводятся к такому стилю написания
m4::load_texture
m4::draw_texture_opt
m4::draw_texture_prop

m4::begin_batch_opt
m4::add_to_batch_opt
m4::end_batch

Язык c++
скорость на высоте, возможность работать с матрицами, компиляция по windows, linux, android. Свое приложение для сборки приложения. Программирование в Qt creator. Интеграция Box 2D.
Скорее это api чем engine. Оно и логично, для каждого приложения свой скелет.
Из фич:
текстуры, рендер в текстуру, любой растровый формат текстур, хоть psd.
виртуальное рабочее пространство, при любом разрешении приложение выглядит одинаково
2 вида рисования, легкое и про, легкое - быстрое, про - использует матрицы
наложение цвета, алфы
работа с атласами
звуки
работа с 3д и шейдерами, эта часть движка выполнена очень гибко и прозрачно, можно творить все что угодно, в рамках opengl es 2, очень сложна эта часть для новичков, т.к. здесь нужно знать тонкости работы 3д. Но я тружусь над созданием helper библиотеки для этого

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

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

вот список команд на данный момент:
extern "C" void M4EXPORT log(const char *fmt, ...);
extern "C" void M4EXPORT load_pak(const m4::String &fileName);
extern "C" void M4EXPORT init(const m4::uint16 width, const m4::uint16 heightm4::function initFuncm4::function loopFunc);
extern "C" m4::Texture M4EXPORT *load_texture(const m4::String &fileName);
extern "C" m4::Texture M4EXPORT *create_texture();
extern "C" void M4EXPORT remove_texture(m4::Texture *texture);
extern "C" bool M4EXPORT is_file_exists(const m4::String &fileName);
extern "C" m4::File M4EXPORT *load_file(const m4::String &fileName);
extern "C" void M4EXPORT remove_file(m4::Filefile);
extern "C" void M4EXPORT draw_texture_opt(m4::Texturetexture, const m4::DrawOptions *options);
extern "C" void M4EXPORT draw_texture_prop(m4::Texturetexture, const m4::DrawProperties *prop);
extern "C" float M4EXPORT get_time();
extern "C" float M4EXPORT get_delta_time();
extern "C" bool M4EXPORT is_key_down(const m4::uint8 key);
extern "C" bool M4EXPORT is_key_hit(const m4::uint8 key, const bool reset false);
extern "C" bool M4EXPORT is_key_up(const m4::uint8 key, const bool reset false);
extern "C" bool M4EXPORT is_mouse_down(const m4::uint8 id);
extern "C" bool M4EXPORT is_mouse_hit(const m4::uint8 id, const bool reset false);
extern "C" bool M4EXPORT is_mouse_up(const m4::uint8 id, const bool reset false);
extern "C" int16 get_mouse_x(const m4::uint8 id);
extern "C" int16 get_mouse_y(const m4::uint8 id);
extern "C" m4::SoundM4EXPORT load_sound(const m4::String &fileName);
extern "C" void M4EXPORT remove_sound(Sound *sound);
extern "C" void M4EXPORT play_music(const m4::String &fileName);
extern "C" void M4EXPORT stop_sound();
extern "C" void M4EXPORT set_z_buffer(const bool value);
extern "C" void M4EXPORT set_alpha_thresold(const float thresold);
extern "C" void M4EXPORT set_virtual_screen(const m4::uint16 width, const m4::uint16 height);
extern "C" void M4EXPORT open_url(const m4::String &url);
extern "C" int M4EXPORT set_parameter(const m4::String &parameter, const m4::String &value);
extern "C" m4::String M4EXPORT get_locale();
extern "C" m4::String M4EXPORT get_application_data_path();
extern "C" bool M4EXPORT is_batch_begin_prop(m4::uint32 index 0);
extern "C" bool M4EXPORT is_batch_begin_opt(m4::uint32 index 0);
extern "C" void M4EXPORT begin_batch_prop(m4::uint32 index 0);
extern "C" void M4EXPORT begin_batch_opt(m4::uint32 index 0);
extern "C" void M4EXPORT add_to_batch_opt(const m4::DrawOptions *optionsm4::uint32 index 0);
extern "C" void M4EXPORT add_to_batch_prop(const m4::DrawProperties *propm4::uint32 index 0);
extern "C" void M4EXPORT end_batch_prop(m4::Texturetexturem4::uint32 index 0);
extern "C" void M4EXPORT end_batch_opt(m4::Texturetexturem4::uint32 index 0);
extern "C" m4::uint32 M4EXPORT get_draw_calls();
extern "C" m4::uint32 M4EXPORT get_draw_objects();
extern "C" m4::uint16 M4EXPORT get_window_width();
extern "C" m4::uint16 M4EXPORT get_window_height();
extern "C" m4::uint16 M4EXPORT get_virtual_screen_width();
extern "C" m4::uint16 M4EXPORT get_virtual_screen_height();
extern "C" m4::ShaderM4EXPORT create_shader(const m4::String &vertexSource, const m4::String &fragmentSource);
extern "C" void M4EXPORT RemoveShader(m4::Shadershader);
extern "C" m4::GeometryM4EXPORT create_geometry(m4::bytevertData, const m4::uint32 verticesm4::uint16indexData, const m4::uint32 indicesm4::uint16 vertexSize);
extern "C" void M4EXPORT remove_geometry(m4::Geometrygeometry);
extern "C" void M4EXPORT draw_geometry(m4::Geometrygeometrym4::Shadershaderm4::VertexAttributeList *attributesm4::uint32 offset 0m4::uint32 count 0); 
Пример и скрин во вложении
Файл zip, переименовать в apk!!!!
Миниатюры
Нажмите на изображение для увеличения
Название: Screenshot_2013-04-16-16-26-12.png
Просмотров: 208
Размер:	65.0 Кб
ID:	19059  
Вложения
Тип файла: zip BounceBall-debug.zip (1.87 Мб, 83 просмотров)

Последний раз редактировалось pozitiffcat, 16.04.2013 в 13:32. Причина: пример
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Reizel (17.04.2013)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 00:24.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com