SlideShare a Scribd company logo
1 of 13
Download to read offline
Flash games development
    with Unity3D


Valentin “valyard” Simonov
     Interactive Lab
v@lent.in / va.lent.in / onenterframe.ru / @valyard
Почему Unity3D?
Why Unity3D?


• 3D                          • 3D
• Отличный IDE                • Great IDE
• Быстрое прототипирование    • Fast prototyping
• C#, .NET                    • C#, .NET
• Расширяемость               • Extensibility
• Экспорт под iOS и Android   • Publishing to iOS and Android
Flash как платформа
Flash as a platform


                      • Распространенность плагина
                      • Stage3D, Domain Memory
                      • Интерес “взрослых” игровых
                      движков
                      • UDK, Unity3D...


                      • Flash Plugin penetration
                      • Stage3D, Domain Memory
                      • Interest from “big” game engines
                      • UDK, Unity3D
Tail Drift
Unity3D Flash in a Flash contest winner
Текущее состояние
Current state of Flash exporter


• 3.5 — preview                 • 3.5 — preview
• Можно скачать c unity3d.com   • Download at unity3d.com
• Не все фичи Unity3d           • Not all Unity3d features work
• API будет меняться            • API will change
• Сложность отладки             • Hard to debug
• Нужно думать о Flash          • Have to keep in mind Flash
экспорте с самого начала        export from the start of a project
проекта

• Будут продавать как аддон     • Will be sold as an add-on for
за 400$ / 1500$                 400$ / 1500$
Что работает
Stuff that works


Почти все кроме:                Almost everything except:
• Некоторые фулскрин эффекты    • Some fullscreen effects
• Часть .NET                    • Subset of .NET
• API системы частиц Shuriken   • Shuriken particle system API
• Профайлер                     • Profiler
• Загрузка ассетов через        • Assets loading via bundles and
bundles и WWW                   WWW
• Raknet                        • Raknet networking
• Terrain, Cloth                • Terrain, Cloth
• Deffered Rendering            • Deffered Rendering
• Аудио эффекты                 • Audio effects
С чем можно столкнуться
What problems you can face


• Не работают некоторые             • Some popular scripts don’t work
популярные скрипты                  • Can’t get reference to stage
• Нельзя получить stage             • Some unexpected parts of .NET
• Не работают неожиданные           don’t work: Convert.ToInt32, Regex,
части .NET, например:               generics.
Convert.ToInt32, Regex, generics.   • Weird JavaScript errors
• Странные ошибки JavaScript        • < Shader Model 2.0
• < версия шейдеров 2.0             • SWCs a fully compiled in —
• SWC вкомпиливаются                classes not found errors
полностью — не находит
классы
Алгоритм экспорта
Publishing algorithm


1. Исправить ошибки C#        1. Get rid of C# errors
2. Выпилить что не            2. Cut everything which is not
поддерживается                supported
3. Отследить ошибки слишком   3. Track down complicated C#
сложного C# кода              code errors
4. Сломать голову над         4. Fix weird AS3 generation
ошибками генерации AS3        errors

/Temp/StagingArea/Data        /Temp/StagingArea/Data
Отладка
Debugging


• Debug Player / flashlog.txt   • Debug Player / flashlog.txt
• mm.cfg                        • mm.cfg
  ErrorReportingEnable=1          ErrorReportingEnable=1
  TraceOutputFileEnable=1         TraceOutputFileEnable=1
• Кастомная консоль             • Custom console
• Внешняя консоль               • External console
Интеграция с AS3
AS3 integration


• UnityEngine.Flash.ActionScript                • UnityEngine.Flash.ActionScript
ActionScript.Import("com.Bla");                 ActionScript.Import("com.Bla");
ActionScript.Statement("trace({0})", “hi");     ActionScript.Statement("trace({0})", “hi");
• AS3 код в папке ActionScript                  • AS3 code in ActionScript folder
• .NET класс -> AS3 класс                       • .NET class -> AS3 class
[NotRenamed], [NotConverted]                    [NotRenamed], [NotConverted]
• Условная компиляция                           • Conditional compilation
#if UNITY_FLASH
  ActionScript.Import("flash.ui.Mouse");
 ActionScript.Statement("Mouse.hide();", "");
#else
 Screen.showCursor = false;
#endif
Загрузка извне
External preloader


• Flex SDK 4.6                               • Flex SDK 4.6
• Target Flash Player 11.1.0                 • Target Flash Player 11.1.0
• wmode=direct                               • wmode=direct
• UnityShared.swc                            • UnityShared.swc
• Общение с Unity3D                          • Communication with Unity3D
loader.unityContent.sendMessage("Player", "OnMessage", new ASMessage("click!"));

• Свой прелоадер                             • Custom preloader
• Переопределение классов-                   • Overriding dummy classes from
пустышек в прелоадере                        C#
Налог на скорость
Speed tax


Premium features: Stage3D + domainMemory
Целевая аудитория
Target audience




   Experiments                 Browser games   Experiments
         Indie games                      MMOs
Simple 3D*        Simple 3D*


* speed tax effect

More Related Content

What's hot

Kazoomeetup 2015 - Building your very own Kazoo UI
Kazoomeetup 2015 - Building your very own Kazoo UIKazoomeetup 2015 - Building your very own Kazoo UI
Kazoomeetup 2015 - Building your very own Kazoo UIKirill Sysoev
 
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Yandex
 
Nival: Почему ваш Unity проект должен работать в консоли?
Nival: Почему ваш Unity проект должен работать в консоли?Nival: Почему ваш Unity проект должен работать в консоли?
Nival: Почему ваш Unity проект должен работать в консоли?DevGAMM Conference
 
Rust & Web Assembly
Rust & Web AssemblyRust & Web Assembly
Rust & Web AssemblyCyber Fund
 
Фронтенд разработка без боли
Фронтенд разработка без болиФронтенд разработка без боли
Фронтенд разработка без болиAnton Piskunov
 
Алексей Алексеев ”Blitz-доклад”/ Wargaming
Алексей Алексеев ”Blitz-доклад”/ WargamingАлексей Алексеев ”Blitz-доклад”/ Wargaming
Алексей Алексеев ”Blitz-доклад”/ WargamingWG_ Events
 
KAZOOMEETUP MOSCOW 2015. Илья Ащепков. Разработка компонент KAZOO
KAZOOMEETUP MOSCOW 2015. Илья Ащепков. Разработка компонент KAZOOKAZOOMEETUP MOSCOW 2015. Илья Ащепков. Разработка компонент KAZOO
KAZOOMEETUP MOSCOW 2015. Илья Ащепков. Разработка компонент KAZOOSIPLABS Communications
 
построение виртуальных стендов
построение виртуальных стендовпостроение виртуальных стендов
построение виртуальных стендовYandex
 

What's hot (9)

WebAssembly
WebAssemblyWebAssembly
WebAssembly
 
Kazoomeetup 2015 - Building your very own Kazoo UI
Kazoomeetup 2015 - Building your very own Kazoo UIKazoomeetup 2015 - Building your very own Kazoo UI
Kazoomeetup 2015 - Building your very own Kazoo UI
 
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
 
Nival: Почему ваш Unity проект должен работать в консоли?
Nival: Почему ваш Unity проект должен работать в консоли?Nival: Почему ваш Unity проект должен работать в консоли?
Nival: Почему ваш Unity проект должен работать в консоли?
 
Rust & Web Assembly
Rust & Web AssemblyRust & Web Assembly
Rust & Web Assembly
 
Фронтенд разработка без боли
Фронтенд разработка без болиФронтенд разработка без боли
Фронтенд разработка без боли
 
Алексей Алексеев ”Blitz-доклад”/ Wargaming
Алексей Алексеев ”Blitz-доклад”/ WargamingАлексей Алексеев ”Blitz-доклад”/ Wargaming
Алексей Алексеев ”Blitz-доклад”/ Wargaming
 
KAZOOMEETUP MOSCOW 2015. Илья Ащепков. Разработка компонент KAZOO
KAZOOMEETUP MOSCOW 2015. Илья Ащепков. Разработка компонент KAZOOKAZOOMEETUP MOSCOW 2015. Илья Ащепков. Разработка компонент KAZOO
KAZOOMEETUP MOSCOW 2015. Илья Ащепков. Разработка компонент KAZOO
 
построение виртуальных стендов
построение виртуальных стендовпостроение виртуальных стендов
построение виртуальных стендов
 

Similar to Interactive Lab: Разработка Flash игр на Unity3D

SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON
 
Unity_ Handmade graphics optimizations by Roman Chehowski
Unity_ Handmade graphics optimizations by Roman ChehowskiUnity_ Handmade graphics optimizations by Roman Chehowski
Unity_ Handmade graphics optimizations by Roman ChehowskiRoman Chehowski
 
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»DevGAMM Conference
 
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)Ontico
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012InTRUEdeR
 
Андрей Сибирёв "Ваше собственное облако — война за независимость"
Андрей Сибирёв "Ваше собственное облако — война за независимость"Андрей Сибирёв "Ваше собственное облако — война за независимость"
Андрей Сибирёв "Ваше собственное облако — война за независимость"Yandex
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
 
Xe4 launch мобильная разработка всеволод_леонов
Xe4 launch мобильная разработка всеволод_леоновXe4 launch мобильная разработка всеволод_леонов
Xe4 launch мобильная разработка всеволод_леоновЕкатерина Макарова
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 
Delivering Native User Experience In Client Side Java Applications
Delivering Native User Experience In Client Side Java ApplicationsDelivering Native User Experience In Client Side Java Applications
Delivering Native User Experience In Client Side Java ApplicationsNikita Lipsky
 
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма..."Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...Yandex
 
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма..."Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...Yandex
 
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Ontico
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинSergey Xek
 
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17MoscowJS
 
TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TKConf
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только одинHappyDev
 
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...Ontico
 
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Ontico
 

Similar to Interactive Lab: Разработка Flash игр на Unity3D (20)

SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
 
Unity_ Handmade graphics optimizations by Roman Chehowski
Unity_ Handmade graphics optimizations by Roman ChehowskiUnity_ Handmade graphics optimizations by Roman Chehowski
Unity_ Handmade graphics optimizations by Roman Chehowski
 
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
 
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012
 
Андрей Сибирёв "Ваше собственное облако — война за независимость"
Андрей Сибирёв "Ваше собственное облако — война за независимость"Андрей Сибирёв "Ваше собственное облако — война за независимость"
Андрей Сибирёв "Ваше собственное облако — война за независимость"
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
Xe4 launch мобильная разработка всеволод_леонов
Xe4 launch мобильная разработка всеволод_леоновXe4 launch мобильная разработка всеволод_леонов
Xe4 launch мобильная разработка всеволод_леонов
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
Delivering Native User Experience In Client Side Java Applications
Delivering Native User Experience In Client Side Java ApplicationsDelivering Native User Experience In Client Side Java Applications
Delivering Native User Experience In Client Side Java Applications
 
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма..."Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
 
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма..."Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
 
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только один
 
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
 
TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
 
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...
 
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
 

More from DevGAMM Conference

The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...DevGAMM Conference
 
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...DevGAMM Conference
 
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...DevGAMM Conference
 
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...DevGAMM Conference
 
AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)DevGAMM Conference
 
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...DevGAMM Conference
 
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...DevGAMM Conference
 
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...DevGAMM Conference
 
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...DevGAMM Conference
 
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)DevGAMM Conference
 
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)DevGAMM Conference
 
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...DevGAMM Conference
 
How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...DevGAMM Conference
 
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)DevGAMM Conference
 
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...DevGAMM Conference
 
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...DevGAMM Conference
 
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...DevGAMM Conference
 
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...DevGAMM Conference
 
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...DevGAMM Conference
 
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...DevGAMM Conference
 

More from DevGAMM Conference (20)

The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...
 
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
 
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
 
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
 
AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)
 
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
 
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
 
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
 
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
 
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
 
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
 
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
 
How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...
 
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
 
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
 
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
 
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
 
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
 
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
 
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
 

Interactive Lab: Разработка Flash игр на Unity3D

  • 1. Flash games development with Unity3D Valentin “valyard” Simonov Interactive Lab v@lent.in / va.lent.in / onenterframe.ru / @valyard
  • 2. Почему Unity3D? Why Unity3D? • 3D • 3D • Отличный IDE • Great IDE • Быстрое прототипирование • Fast prototyping • C#, .NET • C#, .NET • Расширяемость • Extensibility • Экспорт под iOS и Android • Publishing to iOS and Android
  • 3. Flash как платформа Flash as a platform • Распространенность плагина • Stage3D, Domain Memory • Интерес “взрослых” игровых движков • UDK, Unity3D... • Flash Plugin penetration • Stage3D, Domain Memory • Interest from “big” game engines • UDK, Unity3D
  • 4. Tail Drift Unity3D Flash in a Flash contest winner
  • 5. Текущее состояние Current state of Flash exporter • 3.5 — preview • 3.5 — preview • Можно скачать c unity3d.com • Download at unity3d.com • Не все фичи Unity3d • Not all Unity3d features work • API будет меняться • API will change • Сложность отладки • Hard to debug • Нужно думать о Flash • Have to keep in mind Flash экспорте с самого начала export from the start of a project проекта • Будут продавать как аддон • Will be sold as an add-on for за 400$ / 1500$ 400$ / 1500$
  • 6. Что работает Stuff that works Почти все кроме: Almost everything except: • Некоторые фулскрин эффекты • Some fullscreen effects • Часть .NET • Subset of .NET • API системы частиц Shuriken • Shuriken particle system API • Профайлер • Profiler • Загрузка ассетов через • Assets loading via bundles and bundles и WWW WWW • Raknet • Raknet networking • Terrain, Cloth • Terrain, Cloth • Deffered Rendering • Deffered Rendering • Аудио эффекты • Audio effects
  • 7. С чем можно столкнуться What problems you can face • Не работают некоторые • Some popular scripts don’t work популярные скрипты • Can’t get reference to stage • Нельзя получить stage • Some unexpected parts of .NET • Не работают неожиданные don’t work: Convert.ToInt32, Regex, части .NET, например: generics. Convert.ToInt32, Regex, generics. • Weird JavaScript errors • Странные ошибки JavaScript • < Shader Model 2.0 • < версия шейдеров 2.0 • SWCs a fully compiled in — • SWC вкомпиливаются classes not found errors полностью — не находит классы
  • 8. Алгоритм экспорта Publishing algorithm 1. Исправить ошибки C# 1. Get rid of C# errors 2. Выпилить что не 2. Cut everything which is not поддерживается supported 3. Отследить ошибки слишком 3. Track down complicated C# сложного C# кода code errors 4. Сломать голову над 4. Fix weird AS3 generation ошибками генерации AS3 errors /Temp/StagingArea/Data /Temp/StagingArea/Data
  • 9. Отладка Debugging • Debug Player / flashlog.txt • Debug Player / flashlog.txt • mm.cfg • mm.cfg ErrorReportingEnable=1 ErrorReportingEnable=1 TraceOutputFileEnable=1 TraceOutputFileEnable=1 • Кастомная консоль • Custom console • Внешняя консоль • External console
  • 10. Интеграция с AS3 AS3 integration • UnityEngine.Flash.ActionScript • UnityEngine.Flash.ActionScript ActionScript.Import("com.Bla"); ActionScript.Import("com.Bla"); ActionScript.Statement("trace({0})", “hi"); ActionScript.Statement("trace({0})", “hi"); • AS3 код в папке ActionScript • AS3 code in ActionScript folder • .NET класс -> AS3 класс • .NET class -> AS3 class [NotRenamed], [NotConverted] [NotRenamed], [NotConverted] • Условная компиляция • Conditional compilation #if UNITY_FLASH ActionScript.Import("flash.ui.Mouse"); ActionScript.Statement("Mouse.hide();", ""); #else Screen.showCursor = false; #endif
  • 11. Загрузка извне External preloader • Flex SDK 4.6 • Flex SDK 4.6 • Target Flash Player 11.1.0 • Target Flash Player 11.1.0 • wmode=direct • wmode=direct • UnityShared.swc • UnityShared.swc • Общение с Unity3D • Communication with Unity3D loader.unityContent.sendMessage("Player", "OnMessage", new ASMessage("click!")); • Свой прелоадер • Custom preloader • Переопределение классов- • Overriding dummy classes from пустышек в прелоадере C#
  • 12. Налог на скорость Speed tax Premium features: Stage3D + domainMemory
  • 13. Целевая аудитория Target audience Experiments Browser games Experiments Indie games MMOs Simple 3D* Simple 3D* * speed tax effect