Тезисы:
выбор Flash/Air при создании игры с 3D, сравнение с Unity3D;
обзор существующих во Flash 3D-библиотек;
трудности разработки 3D-игры на Flash;
особенности использования на мобильных платформах;
некоторые результаты.
Целевая аудитория:
все, кому интересна разработка игр, с любым уровнем вовлеченности в индустрию.
SECON'2014 - Сергей Шпадырев - Разработка 3D-игры на Flash: едем с костылями на собственном велосипеде
1. Разработка 3D-игры на Flash: едем с
костылями на собственном
велосипеде
Сергей Шпадырев,
программист,
компания «Тортуга»
2. Почему мы выбрали Flash
• Широкое распространение
Flash Player-a
• Наличие испытанных в боях
фреймворков и библиотек
• Большой опыт в разработке
на Flash
• Скорость и удобство
разработки
3. Stage3D
Встроенная во Flash аппаратно-ускоренная
архитектура, совмещающая в себе возможности
отрисовки 3D и 2D графики. Предоставляет
разработчикам низкоуровневый API для работы с GPU.
Stage3D лежит в основе всех трехмерных графических
движков на Flash, начиная с 11 версии.
4. Выбор 3D-движка
+ открытость и бесплатность
+ распространенность
+ широкие возможности
+ много хороших уроков
- уступает в
производительности
- слабый редактор
+ неплохой редактор
+ качественные туториалы
+ свой язык шейдеров
- закрытость
- платность
- мало информации в
интернете
+ открытость и
бесплатность
+ чуть большая
производительность
+ русская поддержка
- нет редактора
- мало документации
15. Производительность
Тест 1 – поиск
простых чисел Flash (мс) Unity (мс)
Тест на скорость арифметических
вычислений. Простым перебором
ищутся простые числа в диапазоне
от 1 до миллиона. Запоминается
время потраченное на поиск,
выбирается минимальное,
максимальное и среднее значение.
min 3540 2527
max 3678 2672
avg 3610 2555
Тест на скорость работы с
массивами. Создаётся массив из
миллиона элементов и заполняется
случайными числами. В ходе теста
по массиву прогоняется алгоритм
a[i] = a[i -1] + 99
Тест 2 – работа с
массивами
Flash (мс) Unity (мс)
min 57 26
max 58 27
avg 57,6 26,3
16. Графика и анимация 2D
Тест3
(Картинки) Flash Unity
Тест4
(Анимация) Flash Unity
Количество
объектов FPS
Количество
объектов FPS
200 60 57 200 20 57
400 60 44 400 10 34
600 60 28 600 8 21
800 47 21 800 6 17
1000 37 18 1000 5 13
1200 32 14 1200 3 11
1400 28 12 1400 2 9
1600 24 10 1600 2 8
1800 22 9 1800 2 7
2000 20 9 2000 2 6
Описание
теста 3:
Описание
теста4:
Графический тест. Каждые 5 секунд
создаётся 200 объектов типа Image,
они перемещаются в случайном
направлении и поворачиваются на
случайный угол. Замеряется FPS.
Графический тест с анимацией.
Был создан текстурный атлас и
анимация. Тестирование
происходит аналогично
предыдущему тесту.
17. Сложная модель, 10 штук,
1 направленный источник
света.
Flash – 27
Unity3D – 51
Графика 3D
1000 кубиков,
самый простой шейдер.
Flash – 10
Unity3D – 49
18. Какие мы сделали выводы
Разрабатывать 3D игру на Flash
можно, но стоит этим заниматься
только если уже есть готовая
инфраструктура. Возможно будут
наблюдаться проблемы с
производительностью на
мобильных платформах, поэтому
для них предпочтительнее
использование Unity. Если
инфраструктуры нет, то Unity
тоже лучший вариант.