Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Герои Войны - микс стратегии и РПГ. Собери лучшую армию и победи всех врагов. В игре 7 различных режимов - как для любителей PvE, так и PvP.

Герои Войны

Стратегии, Мидкорные, Экшены

Играть

Топ прошлой недели

  • SpongeGod SpongeGod 1 пост
  • Uncleyogurt007 Uncleyogurt007 9 постов
  • ZaTaS ZaTaS 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
37
FominAM
6 лет назад
Лига Разработчиков Видеоигр

Тестирование небольшого движка для мобильных 2D онлайн игр.⁠⁠

Здравствуйте, захотелось как-то мне разработать небольшую онлайн игру для мобилок. По работе в основном пишу драйвера и прошивки для устройств. Но было время – разрабатывал небольшие Flash игры, браузерки, потом игры для соц.сетей, и пару лет работал программистом в крупной игровой компании. Понял, что в качестве профессиональной деятельности за зарплату мне этим заниматься не интересно. Поэтому теперь разрабатываю игры в качестве одного из хобби.

Так вот, хочу сделать небольшой онлайн батлер для мобилок и столкнулся с проблемой выбора движка под это дело

Тестирование небольшого движка для мобильных 2D онлайн игр. Игровой движок, 2D, Android, iOS, Benchmark, Бенчмарк, Длиннопост

Хотелось сильно не заморачиваться и сразу приступать к разработке. Движков нынче пруд пруди. Чего мне от движка хотелось:

• Более менее знакомый язык программирования;

• Бесплатный и доступный в освоении;

• Поддержка сетевого взаимодействия по UDP, TCP протоколам;

• Поддержка самого движка (ибо SDK платформ и версии OS постоянно обновляются);

• Высокая производительность (большое количество анимаций без тормозов).


Знакомство с движками


Adobe AIR – не игровой движок, но первый кандидат, так как я раньше разрабатывал игры под Flash, и все тут очень знакомо, много полезных наработок. Для небольших приложений очень удобная штука, но даже с использованием Stage3D не очень шустрый. Однако основная причина отказа от Adobe AIR в том, что функционала для мобилок мало, даже вибрацию надо отдельным расширением вставлять, а рекламные сети, in-app и прочие возможности крайне трудно найти, да и те не актуальные из-за непопулярности технологии.


Haxe – тоже не движок, но технология очень интересная. Многие с Flash переходили на OpenFL и прочие производные в свое время, и нахваливали. Решил попробовать на lime и потом на OpenFL по примерам собрать тестовые сборки. На lime все очень быстро, но очень низкоуровнево и много проблем с реализацией дополнительных возможностей Android и IOS, легче на родных средах разработки писать. OpenFL удобен и похож на Flash, но примерно так же медлителен и мало платформозависимого функционала.


Unity – решил посмотреть в сторону одного из самых популярных движков для игр. Для тех, кому Unity – первая среда разработки, наверное, все просто и понятно, но для меня интерфейс – просто ужасен, китайский изучить проще, все кажется абсолютно нелогичным. Прошел туториал по созданию 2D платформера и понял, что уж слишком ко многому надо привыкать, заствака Unity в игре раздражает, плагины и общее взаимодействие со средой раздражает. Решил, что не готов мириться с этим и перешел к другому варианту.


Cocos2d-x – очень косит под стиль Unity, но сильно проще по функционалу. Сделал по урокам игрушку тестовую. Начал проверять на производительность движка, так он и с батчингом еле тянет несколько анимаций. Очень уж тормозной движок.

Разработка новой модели велосипеда


Можно было еще попробовать кучу разных, но даже опыт установки и удаления этих движков и студий неприятный. Вспомнил, что писал как-то давно движок на OpenGL под винду, а потом и на Stage3D. Решил, раз уж все равно для развлечения, то сама задача разработки своего простенького движка достаточно интересна. Пугало только, что для каждой ОС на столько разные среды разработки и предпочтительные языки программирования.


Сначала определим, что мне лично нужно от простейшего 2D движка:

• Отображение статичных/анимированных спрайтов с возможностью изменения: position, rotation, scale, skew, alpha, brightness, colorTransform, visible, управление отдельными анимациями, камера, иерархия объектов;

• Работа со SpriteSheet-ами;

• Обработчики клавиатуры и мыши/тачпада;

• Воспроизведение звуков;

• Файлы сохранений;

• Шрифты и элементы GUI.


Желательно, чтобы движок был и на одном языке программирования, переводить код игры под каждую платформу не очень радует. Мне желательно C/C++. Приступим изучать, что там как.


Android (Android Studio)

Очень много всего удобного для работы с Android, примеры, оформлялки иконок, скриншотов под все версии, удобный дебагер. Минус – практически не предназначен для работы с C/C++, синтаксис едва разбирает, подсказки по коду ждать бесполезно, очень все долго. Сам принцип взаимодействия Java и C/C++ не удобен, но худо бедно работает. Еще кстати размер APK сильно растет, потому что для каждой архитектуры процессора отдельная компиляция.

Тестирование небольшого движка для мобильных 2D онлайн игр. Игровой движок, 2D, Android, iOS, Benchmark, Бенчмарк, Длиннопост

Расстроило то, что очень много ручного труда с кодом. Даже переименовать проект очень сложно. На некоторых телефонах код на NDK очень долго не стартует, то ли проверки какие-то идут, то ли еще что, просто даже не начинается инициализация. Очень много проблем с обработкой на стороне C/C++ событий паузы, остановки и восстановления приложения. Java рушит все дескрипторы, выданные C/C++ и потоки сишные после OnResume могу стартануть, а могут и помереть. В общем приходиться для надежности заново инициализировать движок и запускать потоки. Запросы из Java в NDK передаются местами в разных потоках, нужно следить за синхронизацией.


Технически использовал OpenGL ES 2.0, со звуками OpenAL, файлы пришлось просить грузить Java, все остальное в принципе, как для Linux, код сразу подошел. По сути переводил свой движок старый, написанный под Windows, писал так, чтобы без изменений компилировалось и под винду (море директив препроцессора). Работает очень быстро, но запускаться приложение может очень долго, притом не начиная никаких инициализаций и загрузок движка.

Вывод: Android не очень жалует C/C++, NDK чисто для вычислений сложных.


IOS (Xcode)

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


Решил сделать себе подарок на день рождения и приобрести Mac Mini на выигрышные деньги с конкурсов по программированию. С эти уже можно работать. Лицензию разработчика пока так и не взял, проверяю на эмуляторе только, надо бы прикупить б/у смартфон.


Никогда до этого не сталкивался ни с маками, ни с их средой разработки. Думал будет еще хуже, чем с Android. Но оказалось, что среда достаточно дружелюбная, а код на C/C++ встраивается очень удобно и быстро в Objective-C. Неожиданно, но пару дней разбирательств с IOS + Xcode и движок завелся с небольшими изменениями. Половина кода помечена как deprecated, надеюсь еще протянет OpenGL ES на IOS, а то пока сделаю игру, перестанут поддерживать, уж очень хочется каждой корпорации подсаживать на свои технологии разработчиков. Жаль, я не тестировал на реальных устройствах, но займусь как-нибудь.


Для Mac OS и Linux тоже набросал сборки, но подумал, что пока они не очень перспективны для игр. В общем, не так страшен черт, как его малюют. Если тестировать, конечно, еще море исправлений потребуется, да и движок достаточно топорный, но на любительском уровне задача решена.


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


Сервер

Совсем забыл про сервер для онлайн игр. А я его почти без изменений взял из своих старых проектов: C++, MySQL на Debian Linux. Самый обыкновенный многопоточный сервер с возможностью фоново скидывать данные в базу, логами и прочими мелочами.


Bunny Benchmark

Для тестирования движка и сбора некоторой статистики по устройствам разработал на движке небольшой benchmark, для проверки на сколько ваше устройство пригодно для игр. Бенчмарк грузит в различных режимах работы GPU и CPU, стабилизируя рендер на 30 fps, старым добрым тестом со скачущими кроликами. Также проверяется сетевое взаимодействие (автоматическая регистрация, аутентификация и обмен данными с сервером). Только учтите, у меня сервер – это VPS за 140 рублей в месяц, в описании которого написано: «Для статичных HTML сайтов». А я на нем еще кучу проектов тестирую.

Тестирование небольшого движка для мобильных 2D онлайн игр. Игровой движок, 2D, Android, iOS, Benchmark, Бенчмарк, Длиннопост
Тестирование небольшого движка для мобильных 2D онлайн игр. Игровой движок, 2D, Android, iOS, Benchmark, Бенчмарк, Длиннопост

Пока только на Android, если кому интересно, могу выложить для сборку под Windows, но ваши результаты будут игнорироваться в рейтинге, ибо рейтинг для мобилок. Собираю статистику работы движка и возникшие проблемы на различных устройствах. Из того, что уже заметил: при большом разрешении устройства летит верстка спрайтов.

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

Удачных выходных.

Показать полностью 4
[моё] Игровой движок 2D Android iOS Benchmark Бенчмарк Длиннопост
38
YashikPivka
YashikPivka
6 лет назад

Бенчмарки RTX 2080 и RTX 2080 Ti подъехали⁠⁠

Нашел пока только на английском, но все понятно и без слов. В 2 словах - владельцам 4к готовить деньгу, остальным - по ситуации

Бенчмарк Rtx 2080 Rtx 2080Ti Видеокарта Видео
22
madison333
7 лет назад

Раз уж так много шуток про новый айфон⁠⁠

Раз уж так много шуток про новый айфон Бенчмарк, Apple, Samsung, iPhone X, Iphone 10, iPhone, Производительность

Бенчмарк нового айфона

Бенчмарк Apple Samsung iPhone X Iphone 10 iPhone Производительность
20
45
corvuscor
8 лет назад
GNU/Linux

Тест процессоров в ffmpeg.⁠⁠

В дополнение к моему предыдущему посту. Раз обещал диаграмму, значит сделал. Не думал, что столько народу пришлет результаты, всем спасибо.
З.Ы. Все результаты даны без редакции, все читерство на совести приславших. :)

Версии софта различаются, возможна некоторая погрешность.

Тест процессоров в ffmpeg. IT, Железо, Бенчмарк, Linux, Windows

Ссылка на предыдущий пост:
http://pikabu.ru/story/testirovanie_proizvoditelnosti_protse...

[моё] IT Железо Бенчмарк Linux Windows
54
13
corvuscor
8 лет назад
GNU/Linux

Тестирование производительности процессора силами ffmpeg.⁠⁠

Часто в обзорах процессоров встречаюсь с тестами, которые нереалистичны с точки зрения обычного пользователя чуть менее чем полностью, вроде всяких линпаков и вычисления числа Pi.
Вот, по моему скромному мнению, куда более реалистичный сценарий использования - декодирование видео, который позволяет оценить "запас прочности" системы в повседневном использовании. Иными словами, скажем, что если система не справляется с декодированием актуального видеокодека в 1080p/30fps, ей скоро пора на пенсию.
Аппаратное декодирование здесь - это отдельный вопрос. И так, методика тестирования предельно проста.
Качаем Big Buck Bunny, скажем 4K/30fps (не самый тяжелый вариант, в самом деле):

wget http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_su...
Теперь прогоним ffmpeg:

time ffmpeg -i ./bbb_sunflower_2160p_30fps_normal.mp4 -f null - -benchmark

В итоге на моем AMD FX-6300/3.9 выходит:

ffmpeg version 2.8.11-0ubuntu0.16.04.1
frame=19036 fps=102 q=-0.0 Lsize=N/A time=00:10:34.60 bitrate=N/A
video:1785kB audio:356706kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
bench: utime=1042.712s
bench: maxrss=344196kB
real 3m6.276s
user 17m22.776s
sys 0m4.224s

Как видно, жить еще можно. Если еще пару-тройку человек протестят свои компы, сделаю сводную диаграмму.
У меня пока все.

[моё] IT Бенчмарк Железо Linux Текст
64
36
corvuscor
8 лет назад
GNU/Linux

Релизнулся бенч Unigine Superposition...⁠⁠

...с поддержкой Linux, VR и крутого графона. Выглядит довольно впечатляюще, ИМХО. Подробности на сайте Unigine, конечно. Бежим мерятся пи бенчить своих пингвинов.

Релизнулся бенч Unigine Superposition... Linux, Бенчмарк, Виртуальная реальность, Игры, Unigine
Linux Бенчмарк Виртуальная реальность Игры Unigine
45
WitcherSanek
WitcherSanek
9 лет назад

Замеры FPS в Fallout 4 на 9хх видеокартах Nvidia или мастера оптимизации.⁠⁠

Графика скайрима(даже анимации перенесли) с более низким, чем в Crysis 3, FPS-ом.
Замеры FPS в Fallout 4 на 9хх видеокартах Nvidia или мастера оптимизации. Графика скайрима(даже анимации перенесли) с более низким, чем в Crysis 3, FPS-ом.
FPS Бенчмарк Nvidia Fallout 4 Fail
54
Промо Забустить свой пост
specials
specials

Время прогревать аудиторию!⁠⁠

Сентябрь — это не только начало учебного года, но и время активной подготовки к горячему сезону распродаж. Самое время подключить подписку Пикабу+:

  • рассказывайте о своих товарах и услугах

  • добавляйте ссылки

  • создавайте витрину товаров прямо в профиле

  • подключайте дополнительное продвижение постов

Пора готовить сани!

ПОДКЛЮЧИТЬ ПИКАБУ+

Подписки Аудитория Продвижение Бизнес Текст
DELETED
9 лет назад

Samsung Galaxy Note 3 vs Meizu M2 Note vs UMI Iron | MediaTek MTK6753 vs Qualcomm Snapdragon 800⁠⁠

Пока была возможность затестить свой старый флагманский самс с новыми китайскими бюджетниками, я это сделал, сильно не пинайте плз! =)
[моё] Сравнение Android Samsung Meizu Umi Китайские смартфоны Бенчмарк Видео
9
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии