marmalade: Кроссплатформенность для профессионалов. Как и...
DESCRIPTION
Что же такого из инструментов требуется профессионалам рынка, создающим самые лучшие игры рынка мобильных приложений? Каким образом можно добиться наилучших результатов при создании кросс-платформенных игр? В этой презентации я расскажу о том, что может дать Marmalade SDK разработчикам и что привлекает настоящих зубров игродевелопмента в этом продукте.TRANSCRIPT
Page
Кросс-платформенность для профессионалов Как и почему Q1 2012
Page
Ингредиенты.
3 составляющие разработки: платформа, инструментарий, библиотеки. Платформа – iOS, Android, bada, Phonegap, Corona, Unity3D, Marmalade SDK. Базис, язык, технологии Инструменарий – IDE, графические редакторы, редакторы скриптов, карт, атласов, скрипты на все случаи жизни. Библиотеки – 2D и 3D движки для графики, звука, физики, сложная математика, искусственный интеллект, API сервисов
2 © Ideaworks3D Limited | Business Confidential
Page
Marmalade System – платформа.
Эффективные инструменты • Компиляция для CPU, а не для ОС • Поддержка Android, bada, iOS, Symbian,
BBX и Smart TV • Выбирайте между Windows или Mac. Пользуйтесь актуальными API
• Тестируйте ARM на десктопе
Легко интегрируемый C/C++ код • Легко внедрить существующий C/C++ код, большинство опен-сорс C/C++ кода компилируется с минимальными изменениями (если требуются).
• Большинство iPhone SDK игр может быть портировано за (максимум) 2 нед. OpenGL ES рендеринг код можно не трогать
3 © Ideaworks3D Limited | Business Confidential
ОС
Marmalade System
Device Drivers
OpenGL ES drivers
IwGL абстракция
Большая часть игрового кода
находится здесь
Большая часть кода рендеринга здесь
Open Dynamics Engine
Bullet
Box2D
lua
python
json_parser
sqlite
freetype
ImageMagic
Ваш движок
Код вашей игры
Ресурсы ОС
Marmalade System
Cocos2D-x
SDL
libsvg
Page
Платформа. Производительность • Код компилируется в нативные инструкции • Нет промежуточных виртуальных машин • Динамическая подгрузка кода
Масштабируемость и управляемость • С/С++ код со свойственным ему ручным управлением памятью
• Доступ к функциям операционной системы
Мощные модули • Продвинутая 2D/3D графика и анимация
• Гибкий менеджмент ресурсов, включая оптимизации под разные чипсеты.
• Поддержка сокетов, HTTP и HTTPS
4 © Ideaworks3D Limited | Business Confidential
Page
Marmalade Studio – Инструментарий
Мощные инструменты • Импортеры для стандартных аудио форматов и изображений.
• Экспортеры для 3DS Max, Maya и импортер из COLLADA
• Весь пайплайн ресурсов - тектсовый, что позволяет интеграцию на любой стадии
• Билдер шрифтов, менеджер ресурсов проекта
• Разработка в Visual Studio и Xcode. Свобода в выборе операционной системы для работы. Деплой на iOS из под Windows
5 © Ideaworks3D Limited | Business Confidential
Operating System
Marmalade System
Device Drivers
OpenGL ES drivers
IwGL абстракция
IwUtil
IwHTTP
IwResManager
IwGx
IwGxFont
Iw2D
IwGraphics
IwUI
IwAnim
Utility HTTP Resource Mgmt Low-level отрисовка
Bitmap и TTF шрифты
2D graphics 3D graphics
UI framework 3D animation
Ресурсы ОС
Marmalade System
Marmalade Studio
Page
Marmalade Codebase - библиотеки
Physics
Audio
Graphics
Scripts
Графика: • Cocos2d-x, PopCap Framwork, Irrlicht
Engine, Cube, quakeengine. • OpenGL ES full support.
Звук: • OpenAL, irrKlang, cAudio
Физика: • Box2d, Chipmunk, ODE
© Ideaworks3D Limited | Business Confidential 6
Page
Библиотеки
Бесплатные и open-source: • boost, sqlite, libyaml, libxml, libjpeg • Подавляющее большинство сервисов и
стандартов имеют API на С++
Скрипты: • LUA, ruby, python
Используйте собственные движки и фреймворки
• Marmalade SDK полностью совместим с POSIX стандартами
• Портируйте свои игры с нативных платформ на Marmalade SDK
© Ideaworks3D Limited | Business Confidential 7
Page
Пример: PopCap, игровой каталог
Переносим iOS игры на Android
• PopCap выбрал Marmalade для портирования хитов Plants vs Zombies, Peggle и Chuzzle с iOS на Android
• Заняло всего 2 недели, чтоб портировать и запустить их игровой движок в десктопном Marmalade симуляторе
• PopCap смог задеплоить игры на огромное число Android устройств, а также Symbian, bada и webOS устройств для всестороннего QA
• Вложено время в UI для поддержки разных разрешений и типов ввода
• Marmalade устроил 2-дневный тренинг для инженеров PopCap в Дублине
• Все три игры с огромным успехом вышли на Android
8 © Ideaworks3D Limited | Business Confidential
Page
Пример: Konami, Pro Evolution Soccer
Перенос PES на iOS и Android
• Konami выбрала Marmalade для выпуска своего консольного супер хита на мобильные
• Пользовательские обзоры – 4-5 звезд и игра обосновалась в App Store Top 10 в Японии
• Использование Marmalade API акселерометра и мультитач позаолили предложить несколько схем управления на iOS и Android устройствах
• UI фреймворк поддерживает богатый 2D пользовательский интерфейс, правильно скейлящийся на всех разрешениях смартфонов и планшетов
• Полная поддержка Marmalade-ом стандартов C/C++ позволила использовать sqlite как движок баз данных
• Стандартный API для сокетов, вместе с расширением для Apple’s GameKit, позволили head-to-head play через WiFi и Bluetooth
9 © Ideaworks3D Limited | Business Confidential
Page
Marmalade EDK
Гибкость плюс ОС-специфичная функциональность Marmalade понимает, что разработчикам все еще нужен достп к ОС-специфичным API на iOS и Android. Им также нужен доступ к экосистеме сторонних модулей и служб, которыми обросли эти платформы.
Зачем нужен Marmalade EDK? Marmalade EDK позволяет разработчикам самим создавать новые API расширений и имплементировать их на iOS и Android, используя нативные сродства СДК. Делая их, они создадут стандартные для ОС библиотеки, которые будут подключены на этапе деплоймента.
10 © Ideaworks3D Limited | Business Confidential
Page
Партнерская программа Marmalade
Интегрируемся с лучшими из лучших Ведущие поставщики инструментов, служб и движков решают присоединиться к армии Marmalade, чтоб получить больше пользователей своих продуктов и севисов. Решения с PC/консолей такие как morpheme (Natural Motion), photon (Exit Games) и ShiVa3D (Stonetrip), вместе с поставщиками сервисов для мобильных платформ, такими как Tapjoy и inneractive, все видят смысл в том, чтоб сделать их доступными растущему числу разработчиков на Marmalade.
11 © Ideaworks3D Limited | Business Confidential
Page
Marmalade Code Community
Код Marmalade хорош для, того чтоб делиться Marmalade единственное решение для того, чтоб легко распространять стандартный C/C+ код между платформами. Marmalade Code Community – место, где разработчики могут вместе изучать, делиться и создавать код, который работает с Marmalade. Мы используем GitHub инфраструктуру для поддержки Code Community: http://github.com/marmalade
12 © Ideaworks3D Limited | Business Confidential
Page
Спасибо! www.madewithmarmalade.com