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