Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Кросс-платформенные игры для мобильных устройств

Кросс-платформенные игры для мобильных устройств

Александр Петров и Евгений Жиров (IT Top) рассказывают о подходах к созданию кросс-платформенных мобильных игр.

http://techtalks.nsu.ru

E51d363aa46f4d059d54a15e0bcd8e6f?s=128

Tech Talks @NSU

December 02, 2013
Tweet

Transcript

  1. Tech  Talks  @NSU “Кросс-­‐платформенная  разработка   мобильных  игр” IT  Top

    Евгений  Жиров Александр  Петров
  2. None
  3. None
  4. Показатели  кросс-­‐платформенных   технологий Показатели  при  выборе: -­‐  Задачи  (кол-­‐во

     и  тип  платформ,  наличие  поддержки   аппаратных  средств) -­‐  Специалисты -­‐  Порог  вхождения -­‐  Стоимость -­‐  Поддержка -­‐  Инструменты  (среда  разработки,  отладчики) -­‐  Скорость  сборки,  размер  продуктов...
  5. За  счет  чего  достигается   мультиплатформенность? Способы: -­‐  Рантайм  прослойка

    -­‐  Общие  спецификации Разработка: -­‐  Выделение  платформонезависимых  частей -­‐  Реализация  поддержки  аппаратных  средств  в  виде   нативных  расширений
  6. Кросс-­‐платформенные  технологии   для  мобильной  разработки -­‐  Adobe  Flash/Air  (AS3)

    -­‐  .NET  Xamarin  (C#) -­‐  OpenFL  (Haxe) -­‐  MonoGame  (C#,  XNA) -­‐  Unity  3d/2d  (C#,  JS,  Boo) -­‐  Cocos2d-­‐x  (С++,  Lua,  JS) -­‐  Qt  (C++,  QML) -­‐  HTML5  (JS,  CSS) -­‐  ...
  7. None
  8. None
  9. HTML,  Ajax,  Flash

  10. Платформы: iOS,  Android,  Blackberry,  Windows,  Mac  OS «+» • Поддержка • Сообщество

    «-­‐» • +10  мб • Производительность  ВМ
  11. None
  12. JavaScript Flash NekoVM PHP C++ C# Java

  13. Flash API HaXe JavaScript Flash C++ Backend   SDL  -­‐

     Simple  DirectMedia  Layer   OpenAl  –  Open  Audio  Library  
  14. Мобильная  разработка  на  Haxe+OpenFl   iOs  SDK   4.  Xcode

     project   5.  iOs  App  (.ipa)   Android  SDK+NDK   4.  Android  project   5.  Android  App  (.apk)   1.  Haxe  код   2.  C++  код   3.  Target  project  template    
  15. Платформы: iOS,  Android,  Blackberry,  Tizen,  Windows,  Mac   Os,  Linux,

     Web  (html5/flash) «+» • Производительность • Сообщество «-­‐» • Open  Source • Молодой
  16. Платформы: iOS,  Android,  Blackberry,  Win  Phone,  Windows,  Mac   Os,

     Linux,  Web  (Web  Player),  консоли  (PS,  xBox,  WiiU) «+» • Производительность • Поддержка • Инструменты • Мультиплатформенность «-­‐» • Дорогой
  17. HUGS  =  Haxe Unity Glue…Stuff  

  18. Платформы: Все,  где  есть  браузер  с  поддержкой  html5 «+» • 

     Сообщество •   Мультиплатформенность «-­‐» •   Производительность •   Браузеро-­‐  и  интернет-­‐   зависимости •   Ограниченный  доступ  к   аппаратным  возможностям
  19. Платформы: iOS,  Android,  Blackberry,  Tizen,  Win  Phone,  Web   (html5)

    «+» • Производительность • Инструменты «-­‐» • ...
  20. События  MouseEvent

  21. Тест  производительности  

  22. Тест  производительности   На  примере  производительности     физических  движков:

        Unity3D  движок  PhisX:  60  fps  при  1000  шаров  (30  fps  при  1200  шаров)     Unity3D  движок  Box2d:  60  fps  при  600  шаров  (30  fps  при  1000  шаров)     Haxe  движок  Nape:  60  fps  при  300  шаров  (30  fps  при  600  шаров)     Air  движок  Nape:  60  fps  при  100  шаров  (30  fps  при  200  шаров)    
  23. Преимущества?

  24. Преимущества? -­‐  Быстрота  портирования -­‐  Единая  база  кода  и  знаний

  25. Недостатки?

  26. Недостатки? -­‐  Аппаратные  возможности -­‐  Особенности  поведения  и   платформозависимые

     баги -­‐  Отладка
  27. Спасибо  за  внимание! Жиров  Е.  В. evgeniy.zhirov@i–op.mobi Петров  А.  И.

    alexandr.petrov@i–op.mobi http://academmedia.ru http://ittop.mobi