SVG в разработке
компьютерных игр: быть или
         не быть


         Юрийчук Павел
          BoosterMedia
             Ciklum
О себе
В Сиклуме с 2011 года в качестве Front end Mobile
games developer
Опыт разработки: Flex/Actionscript/Javascript
Прошлое: Casino games
Текущее: Casual Games
Контакты:
Skype: pavlo.yuriychuck
Email: pluccky@gmail.com
Facebook
Twitter
Теперешнее - Casual Games
Прошлое - Casino games
О чем наше
                        представление
●
    Игрушка
●
    Примеры того что можно сделать
●
    Какие есть альтернативы
●
    О ролях в проекте: действующие лица
     марлезонского балета
●
    О надеждах поговорим или почему же SVG
●
    А что же может он
●
И еще немного
●
    О граблях
●
    О кросс-платформенности
●
    О скорости
●
    О природе R&D
●
    О бытие, или где стоит использовать
     SVG
Вступление. Задача

●
 Dress-up игра с большим количеством экранов и
элементов user interface
Много графики
●


●
 Хорошо бы сократить время и трудоресурсы на
обработку графических ресурсов
Есть версия игры на flash
●



Мало времени на подгонку элементов и верстку
●



HTML5 – целевая платформа iOS & Android
●
Как он выглядит
●
    Игрушки!
      –   Стрелялка
      –   Логика
      –   ТворениеСергеяПажинтова
      –   Пасьянс
      –   УчимгеографиюСША
Альтернативы
●
    Рендерить FXG в Canvas
●
    Bitmap graphics
●
    Велосипеды
Вступление.
          Действующие лица
Художник “золотые руки”
●



Флешер тимлид
●



Менеджер. Просто менеджер.
●


●
 Программист с флексовым прошлым и
джаваскриптовым настоящим
Акт первый. Надежды
●
    SVG Создан в 2001 году
●
    Поддерживается почти всеми браузерами
●
 Экспорт поддерживается многими
редакторами векторной графики
●
 Хорошая интеграция с ECMAScript /
JavaScript
●
 Пользовательский интерфейс можно
использовать сразу после того, как его
нарисовал художник!
Акт второй. Поиски
●
    Как встроить SVG в DOM:
HTML5 Canvas Object
−


In-line SVG
−


●
    Как загрузить сам SVG:
AJAX request, response type == xml
−


●
    Как пользоваться:
Интерактивность, игра жеж
−


−Прогулки по воде или как найти нужный тег
документе
Лирическое
                                 отступление #1
●
    Что предлагает SVG
              –   DOM GetElementByTagName,
                   GetElementById(?),
                   getAttrbuteNS/setAttrbuteNS, childNodes
              –   JavaScript events
              –   SMIL, JS animation,
              –   CSS ;)
●
    Что есть в Flash
              –   UI tree, SetProperty/getProperty
              –   Flash Events
              –   Animation, keyFrames, transitions, paths, movie
                   clip
              –   CSS, Flex only ;)
Акт третий. Грабли
AdoptNode
●



GetElementById
●



CANVG
●



Анимацияивстроенныескрипты
●



Inkscape
●
Акт четвертый. Кросс-
                 платформенность

●
    Не все операции внедрены
     одинаково, некторых вообще нет,
     смотри акт грабли.
●
    Inline SVG только в андроиде и в
      десктоп-браузерах
●
    IOS хорошо работает с Canvas
●
Акт пятый. Быстрее
●
    Пробовали сжимать SVG в ZIP и
     распаковывать JavaScript
      –   Удобно
      –   Канонично
●
    Грузить все элементы одним SVG а потом
      резать на мелкие кусочки
●
    Сжимать SVG на стороне сервера
     mod_deflateилиmod_gzip
Акт шестой.
Прерванный полет R&D

 ●
     Bitmap быстрее
 ●
     CANVG поддерживает ограниченный набор
      SVG инструкций, сложные рисунки с
      трансформациями градиентов – не рисует
 ●
     IOS крешится при попытке распаковать 20kb
       zip, андроид и десктопные браузеры – как
       часы
Заключение. Где же все таки
      стоит использовать SVG
●
    Интерактивные карты, не флеш, но кое что может
●
    Карточные игры
●
    Тетрис
●
    Настольные игры – монополия
●
    Общеедлянихвсех:
      –   Мало анимации и она не интенсивная
      –   Не мобильные браузеры – медленная
           отрисовка и грузит процессор
      –   Не критично время загрузки ресурсов
●

More Related Content

ODP
Pavel yuriychuk svg in game development
PDF
PDF
Павел Юрийчук - Разработка приложений под мобильные браузеры
PDF
Как я перестал бояться и полюбил SVG -- Руслан Каймаков -- MoscowJS 17
PDF
Mobile Web Apps development essentials
PDF
MVC in JavaScript
PPTX
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
PPTX
Yarfrontend #2. Как мы делали гуя...
Pavel yuriychuk svg in game development
Павел Юрийчук - Разработка приложений под мобильные браузеры
Как я перестал бояться и полюбил SVG -- Руслан Каймаков -- MoscowJS 17
Mobile Web Apps development essentials
MVC in JavaScript
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Yarfrontend #2. Как мы делали гуя...

What's hot (19)

PDF
Как мы адаптировали более 150 сайтов по технологии Dynamically-served JavaScr...
PDF
Frontend - экосистема и будущее: iforum 2015
PPTX
HappyDev-lite-2016-весна 05 Андрей Юдин. Javascript - мультиинструмент для всех
PDF
Инновации и JavaScript
PDF
Современный фронтенд -- как не утонуть в море хайпа?
PDF
Java script и frontend завтра - Kharkiv JS 2013
PDF
Mihail Zachepilo - WebAssembly powered Machine Learning
PDF
Как верстать сайты быстрее чем их рисуют
PPTX
«Mobile To The People» - Дмитрий Колодько
PDF
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
PDF
"Vue.js или как наконец отказаться от React"
PPTX
AngularJS
PDF
HTML GL - возьмите столько FPS, сколько вам нужно, и немного эффектов в прида...
PDF
State of the Standardized Web
PDF
Как сделать хороший прототип вовремя?
PPTX
WebGL - создание 3D графики в браузере
PPTX
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
PDF
JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...
Как мы адаптировали более 150 сайтов по технологии Dynamically-served JavaScr...
Frontend - экосистема и будущее: iforum 2015
HappyDev-lite-2016-весна 05 Андрей Юдин. Javascript - мультиинструмент для всех
Инновации и JavaScript
Современный фронтенд -- как не утонуть в море хайпа?
Java script и frontend завтра - Kharkiv JS 2013
Mihail Zachepilo - WebAssembly powered Machine Learning
Как верстать сайты быстрее чем их рисуют
«Mobile To The People» - Дмитрий Колодько
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
"Vue.js или как наконец отказаться от React"
AngularJS
HTML GL - возьмите столько FPS, сколько вам нужно, и немного эффектов в прида...
State of the Standardized Web
Как сделать хороший прототип вовремя?
WebGL - создание 3D графики в браузере
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...
Ad

Viewers also liked (20)

PDF
Game Apps Monetization. How not to drown in the ocean of opportunities?
PDF
"Мобильные игры: что ждать от рынка в ближайшем будущем?" - Леонид Сиротин, G...
PDF
Ailove Development Mobile Game | RIW 2010
PPTX
Vizor: Ultrafine design. Game mechanics development sans prototyping
PPT
PPTX
Социальные игры умерли — да здравствуют мобильные игры? - Артем Бочаров - Gam...
PPTX
Обучение & GAME DESIGNER
PPTX
Martine Spaans - “How to turn your game from junkfood into fine dining”
PDF
Live Mobile: "Mobile Games: What To Expect From The Market In The Near Future...
PPTX
Redistributable intro To Scrum, Russian
PPTX
2010/12 FlashGAMM Casual Games “How to turn your game from junkfood into fine...
PPT
Введение в Scrum
PPTX
Lean Lego Game for Agileee 2012
PPT
Геймификация процесса разработки ПО
PDF
Геймификация в обучении (или несколько мифов и примеров)
PDF
Post-Mortem on Sheep Happens
PDF
Юнит-тесты: от общего к частному. Доклад Александра Свинцова На LoveQA РИТ
PDF
Эволюция сервисов видео монетизации Unity Ads и сервиса реплей-шеринга Everyp...
DOCX
Final project report of a game
PPSX
An Introduction To Game development
Game Apps Monetization. How not to drown in the ocean of opportunities?
"Мобильные игры: что ждать от рынка в ближайшем будущем?" - Леонид Сиротин, G...
Ailove Development Mobile Game | RIW 2010
Vizor: Ultrafine design. Game mechanics development sans prototyping
Социальные игры умерли — да здравствуют мобильные игры? - Артем Бочаров - Gam...
Обучение & GAME DESIGNER
Martine Spaans - “How to turn your game from junkfood into fine dining”
Live Mobile: "Mobile Games: What To Expect From The Market In The Near Future...
Redistributable intro To Scrum, Russian
2010/12 FlashGAMM Casual Games “How to turn your game from junkfood into fine...
Введение в Scrum
Lean Lego Game for Agileee 2012
Геймификация процесса разработки ПО
Геймификация в обучении (или несколько мифов и примеров)
Post-Mortem on Sheep Happens
Юнит-тесты: от общего к частному. Доклад Александра Свинцова На LoveQA РИТ
Эволюция сервисов видео монетизации Unity Ads и сервиса реплей-шеринга Everyp...
Final project report of a game
An Introduction To Game development
Ad

Similar to SVG in game development (20)

ODP
3D в браузерных играх, социальных сетях и на мобильных платформах
PDF
Антон Корзунов "Графика на карте в API 2.0"
PDF
CodeFest 2014. Чаптыков Т. — Автоматизация хранения графики в новой онлайн-ве...
PDF
Что дизайнеру нужно знать о SVG
PDF
Как анимировать тысячи объектов на карте и не подвесить браузер
PDF
Canvas API как инструмент для работы с графикой | Odessa Frontend Meetup #18
PDF
Пора учить WebGL
PDF
TК°Conf. Ещё не поздно учить WebGL. Антон Корзунов.
PDF
От энтузиаста к разработчику
PPSX
Moving from Flash to HTML5 – converting large projects
PDF
JavaFX 2.0 overview
PDF
Flex 4 Gumbo Framework
PDF
Ренессанс графики на клиенте
PDF
Оптимизация графики на практике
PDF
CodeFest 2013. Агафонкин В. — Высокопроизводительные визуализации данных в бр...
PPTX
АНИМАЦИЯ В FLASH И HTML5
PDF
Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftware
PDF
Marmalade: Кроссплатформенность для профессионалов. Как и почему?
PPTX
Playing in the browser
3D в браузерных играх, социальных сетях и на мобильных платформах
Антон Корзунов "Графика на карте в API 2.0"
CodeFest 2014. Чаптыков Т. — Автоматизация хранения графики в новой онлайн-ве...
Что дизайнеру нужно знать о SVG
Как анимировать тысячи объектов на карте и не подвесить браузер
Canvas API как инструмент для работы с графикой | Odessa Frontend Meetup #18
Пора учить WebGL
TК°Conf. Ещё не поздно учить WebGL. Антон Корзунов.
От энтузиаста к разработчику
Moving from Flash to HTML5 – converting large projects
JavaFX 2.0 overview
Flex 4 Gumbo Framework
Ренессанс графики на клиенте
Оптимизация графики на практике
CodeFest 2013. Агафонкин В. — Высокопроизводительные визуализации данных в бр...
АНИМАЦИЯ В FLASH И HTML5
Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftware
Marmalade: Кроссплатформенность для профессионалов. Как и почему?
Playing in the browser

SVG in game development

  • 1. SVG в разработке компьютерных игр: быть или не быть Юрийчук Павел BoosterMedia Ciklum
  • 2. О себе В Сиклуме с 2011 года в качестве Front end Mobile games developer Опыт разработки: Flex/Actionscript/Javascript Прошлое: Casino games Текущее: Casual Games Контакты: Skype: pavlo.yuriychuck Email: pluccky@gmail.com Facebook Twitter
  • 5. О чем наше представление ● Игрушка ● Примеры того что можно сделать ● Какие есть альтернативы ● О ролях в проекте: действующие лица марлезонского балета ● О надеждах поговорим или почему же SVG ● А что же может он ●
  • 6. И еще немного ● О граблях ● О кросс-платформенности ● О скорости ● О природе R&D ● О бытие, или где стоит использовать SVG
  • 7. Вступление. Задача ● Dress-up игра с большим количеством экранов и элементов user interface Много графики ● ● Хорошо бы сократить время и трудоресурсы на обработку графических ресурсов Есть версия игры на flash ● Мало времени на подгонку элементов и верстку ● HTML5 – целевая платформа iOS & Android ●
  • 8. Как он выглядит ● Игрушки! – Стрелялка – Логика – ТворениеСергеяПажинтова – Пасьянс – УчимгеографиюСША
  • 9. Альтернативы ● Рендерить FXG в Canvas ● Bitmap graphics ● Велосипеды
  • 10. Вступление. Действующие лица Художник “золотые руки” ● Флешер тимлид ● Менеджер. Просто менеджер. ● ● Программист с флексовым прошлым и джаваскриптовым настоящим
  • 11. Акт первый. Надежды ● SVG Создан в 2001 году ● Поддерживается почти всеми браузерами ● Экспорт поддерживается многими редакторами векторной графики ● Хорошая интеграция с ECMAScript / JavaScript ● Пользовательский интерфейс можно использовать сразу после того, как его нарисовал художник!
  • 12. Акт второй. Поиски ● Как встроить SVG в DOM: HTML5 Canvas Object − In-line SVG − ● Как загрузить сам SVG: AJAX request, response type == xml − ● Как пользоваться: Интерактивность, игра жеж − −Прогулки по воде или как найти нужный тег документе
  • 13. Лирическое отступление #1 ● Что предлагает SVG – DOM GetElementByTagName, GetElementById(?), getAttrbuteNS/setAttrbuteNS, childNodes – JavaScript events – SMIL, JS animation, – CSS ;) ● Что есть в Flash – UI tree, SetProperty/getProperty – Flash Events – Animation, keyFrames, transitions, paths, movie clip – CSS, Flex only ;)
  • 15. Акт четвертый. Кросс- платформенность ● Не все операции внедрены одинаково, некторых вообще нет, смотри акт грабли. ● Inline SVG только в андроиде и в десктоп-браузерах ● IOS хорошо работает с Canvas ●
  • 16. Акт пятый. Быстрее ● Пробовали сжимать SVG в ZIP и распаковывать JavaScript – Удобно – Канонично ● Грузить все элементы одним SVG а потом резать на мелкие кусочки ● Сжимать SVG на стороне сервера mod_deflateилиmod_gzip
  • 17. Акт шестой. Прерванный полет R&D ● Bitmap быстрее ● CANVG поддерживает ограниченный набор SVG инструкций, сложные рисунки с трансформациями градиентов – не рисует ● IOS крешится при попытке распаковать 20kb zip, андроид и десктопные браузеры – как часы
  • 18. Заключение. Где же все таки стоит использовать SVG ● Интерактивные карты, не флеш, но кое что может ● Карточные игры ● Тетрис ● Настольные игры – монополия ● Общеедлянихвсех: – Мало анимации и она не интенсивная – Не мобильные браузеры – медленная отрисовка и грузит процессор – Не критично время загрузки ресурсов ●