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 – легко измеряемые показатели – «Не доделанная работа – не сделанная работа» Спасибо! • Вопросы? • Если вопросов нет – это или все понятно или не понятно ничего…