Transcript Document

Игра или продукт?
или
Методологии творчества
Введение
• «Кто я?»
– Андрей Грищенко, менеджер
внешних проектов отдела
игровых и мультимедийных
продуктов фирмы «1С»,
Россия, Москва ([email protected])
• «О чем буду говорить?»
– Это введение
– Немного о предмете
– Некоторые методики
разработки ПО
– Некоторые следствия
Проблемы разработки игр
• Хорошо продаваемый продукт – не всегда хорошая
игра
– Феррари
• Хорошая игра – почти всегда хорошо продаваемый
продукт
– И Слава и Феррари
• Непростая задача:
– качественный продукт творческого и интеллектуального
труда в ограниченный срок и бюджет
Проблемы разработки игр
• Трудности:
–
–
–
–
–
Меняющиеся технологии (основной инструмент)
Меняющиеся требования, высокая «планка»
Творческий продукт
Значительные объемы содержимого (content)
Молодая индустрия
• Результаты:
–
–
–
–
Перерасходы бюджетов
Задержки сроков
Снижение качества
Неоправданность ожиданий
• Это не лучшая обстановка для творчества
Проблемы разработки игр
“20.01.04 из компании Blizzard ушел один из основателей и
бывший вице-президент Аллен Эдхам. Как сообщают
официальные представители компании, причиной этого шага
стала "многолетняя рутинная работа по доводке игровых
продуктов".”
(http://news.dtf.ru/index.php?type=id&publ_id=52066)
• Статистика одного рисованного квеста:
– 2000 графических объектов
– 5400 их отдельных состояний
– 1066 звуков
Классика создания продуктов
Фильмы
Scripting
Pre-production
Production
Post-production
Игры
Scripting
Проектирова
ние
Pre-production
Production
Разработка
ПО
Бизнес-моделирование
Анализ и Проектирование
Разработка
Post-production
Тестирование
Тестирование
Внедрение
• Кинопроизводство:
– Scripting: сценарий
– Pre-production: планирование, сasting, финансирование, прокат
оборудования и т.д.
– Production: съемки
– Post-production: обработка, монтаж, озвучивание
Классика создания продуктов
Фильмы
Scripting
Pre-production
Production
Post-production
Игры
Scripting
Проектирова
ние
Pre-production
Production
Разработка
ПО
Бизнес-моделирование
Анализ и Проектирование
Разработка
Post-production
Тестирование
Тестирование
Внедрение
• Создание ПО:
– Стратегическое планирование: концепция, цели и задачи
– Анализ и проектирование: уточнение проблем и путей достижения
поставленных целей
– Разработка: реализация выявленных путей
– Тестирование: технологический этап разработки любого ПО
Игры – фильм или ПО?
• Фильм:
– Развлекательный
аудиовизуальный продукт
– Производство content’a
• НЕ фильм:
– Интерактивность и
нелинейность
– Не такой дорогой
production
– Относительно молодой
тип развлечений
– Gameplay – игровой
процесс
• ПО:
– Программный продукт
• НЕ ПО:
– Наличие значительного
содержимого помимо
программного кода
(content)
– Предназначение –
развлекательное.
«Одноразовость».
– Gameplay – игровой
процесс
Некоторые методики создания ПО
• Каскад (водопад)
• RUP – Rational Unified Process, http://www136.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
• Фаза стабилизации
Количество
открытых дефектов
Точка конвергенции
Bug Convergence
Точки «безошибочности»
Zero Bug Bounce
Alfa
Время
Beta
Master
Patch
MSF
• Треугольник компромиссов или как торговаться с
обстоятельствами
ем
Вр
ы
рс
су
Ре
я
– «Мы делаем быстро, качественно и недорого! Выберите два из
трех…»
Содержание
XP
• eXtreme Programming
• Основная заповедь:
– «Концентрируйте усилия на выполнении наиболее важных
задач, выбранных вашим заказчиком, чтобы не получить
несколько незавершенных задач, выбранных
разработчиками»
• Лучший путь, когда дорога неизведанна - так часто и
бывает
XP
•
12 практик XP
Планирование на основе опыта
Частые сборки с небольшим увеличением объемов
разработки
3. Метафоры
4. Простота дизайна
5. Тесты впереди реализации
6. Постоянный refactoring
7. Парное программирование
8. Коллективное владение ресурсами (кодом)
9. Постоянная интеграция
10. 40-часовая рабочая неделя
11. «Заказчик с нами» - тесная обратная связь
12. Стандарты
1.
2.
Возможные проблемы ХР
• Спорные практики
– Простота дизайна – «Каждая задача имеет одно элегантное,
простое, но неправильное решение»
– Коллективное владение – «У семи нянек дитя без глазу»
– Затраты на рефакторинг – постоянные переделки
– Парная разработка – не всегда возможно
• Можно заблудиться
– Как человек не может выйти из пустыни?
• Тестирование игр – нетривиальная задача
Панацея – своими руками
• Все
– Цикличность, итерационность
– Планирование
– Ориентация на Заказчика (в нашем случае - Игрока)
• RUP
– Основные понятия
– UML
• MSF
– Треугольник компромиссов
– Фаза стабилизации проекта
• XP
– Гибкость
– Регулярные сборки и постоянная интеграция
– Тесная обратная связь
Панацея на практике
• Применение элементов RUP в компанииразработчике из 300 человек, 50 активных проектов
– Единые стандарты технической документации
– Развязать понятия «должность» и «роль» - гибкость и
предсказуемость
• Применение элементов ХР в игровой разработке
– Ранняя демонстрация прогресса проекта – уже через 1..2
месяца от начала разработки
– Отсутствие «мертвых» периодов
– Адаптация по результатам оценки
• Применение элементов MSF в игровой разработке
– Достижение ключевых задач проекта
– Управляемый процесс завершения проекта
Немного о планировании…
• Почему трудно написать дизайн документ (и план)
– Значительный объем
– Много неопределенностей
• Выход - дизайн документ (и план) разрабатывается в
течении всего проекта
– Опережение
– Общая картина
• Milestone – верстовой столб или столб позора?
– Milestone – объективное событие в проекте, как измерение
прогресса к цели
– Хорошо определенный milestone – легко измеряемые
показатели
– «Не доделанная работа – не сделанная работа»
Спасибо!
• Вопросы?
• Если вопросов нет – это или все понятно или не
понятно ничего…