Разработка игр в небольшой компании
TRANSCRIPT
Приветствие
Команда побеждает конфликты
Кревенец Евгений
(aka Hyzhak) (ведущий программист)
Данила Долгошапко
(aka ТРЕНЕР)(гейм дизайнер)
Введение
• «Драйвовая» игра
• Конфликты
– Конфликт — ситуация, в которой каждая из сторон стремится занять позицию, несовместимую и противоположную по отношению к интересам другой стороны. Конфликт — особое взаимодействие индивидов, групп, объединений которые возникают при их несовместных взглядах, позициях и интересах (Википедия).
• Проблемы
• Растягивание сроков
• Недовольство руководства и команды
Предпосылки
• GamezHero.com = developer + publisher;
• Мы выросли: было 3, стало 14;
• 6-месяцев разработка игры;
• ТЗ: «Нужна игра похожая на X»;
• Нет общего виденья продукта;
• Добавление фич и настраиваемых элементов под конец продукта;
• «Гибкая разработка без технологии»;
Команда. Роли
• Продюсер
• Гейм-дизайнер
• Ведущий аниматор (lead animator)
• Ведущий программист (lead programmer)
• Аниматор
• Программист
• Музыкант
Долгий путь проекта
• Подготовительный этап (What this?!)
• Старт-проекта (Pre-Production)
• Производство (Production)
• Релиз (Release)
• Итоги (Post-Mortem)
ГеймДизайнер vs Хаос
• Зачем геймдизайнер нужен, мнение продюсеров и заказчиков на этот счет
• Начало разработки проекта - от идеи к диздоку. Участие програмеров и артистов на данном этапе
• Участие в разработке всех кому не лень или почему полезно выяснить кто за что несет ответственность и кто где главный
Конфликты• Связанность задач
• Коммуникация
• Авто-Тестирование (билд игры)
• Недостаточная увлеченность
• Изменение проекта
• Обучение (квалификация)
• Research & Development (либо затраты на сторонние лицензии)
• Планирование (управление рисками, оценка сложности операций)
Наше решение. «Серебряная пуля»
• Процесс
• Документация
• Ранее решение конфликтов
Раннее разрешение конфликтов IОрганизация
• Планирование
– Task-tracker;
– Wiki-документация;
• Коммуникация
– Scrum : Demo meeting, Retrospective Meeting, anning Meeting, Daily Scrum;
• Изменение проекта
– Все новые фичи в «хранилище идей»;
– Если нет, – оценим сколько ее делаться;
• Недостаточная увлеченность
– Что действительно интересно;
– «Хранилище идей»;
– Credits;
• Обучение
– поощрять быстрое обучение;
Раннее разрешение конфликтов IIТехника
• Связанность задач
– «интерфейс» аниматор-программист;
– «интерфейс» дизайнер-программист;
– Компонентная архитектура;
• Авто-Тестирование
– Каждый может запустить актуальный билд игры;
• Research & Development (или затраты на сторонние лицензии)
– Оценка проектов (чужик, своих, PostMortem, кристаллизация фич);
– Освоение новых технологий;
ПроцессЗарождение игры - Подготовительный этап
• Продюсер дает направления для Геймдизайнера (актуальная тематика)
• Гейм-дизайнер создает диз-док игрушки
• Консультация
ПроцессИгра на «бумаге» - Старт проекта (Pre-production)
• Лид-программист + Лид-аниматор (в сотрудничестве с Гейм-Дизайнером) переводят диз-док в задачи. Задачи распределяются таким образом чтобы связанные задачи растянуть максимум по времени (система task tracking);
• Лид-аниматор стилистика проекта (wiki);
• Лид-программист разрабатывает архитектуру проекта (UML, wiki);
• Лид-программист тестирует критические фичи игры;
ПроцессПроизводство (Production)• Старт
– Аниматор: Скетчи;
– Программист: Создание «интерфейсов» (настройка среды для разработки);
• База
– Аниматор : Игровая графика;
– Программист : Создание базового движка и игровой графики;
• Наращивание функционала
– Аниматор : Игровая графика, UI;
– Программист: Весь дополнительный функционал;
– Гейм-дизайнер: Тестирование фич, наброски уровней;
• Финальная сборка
– Аниматор : Игровая графика, UI;
– Гейм-дизайнер: Игровой баланс, создание уровней;
– Программист: Финальное тестирование;
ПроцессПроизводство (Production) — Начало
Начало– Аниматор: Скетчи;
– Программист: Создание «интерфейсов» и предметной области;
ПроцессПроизводство (Production) – База
Основание– Аниматор : Игровая
графика;
– Программист : Создание базового движка (главные фичи и «скелет»);
ПроцессПроизводство (Production) – Нарастить мясо
Наращивание функционала– Аниматор :
Игровая графика, анимация, UI;
– Программист: Весь дополнительный функционал;
– Гейм-дизайнер: Тестирование фич, наброски уровней;
ПроцессПроизводство (Production) – Финал
Финальная сборка– Аниматор : UI;
– Гейм-дизайнер: Игровой баланс, создание уровней;
– Программист: Финальное тестирование, Сборка;
ПроцессРелиз (Release) и Итоги (Post-Mortem)
• подведение итогов проекта
• идеи, заделы на другие проекты
– игровые заделы;
– наращивание движка;
– паттерны проектирования, корректировка процесса разработки;
Спасибо за внимание
• Вопросы
• «Серебряная пуля»
• Перед тем задавать вопрос представитесь пожалуйста
• Спасибо =)