Слайд 2Предисловие
О чем я буду говорить?
Одновременная разработка под группы телефонов
Метрика по арту
Для кого
![Предисловие О чем я буду говорить? Одновременная разработка под группы телефонов Метрика](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-1.jpg)
я буду говорить?
Project Managers, Lead Developers
Top Management и руководители компаний
Слайд 3Постановка проблемы
А что хочет рынок?
Одновременный запуск игры на многих операторах
На brew
![Постановка проблемы А что хочет рынок? Одновременный запуск игры на многих операторах](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-2.jpg)
и java одновременно
А почему?
Максимизация прибыли
Brew: 35% NA Mobile gaming sales
Java: 65%
Рекламные компании
Слайд 4Структура доклада
Перед разработкой
Классификация телефонов
Способы разработки мобильных игр
Разработка
Art Functional Point
Планирование
![Структура доклада Перед разработкой Классификация телефонов Способы разработки мобильных игр Разработка Art](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-3.jpg)
сверху
Реализация одновременной разработки
Brew and Java Game Frameworks
Тактика тестирования Reaxion
Документы
Project Diary
Project Results
Слайд 5Часть1. Классификация телефонов
Stage: Уровень дизайн (screen size)
Platform: Необязательная группировка по техническим характеристикам
![Часть1. Классификация телефонов Stage: Уровень дизайн (screen size) Platform: Необязательная группировка по](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-4.jpg)
(heap, jar, performance)
Substage (референс, мастер): Группа телефонов на которых будет работать один билд.
Handset (порт, SKU): Конкретный телефон
Слайд 6Часть1. Способы разработки мобильных игр
C Top версии
(+) Наибольшее достижимое качество
(+) Уменьшение графики
![Часть1. Способы разработки мобильных игр C Top версии (+) Наибольшее достижимое качество](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-5.jpg)
делать быстрее и проще чем увеличение
(-) Разработка почти с нуля middle или low-end engines
(-) Необходимость уменьшать heap usage
(-) Необходимость уменьшать jar usage
Итого:
Длительное и болезненное
портирование под mass-market
телефоны.
Слайд 7Часть1. Способы разработки мобильных игр
C Low версии
(+) Максимально быстрое и простое портирование
![Часть1. Способы разработки мобильных игр C Low версии (+) Максимально быстрое и](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-6.jpg)
(-) Не высокое качество продукта
Итого:
Минимизация технических рисков
за счет качества продукта
Слайд 8Часть1. Способы разработки мобильных игр
Одновременная разработка под все платформы
(+) Минимальное время выхода
![Часть1. Способы разработки мобильных игр Одновременная разработка под все платформы (+) Минимальное](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-7.jpg)
на рынок
(+) Высокое (но не максимальное!) качество всех версией
(+) Не высокие (но не минимальные!) технические риски
(-) Требование к квалификации сотрудников
(-) Необходимость длительного и очень детального pre-production-а
(-) Требование наличия большого количества телефонов и большого и грамотного QA
Итого:
Счастье, при условии что проект не самый сложный и команда в состоянии подход реализовать
Слайд 9Часть1. Сравнение способов разработки
![Часть1. Сравнение способов разработки](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-8.jpg)
Слайд 10Top 12 Solitaire. 29x413
Incadia. 120x110
Часть2. Art Functional Point
Функциональная единица (Art Functional Point,
![Top 12 Solitaire. 29x413 Incadia. 120x110 Часть2. Art Functional Point Функциональная единица](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-9.jpg)
AFP) для арта это
Область состоящая из 12тыс. пикселей
Примеры
Curling. 72x166
Слайд 11Часть2. Art Functional Point
Зачем?
Оценка трудозатрат на реализацию
Оценка размера арта
Как?
Объем проекта
Сложность арта
Продуктивность команды
Любая
![Часть2. Art Functional Point Зачем? Оценка трудозатрат на реализацию Оценка размера арта](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-10.jpg)
количественная оценка лучше чем отсутствие какой-либо оценки (с) Кто-то умный
Слайд 12Часть2. Art Functional Point
Project:
Minigolf 2
Art.FP:
27,41
![Часть2. Art Functional Point Project: Minigolf 2 Art.FP: 27,41](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-11.jpg)
Слайд 13Часть2. Art Functional Point
Project:
Incadia
Art.FP:
26,77
![Часть2. Art Functional Point Project: Incadia Art.FP: 26,77](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-12.jpg)
Слайд 14Часть2. Art Functional Point
Сложность арта определение:
Относительная величина, характеризующая время, необходимое для реализации
![Часть2. Art Functional Point Сложность арта определение: Относительная величина, характеризующая время, необходимое](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-13.jpg)
функциональной единицы необходимого качества
Cложность арта НЕ зависит от
конкретного исполнителя и объема арта.
Сложность арта состоит из
технологические особенности
художественные особенности
Слайд 15Часть2. Art Functional Point
Коэффициент производительности это
Относительная величина, характеризующая скорость освоения функциональных единиц
![Часть2. Art Functional Point Коэффициент производительности это Относительная величина, характеризующая скорость освоения](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-14.jpg)
конкретным сотрудником на момент реализации проекта
Коэффициент производительности зависит от
Производительности художников (в определенный момент времени)
Производительность команды (уровень менеджмента проекта)
Поправка на удаленность
Work = Functional Points * Complexity / Productivity Coefficient
Слайд 16Часть2. Art Functional Point
Как можно еще использовать метрику
Еще один способ получить оценку
![Часть2. Art Functional Point Как можно еще использовать метрику Еще один способ](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-15.jpg)
отличную от оценок художников
Убеждение дизайнеров в не реализуемости их надежд из-за ограничений размера
Уровни оценки Art Function Point
Быстрая оценка по базе завершенных проектов (погрешность 30-50%)
Оценка по Fake Art (погрешность до ~10%)
По GDD определить состав графики и количество графики
Определиться с размерами графики
Определиться с количеством фаз анимаций
Упаковать весь fake art в один файл
Перемножить размеры получившегося файла
Разделить на 12тыс
Замечание: метрика не учитывает resize
Слайд 17Часть2. Планирование мобильного проекта сверху
Какой планируем проект
Большой проект со значительными gameplay рисками
Законченный
![Часть2. Планирование мобильного проекта сверху Какой планируем проект Большой проект со значительными](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-16.jpg)
концепт
Что делаем
Выделение резерва (30-50%)
Major Milestones
Alpha (основные фичи, снятие рисков, игру можно пройти)
Beta (feature-complete, законченная игра с багами)
Release (счастье ☺)
Minor Milestones
Alpha. Playable Demo
Alpha. Technical Demo
Планирование задач для каждого Milestone (задачи 0.5-3 дня)
Планирование задач ближайшего Milestone (задачи не больше 1 дня)
Слайд 18Часть2. Планирование мобильного проекта сверху
![Часть2. Планирование мобильного проекта сверху](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-17.jpg)
Слайд 19Часть2. Реализация одновременной разработки
Расчеты по jar
Расчеты по heap
Управление фичами билдов
![Часть2. Реализация одновременной разработки Расчеты по jar Расчеты по heap Управление фичами билдов](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-18.jpg)
Слайд 20Часть2. Реализация одновременной разработки
Фича – то что можно выключить и получить выигрыш
![Часть2. Реализация одновременной разработки Фича – то что можно выключить и получить](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-19.jpg)
(jar, heap, performance)
Группировка фич
Heap и/или Performance – Engine Pack
Jar – Art Pack
Sounds – Sound Pack
Network – Code Pack
Слайд 21Часть3. Реализация одновременной разработки
![Часть3. Реализация одновременной разработки](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-20.jpg)
Слайд 22Часть2. Brew and Java Game Frameworks
Основные идеи Game Frameworks
Абстрагирование от платформы (brew
![Часть2. Brew and Java Game Frameworks Основные идеи Game Frameworks Абстрагирование от](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-21.jpg)
only)
Отработка типичных алгоритмов
Накопление опыта
One-click сборка серии билдов на билд-машине
Как результат
Уменьшение времени разработки и портирования
Уменьшение требований к програмистам
Простое портирование на другие платформы (WM, Symbian?)
Слайд 23Часть2. Тактика тестирования в Reaxion
Reaxion QA
Project QA Lead
Максимально ранее тестирование
TestTrack Pro
![Часть2. Тактика тестирования в Reaxion Reaxion QA Project QA Lead Максимально ранее](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-22.jpg)
как средство Bug Tracking и Small-Tasks Tracking
Использование TestTrack Pro всеми членами команды
Brew Testing
NSTL Testing
NSTL AppRelay
NSTL Self-Testing
Brew Lab
Тестирование операторов
Слайд 24Часть3. Документы
Project Diary
Недельные цели и результаты сотрудников
Реализация принципов
Прозрачность процесса
Воспроизводимость процесса
Информативность
![Часть3. Документы Project Diary Недельные цели и результаты сотрудников Реализация принципов Прозрачность процесса Воспроизводимость процесса Информативность](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-23.jpg)
Слайд 25Часть3. Документы
Project Results
Сбор в одном месте результатов всех проектов, всех портов
Даты старта
![Часть3. Документы Project Results Сбор в одном месте результатов всех проектов, всех](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/430674/slide-24.jpg)
и окончания проекта
Имена разработчиков
Baseline и actual значения длительности и трудозатрат
Оценка стоимости