Разделы презентаций


Профессия GAMEPLAY ПРОГРАММИСТА ОСОБЕННОСТИ РАБОТЫ НА aaa ПРОЕКТЕ

Содержание

ABOUT ME: ALEXANDER BALAKSHINСтарший инженер программист в компании Sperasoft, a Keywords studioВ игровой индустрии с 2014 годаИмеется опыт работы со следующими технологиями: Unity, Unreal engine, Anvil, Havok, WwiseС мая 2016 года

Слайды и текст этой презентации

Слайд 1Профессия GAMEPLAY ПРОГРАММИСТА
ОСОБЕННОСТИ РАБОТЫ НА aaa ПРОЕКТЕ

Профессия GAMEPLAY ПРОГРАММИСТАОСОБЕННОСТИ РАБОТЫ НА aaa ПРОЕКТЕ

Слайд 2ABOUT ME: ALEXANDER BALAKSHIN
Старший инженер программист в компании Sperasoft, a

Keywords studio

В игровой индустрии с 2014 года

Имеется опыт работы со

следующими технологиями: Unity, Unreal engine, Anvil, Havok, Wwise

С мая 2016 года по июль 2018 оказывал значительный вклад в сезонные обновления Rainbow six: siege сначала в качестве геймплей программиста, а в последствии как лида геймплей команды.

ABOUT ME: ALEXANDER BALAKSHINСтарший инженер программист в компании Sperasoft, a Keywords studioВ игровой индустрии с 2014 годаИмеется

Слайд 3О компании
14 лет на рынке gamedev
Основана в 2004 году: 5

офисов в 3 странах
400+
Профессионалов в команде
60+
Проектов, включая ААА игры

О компании14 лет на рынке gamedevОснована в 2004 году: 5 офисов в 3 странах400+Профессионалов в команде60+Проектов, включая

Слайд 4Sperasoft является частью Keywords Studios
Международного поставщика технических услуг для индустрии

глобальных видеоигр

Sperasoft является частью Keywords StudiosМеждународного поставщика технических услуг для индустрии глобальных видеоигр

Слайд 5Кто делает игру

Кто делает игру

Слайд 6Современная ААА игра это труд сотен специалистов из самых различных

направлений

Современная ААА игра это труд сотен специалистов из самых различных направлений

Слайд 7Кто делает игру
Production:
Game designers
Level designers
Art:
Concept artists
Level and environment artists
Character artists
Technical

artists
Animators
etc
Audio designers
Community managers
Analytics
Management
Project managers
Team leads
Technical, art and game directors

Кто делает игруProduction:Game designersLevel designersArt:Concept artistsLevel and environment artistsCharacter artistsTechnical artistsAnimatorsetcAudio designersCommunity managersAnalyticsManagementProject managersTeam leadsTechnical, art and

Слайд 8Кто делает игру: engineering
System engineers
Render engineer
Network engineers
Physics programmers
Animation programmers
Tools engineers
UI

engineers
QA engineer

….

Gameplay engineer

Кто делает игру: engineeringSystem engineersRender engineerNetwork engineersPhysics programmersAnimation programmersTools engineersUI engineersQA engineer….Gameplay engineer

Слайд 9Gameplay engineer
Обязанность геймплей-инженера – связать все созданные системы и ресурсы

воедино, чтобы получить игру.

Gameplay engineerОбязанность геймплей-инженера – связать все созданные системы и ресурсы воедино, чтобы получить игру.

Слайд 10GAMEPLAY ENGINEER: WHAT HE/SHE is Actually doing
Enemies and NPC (AI)

Quest

systems

Mini-games

….

Everything that makes game a game 
Player control and movement

Weapons

(hitscan, projectiles)

Various buffs and debuffs

Traps

Vehicles

GAMEPLAY ENGINEER: WHAT HE/SHE is Actually doingEnemies and NPC (AI)Quest systemsMini-games….Everything that makes game a game Player

Слайд 11Какие навыки нужны

Какие навыки нужны

Слайд 12Какие навыки нужны: АНГЛИЙСКИЙ ЯЗЫК
Большинство книг, ресурсов и документации доступны

только на английском.

Большие проекты делаются усилиями многонациональных команд, где данный

язык — универсальное и порой единственное средство коммуникации.
Какие навыки нужны: АНГЛИЙСКИЙ ЯЗЫКБольшинство книг, ресурсов и документации доступны только на английском.Большие проекты делаются усилиями многонациональных

Слайд 13Какие навыки нужны: Фундаментальные науки
Как правило игра — это в

той или иной степени математическая модель

Линейная алгебра — необходимо для

определения положения и ориентации в пространстве

Физика — когда встроенного физического движка недостаточно

Теория вероятности

Прочие разделы: численные методы, теория сигналов и т.д. как также могут оказать полезными.
Какие навыки нужны: Фундаментальные наукиКак правило игра — это в той или иной степени математическая модельЛинейная алгебра

Слайд 14Какие навыки нужны: ЛИНЕЙНАЯ АЛГЕБРА (ПРИМЕР)
O – сопло огнемета
d –

направление
L – максимальная дальность
α – угол раствора «раструба»
A1, A2, …

AN – координаты врагов
Какие навыки нужны: ЛИНЕЙНАЯ АЛГЕБРА (ПРИМЕР)O – сопло огнеметаd – направлениеL – максимальная дальностьα – угол раствора

Слайд 15Какие навыки нужны: ЯЗЫКИ программирования
Производительность – близость к «железу», контроль

доступа к ресурсам

Открытость стандарта, наличие различных компиляторов, в том числе

и под главные целевые платформы (PC, XONE, PS4)

Мультипарадигмальность (ООП, обобщенное программирование, функционально программирование)

Большое количество библиотек и различных фреймворков

Де-факто стандарт в индустрии
Какие навыки нужны: ЯЗЫКИ программированияПроизводительность – близость к «железу», контроль доступа к ресурсамОткрытость стандарта, наличие различных компиляторов,

Слайд 16Какие навыки нужны: COMPUTER ARCHITECTURE
При разработке ААА игр большое внимание

уделяется производительности.

Будет хорошо, если вы будете в курсе про

data и instruction cache, а также cache misses

Будет прекрасно, если вы сможете в assembly.

НО вам как минимум стоит иметь представление о том сколько «инструкций» стоит за той или иной операцией


Какие навыки нужны: COMPUTER ARCHITECTUREПри разработке ААА игр большое внимание уделяется производительности. Будет хорошо, если вы будете

Слайд 17Какие навыки нужны: COMPUTER ARCHITECTURE (Пример)

Какие навыки нужны: COMPUTER ARCHITECTURE (Пример)

Слайд 18Какие навыки нужны: game engines
Познакомьтесь хотя бы с одним из

доступных игровых движков…

Какие навыки нужны: game enginesПознакомьтесь хотя бы с одним из доступных игровых движков…

Слайд 19Какие навыки нужны: game engines
…и попутно прочтите эту книгу
Всеобъемлющий труд

затрагивающий каждый аспект разработки игр, начиная с основ.

Автор – один

из участников разработки серии игра Uncharted и Last Of Us

Является хорошим подспорьем при работе с проприетарными движками

Позволяет посмотреть на различные подходы к разработке
Какие навыки нужны: game engines…и попутно прочтите эту книгуВсеобъемлющий труд затрагивающий каждый аспект разработки игр, начиная с

Слайд 20Какие навыки нужны: Communication is the key
Всегда старайтесь максимально четко

понимать требования.

Ищите разные подходы к решению задачи — не

только со стороны кода, но и посредством изменения различных данных (анимаций, эффектов, и т.д.)

Не стесняйтесь задавать вопросы коллегам.
Какие навыки нужны: Communication is the keyВсегда старайтесь максимально четко понимать требования. Ищите разные подходы к решению

Слайд 21Особенности ааа проекта

Особенности ааа проекта

Слайд 22{

Прототипирование

Производство
Полировка
Особенности ааа проекта: 3П

{3ППрототипирование ПроизводствоПолировкаОсобенности ааа проекта: 3П

Слайд 23Особенности ааа проекта: ПроТОТИПИРОВАНИЕ
Главная цель – доказать работоспособность и играбельность

идеи и снизить риски переделок во время следующих фаз

Проверка на

производительность

Максимально короткие итерации

Block out или placeholder’s в качестве ассетов

Как правило все сделанное во время прототипа выбрасывается

В конце фазы можно задуматься об архитектуре
Особенности ааа проекта: ПроТОТИПИРОВАНИЕГлавная цель – доказать работоспособность и играбельность идеи и снизить риски переделок во время

Слайд 24Особенности ааа проекта: ПроТОТИПИРОВАНИЕ (ПРИМЕР)
Допустим вы делаете ловушку-приманку, которая дублирует

игрока в PvP игре

Идея доказывает свою играбельность при простом подходе

(скопировать игрока), но есть проблемы с производительностью (анимации, тени)

Нужно найти баланс между достоверностью и перфомансом
Особенности ааа проекта: ПроТОТИПИРОВАНИЕ (ПРИМЕР)Допустим вы делаете ловушку-приманку, которая дублирует игрока в PvP игреИдея доказывает свою играбельность

Слайд 25Особенности ааа проекта: ПРОИЗВОДСТВО
Реализация утвержденного функционала. Всех основных и support

механик.

Качество кода и архитектура имеет значение

Появляются финальные ассеты

Major bugs fixing

Возможны

изменения. Порой весьма серьезные


Особенности ааа проекта: ПРОИЗВОДСТВОРеализация утвержденного функционала. Всех основных и support механик.Качество кода и архитектура имеет значениеПоявляются финальные

Слайд 26Особенности ааа проекта: ПОЛИРОВКА
Сервисный функционал (аналитика)

Major and minor bugs fixing

Особенности ааа проекта: ПОЛИРОВКАСервисный функционал (аналитика)Major and minor bugs fixing

Слайд 27Особенности ааа проекта: готовность к изменениям
Требования к задаче или фиче

могут меняться радикально в том числе и прямо накануне релиза

Не

переусложняйте (Don’t overengineer)

Старайтесь проектировать свои изменения так, чтобы их можно было максимально быстро и безболезненно убрать из проекта

Не принимайте все близко к сердцу.
Особенности ааа проекта: готовность к изменениямТребования к задаче или фиче могут меняться радикально в том числе и

Слайд 28Особенности ааа проекта: DATA DRIVEN DEVELOPMENT
В типичном AAA проекте гигантский

объем данных.

Из этих данных как из конструктора собирается готовая

игра

Многие фичи можно реализовать путем копирования, изменения и комбинирования уже существующих данных.

Иногда лучше реализовывать не конченую фичу, а своего рода конструктор, который дизайнер может настроить под себя

Особенности ааа проекта: DATA DRIVEN DEVELOPMENTВ типичном AAA проекте гигантский объем данных. Из этих данных как из

Слайд 29Особенности ааа проекта: ПРОПРИЕТАРНЫЕ ТЕХНОЛОГИИ
В AAA проектах используются свои проприетарные

игровые движки и технологии

Иногда они становятся доступны массовому рынку

(Unreal engine, CryEngine)

Минусы:
Стабильность и удобство могут отставать от рыночных аналогов

Плюсы
Можно докопаться до самых корней

Особенности ааа проекта: ПРОПРИЕТАРНЫЕ ТЕХНОЛОГИИВ AAA проектах используются свои проприетарные игровые движки и технологии Иногда они становятся

Слайд 30Особенности ааа проекта: THIRD PARTY РЕШЕНИЯ
Несмотря на максимальное количество внутристудийных

технологий, иногда весьма активно используются сторонние решения и инструменты
Havoc, PhysX
WWISE
Scaleform

Это

позволяет сгладить кривую обучения у опытных специалистов, когда они приходят на новый проект

Особенности ааа проекта: THIRD PARTY РЕШЕНИЯНесмотря на максимальное количество внутристудийных технологий, иногда весьма активно используются сторонние решения

Слайд 31Особенности ааа проекта: ЦЕЛЕВЫЕ ПЛАТФОРМЫ
Основными платформами являются консоли текущего поколения

и ПК

Большую часть выручки дают консоли (PS4 – 50%, XONE

– 40%)

Оптимизация идет прежде всего под эти платформы

Это накладывает серьезные ограничения (бюджеты по памяти, ресурсам и прочее)

Особенности ааа проекта: ЦЕЛЕВЫЕ ПЛАТФОРМЫОсновными платформами являются консоли текущего поколения и ПКБольшую часть выручки дают консоли (PS4

Слайд 32Особенности ааа проекта: coding
Следуйте code conventions (иногда, к сожалению, не

формализованным)

Не бойтесь работать с большой кодовой базой. Используйте IntelliSense, VAssistX

и полнотекстовый поиск.

Не будьте перфекционистом – найдите баланс между «красотой» реализации и ее сроками, а также сложностью поддержки

Отмечайте технический долг в коде (//TODO)
Особенности ааа проекта: codingСледуйте code conventions (иногда, к сожалению, не формализованным)Не бойтесь работать с большой кодовой базой.

Слайд 33Особенности ааа проекта: LEGACY
Как правило вам предстоит работать с уже

существующей кодовой базой

Это накладывает некоторые ограничения на возможные решения (в

особенности в live проекте)

При работе с ней, постарайтесь связаться с авторами

При внесении изменений, согласуйте предварительно архитектуру
Особенности ааа проекта: LEGACYКак правило вам предстоит работать с уже существующей кодовой базойЭто накладывает некоторые ограничения на

Слайд 34Особенности ааа проекта: code review
Используйте специализированные решения: SWARM, Code collaborator,

Crucible

Пишите развернутое описание измений.

Старайтесь, чтобы в ревью было минимум

2 человека. Не стесняйтесь добавлять больше людей при необходимости
Особенности ааа проекта: code reviewИспользуйте специализированные решения: SWARM, Code collaborator, CrucibleПишите развернутое описание измений. Старайтесь, чтобы в

Слайд 35Особенности ааа проекта: работа с qa engineers
Просите проверять не только

реализованный функционал, но и потенциально задетые системы

Не стесняйтесь запрашивать повторное

тестирование — например, в случае значительных изменений в процессе ревью.

На стесняйтесь привлекать большее количество людей к тестам

Если код зависит от данных, старайтесь проверять его стабильность равно как с этими данными, равно так и без.


Особенности ааа проекта: работа с qa engineersПросите проверять не только реализованный функционал, но и потенциально задетые системыНе

Слайд 36Особенности ааа проекта: LOG your work
Работайте над задачами, требования по

которым оформлены письменно (mail, documentation, sharepoint, etc.)

Используйте таск треккер (JIRA,

redmine, etc.) Фиксируйте свой прогресс и оставляйте при необходимости комментарии в задачах.

Старайтесь поддерживать документацию
Особенности ааа проекта: LOG your workРаботайте над задачами, требования по которым оформлены письменно (mail, documentation, sharepoint, etc.)Используйте

Слайд 37Особенности ааа проекта: нетоКсичность
Уважайте труд ваших коллег. Равно как текущих,

равно так и предшествующих

Критика должна быть конструктивной

Помните, игра делается не

одним человеком. Стремитесь сохранить благоприятную атмосферу в коллективе.
Особенности ааа проекта: нетоКсичностьУважайте труд ваших коллег. Равно как текущих, равно так и предшествующихКритика должна быть конструктивнойПомните,

Слайд 38Особенности ааа проекта: HAVE FUN!

Особенности ааа проекта: HAVE FUN!

Слайд 39Спасибо за внимание
Q & A

Спасибо за вниманиеQ & A

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика