240 likes | 450 Views
Игра или продукт? или Методологии творчества. Введение. «Кто я?» Андрей Грищенко, менеджер внешних проектов отдела игровых и мультимедийных продуктов фирмы «1С», Россия, Москва ( gria@1c.ru ) «О чем буду говорить?» Это введение Немного о предмете Некоторые методики разработки ПО
E N D
Игра или продукт? или Методологии творчества
Введение • «Кто я?» • Андрей Грищенко, менеджер внешних проектов отдела игровых и мультимедийных продуктов фирмы «1С», Россия, Москва (gria@1c.ru) • «О чем буду говорить?» • Это введение • Немного о предмете • Некоторые методики разработки ПО • Некоторые следствия
Проблемы разработки игр • Хорошо продаваемый продукт – не всегда хорошая игра • Феррари • Хорошая игра – почти всегда хорошо продаваемый продукт • И Слава и Феррари • Непростая задача: • качественный продукт творческого и интеллектуального труда в ограниченный срок и бюджет
Проблемы разработки игр • Трудности: • Меняющиеся технологии (основной инструмент) • Меняющиеся требования, высокая «планка» • Творческий продукт • Значительные объемы содержимого (content) • Молодая индустрия • Результаты: • Перерасходы бюджетов • Задержки сроков • Снижение качества • Неоправданность ожиданий • Это не лучшая обстановка для творчества
Проблемы разработки игр “20.01.04 из компании Blizzard ушел один из основателей и бывший вице-президент Аллен Эдхам. Как сообщают официальные представители компании, причиной этого шага стала "многолетняя рутинная работа по доводке игровых продуктов".” (http://news.dtf.ru/index.php?type=id&publ_id=52066) • Статистика одного рисованного квеста: • 2000 графических объектов • 5400 их отдельных состояний • 1066 звуков
Классика создания продуктов • Кинопроизводство: • Scripting: сценарий • Pre-production: планирование, сasting, финансирование, прокат оборудования и т.д. • Production: съемки • Post-production: обработка, монтаж, озвучивание
Классика создания продуктов • Создание ПО: • Стратегическое планирование: концепция, цели и задачи • Анализ и проектирование: уточнение проблем и путей достижения поставленных целей • Разработка: реализация выявленных путей • Тестирование: технологический этап разработки любого ПО
Фильм: Развлекательный аудиовизуальный продукт Производство content’a НЕ фильм: Интерактивность и нелинейность Не такой дорогой production Относительно молодой тип развлечений Gameplay – игровой процесс ПО: Программный продукт НЕ ПО: Наличие значительного содержимого помимо программного кода (content) Предназначение – развлекательное. «Одноразовость». Gameplay – игровой процесс Игры – фильм или ПО?
Некоторые методики создания ПО • Каскад (водопад) • RUP – Rational Unified Process, http://www-136.ibm.com/developerworks/rational/products/rup • MSF - Microsoft Solution Framework, http://www.microsoft.com/rus/msdn/msf/ • XP – eXtreme Programming, http://www.extremeprogramming.org/ • О киноиндустрии больше ни слова…
RUP • Rational Unified Process • Накопленный опыт ведущих разработчиков • Наиболее полный набор концепций, которые так или иначе присутствуют в других методиках • Единый язык моделирования – UML (Unified Modeling Language) • Сейчас подконтролен IBM
UML (RUP) • Сценарии (use cases)
UML (RUP) • Сценарии (use cases)
UML (RUP) • Диаграммы последовательностей (sequence diagram)
Проблемы применения RUP • Как все универсальное – много лишнего • Как все универсальное – мало конкретного
MSF • Microsoft Solution Framework • Ключевые особенности: • Нет единственного менеджера проекта, а «кластер»: • Главный художник +Главный программист + Главный гейм-дизайнер • Фазы проектапо MSF:
MSF • Фаза стабилизации
MSF • Треугольник компромиссов или как торговаться с обстоятельствами • «Мы делаем быстро, качественно и недорого! Выберите два из трех…»
XP • eXtreme Programming • Основная заповедь: • «Концентрируйте усилия на выполнении наиболее важных задач, выбранных вашим заказчиком, чтобы не получить несколько незавершенных задач, выбранных разработчиками» • Лучший путь, когда дорога неизведанна - так часто и бывает
XP • 12 практик XP • Планирование на основе опыта • Частые сборки с небольшим увеличением объемов разработки • Метафоры • Простота дизайна • Тесты впереди реализации • Постоянный refactoring • Парное программирование • Коллективное владение ресурсами (кодом) • Постоянная интеграция • 40-часовая рабочая неделя • «Заказчик с нами» - тесная обратная связь • Стандарты
Возможные проблемы ХР • Спорные практики • Простота дизайна – «Каждая задача имеет одно элегантное, простое, но неправильное решение» • Коллективное владение – «У семи нянек дитя без глазу» • Затраты на рефакторинг – постоянные переделки • Парная разработка – не всегда возможно • Можно заблудиться • Как человек не может выйти из пустыни? • Тестирование игр – нетривиальная задача
Панацея – своими руками • Все • Цикличность, итерационность • Планирование • Ориентация на Заказчика (в нашем случае - Игрока) • RUP • Основные понятия • UML • MSF • Треугольник компромиссов • Фаза стабилизации проекта • XP • Гибкость • Регулярные сборки и постоянная интеграция • Тесная обратная связь
Панацея на практике • Применение элементов RUP в компании-разработчике из 300 человек, 50 активных проектов • Единые стандарты технической документации • Развязать понятия «должность» и «роль» - гибкость и предсказуемость • Применение элементов ХР в игровой разработке • Ранняя демонстрация прогресса проекта – уже через 1..2 месяца от начала разработки • Отсутствие «мертвых» периодов • Адаптация по результатам оценки • Применение элементов MSF в игровой разработке • Достижение ключевых задач проекта • Управляемый процесс завершения проекта
Немного о планировании… • Почему трудно написать дизайн документ (и план) • Значительный объем • Много неопределенностей • Выход - дизайн документ (и план) разрабатывается в течении всего проекта • Опережение • Общая картина • Milestone – верстовой столбили столб позора? • Milestone – объективное событие в проекте, как измерение прогресса к цели • Хорошо определенный milestone – легко измеряемые показатели • «Не доделанная работа – не сделанная работа»
Спасибо! • Вопросы? • Если вопросов нет – это или все понятно или не понятно ничего…