Session is strictly aimed at presenting contemporary methods of process management in production of AAA games. It will show some real-life experiences and best practices that were used during the production of 16xDLC’s and “Hearts of Stone” expansion pack for “The Witcher 3: Wild Hunt”. The aim was to increase efficiency, meaning make more in less time.
Sten will tip on how to achieve such result without excruciating crunch or painful scope/quality reduction.
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Better, Faster, Smarter, Witcher. Production tips from The Witcher 3: Wild Hunt – Hearts of Stone
1.
2.
3. BETTER, FASTER, SMARTER, WITCHER. PRODUCTION
TIPS FROM "THE WITCHER 3: WILD HUNT - HEARTS
OF STONE”
STAN JUST
PRODUCER
4.
5.
6.
7. 1. Gathering data
2. Identifying improvements opportunities
3. Designing improvements
4. Executing on the design
5. Control your est. landing dates
6. Examples
7. Examples
8. Examples
AGENDA
15. QUESTIONS
Wrong Better
„Is it possible to…”
„Would it be hard…”
„Could we…”
„How much time would it require to…”
[multiply answer by x2/x3 depending on a person]
„Is it done/finished?”
„Is it ready?”
„When could I review this together with Game Director?”
„What will you be doing
tomorrow?”
„When can we schedule a review of this?”
17. HOW MUCH TIME DO YOU NEED FOR THAT
FEATURE?
WHEN WE WILL HAVE A FINISHED,
SHIPPABLE VERSION OF THAT FEATURE IN
THE GAME?
ABOUT 3 DAYS.
IN 3 MONTHS.
18.
19. ILUSTRATING
PROCESSES Waiting for a script
Waiting for a draft
Draft WIP
Waiting for draft
review
Waiting for alpha
Alpha WIP
Waiting for alpha
review
Waiting for beta Beta WIP
Waiting for beta
review
Debugging/Polishing
WIP
Approved/Closed
5 MD
5 MD
0,5 MD
1 MD 20 MD
1 MD
1 MD
30 MD 1 MD
1 MD
1 MD
0 MD
20. ILUSTRATING
PROCESSES
74%
18%
4% 4%
Process time distribution
Waiting to proceed with
another step
Step WIP
Waiting for a review
Review, debug/polish, other
Blocked by
other dept.
72%
Waiting for an
artist
28%
21. 1. Pipeline optimisation
2. Communication across departments
3. Cross-departmental dependencies
4. Process automation
5. Tools upgrade
PROCESS
IMPROVEMENTS
OPPORTUNITIES
23. DESIGN
IMPROVEMENTS
Problem Reason Need Methods
Animators are often
blocked while waiting
on proper monster
models
Character artists first
priority are the main
characters for the game
pushing monsters further
down the line
Change the
priorities to
prepare monsters
first
1. Convinve stakeholders that they don’t
need main characters so urgently
2. Create proxy / placeholders models
first
24. DESIGN
IMPROVEMENTS
Problem Reason Need Methods
Reviews are forcing many
cutscenes to be reworked
or significantly altered
even after mocap
sessions
Scenes haven’t been
properly reviewed
before mocap
sessions and right
after it
More
reviews on
every step of
the process
1. Create an animatic step between scenarios and
mocap*
2. Review animatics and early integrations in the game
not in Motion Builder
3. Use placeholders when possible (for props and VO!)
4. Use automatic notifications to minimize slack
between stages and streamline communication
*Absence of storyboard step is intentional
25. DESIGN
IMPROVEMENTS
Problem Reason Need Method
Dialogue sequences
require a lot of
adjustments
throughout
production
Multiple changes in
locations,
characters, props,
anims, VOs, quest
Control,
minimize,
anticipate and
plan for changes
1. Integrate uncleaned anims right from mocap
2. Record placeholder VO’s and try to keep
timing
3. Design VO postprocessing early
4. Use automatic notifications about progres
5. Request and integrate placeholder props
early
6. Include larger buffers
*Placeholder VO recordings required a feature
28. MONSTERS INTERDEPARTMENTAL WORKFLOW
Waiting for a
quest request
Brief WIP
Waiting for a
brief review
Waiting for a
concept
Concept WIP
Waiting for a
concept review
Waiting for a
model
Model WIP
Waiting for a
model review
Model
debugging
Waiting for
final anim
pass*
Final anim pass
WIP
Waiting for
final anim pass
review
Anim
debugging
Waiting for
final VFX pass*
Final VFX pass
WIP
Final VFX pass
review
Waiting for
final SFX pass*
Final SFX pass
WIP
Waiting for
final SFX pass
review
Performance
optimisation
Closed /
Approved
*Previous steps done before
29. PROCESS
IMPROVEMENT
EXAMPLES
Project Process change Consequences
W3 base game Priority on main characters; quest
items last
Animators don’t have models delivered on time and need to
adjust gmpl animations and scenes later on
HoS expansion Priority on monsters than main
characters; quest items last
Animators start with a model already done (or at least high-
poly) but cinematics still adjust scenes to final models
BaW expansion Priority on monsters than quest
items placeholders, than main
characters
*Animators start with already done model and cinematics
don’t need to do any further adjustments when final
item/prop is delivered
MONSTERS INTERDEPARTMENTAL WORKFLOW
30. CUTSCENES WORKFLOW
Waiting for a script
Waiting for an
animatic
Animatic WIP
Waiting for
animatic review
Waiting for
alpha/integration
Alpha/integration
WIP
Waiting for
alpha/integration
review
Waiting for beta Beta WIP
Waiting for beta
review
Waiting for facial
animation
Facial animation
WIP
Waiting for facial
animation review
Debugging/Polishi
ng WIP
Approved/Closed
31. PROCESS
IMPROVEMENT
EXAMPLES
Project Process change Consequences
W3 base game Infrequent storyboards; no
placeholders
Saved time on placeholders but lost more
time because of changes done later in the
process
HoS expansion Essential animatics implemented in
the game but without placeholders
Saved time on early reviews of animatics
but lost some time on adaptation to final
assets
BaW
expansion
Essential in-engine animatics +
integration requires placeholders
*Time saving on early reviews & on
adaptation to final assets thanks to
placeholders
CUTSCENES WORKFLOW
32. DIALOGUES WORKFLOW
Waiting for a script
Waiting for a draft
Draft WIP
Waiting for draft
review
Waiting for alpha
Alpha WIP
Waiting for alpha
review
Waiting for beta Beta WIP
Waiting for beta
review
Debugging/Polishing
WIP
Approved/Closed
33. PROCESS
IMPROVEMENT
EXAMPLES
Project Process change Consequences
W3 base
game
Dialogue scenes adjusted significantly after animation
and VO’s are recorded – very late in the proces
Working on any dialogue which is written
Lost of time because of anim + VO adjustment
Scene change after assets are delivered
Location changes forced a lot of adjustments
HoS
expansion
Doubling the amount of people working on animations
to deliver them earlier
Working on scenes which are ready from story and
location side (adjusting blockout with quest designer)
Amount of custom anims caused same lost of
time because of anims + VO adjustment
Scene change after assets are delivered
Location changes were not so often
BaW
expansion
Implementation of raw anims (without cleaning)
Implementation of placeholder VO’s
Better mocap data quality (new cameras)
Location blockouts adjusted by quest + scene team
New PMS notifies us about any change instantly
Dialogues require less adjustments later in the
process
Animation require less cleaning
Location changes are not so often and we
know about them instantly
DIALOGUES WORKFLOW
35. „BACKLOG
CREATION
Geralt goes to a small fort where Olgierd resides. There, the
witcher accepts a contract to kill a monstrous creature that
lives and kills in the Oxenfurt sewers. After reaching his
destination, Geralt runs into Shani, who is currently looking
for a medicinal substance in the sewers.
Location | 22 MD
Secondary character | 28 MD
8x custom bandit | 16 MD
P1 dialogue | 7 MD
Custom creature | 35 MD
Custom bossfight | 80 MD
Level design | 8 MD
Secondary character | 28 MD
P2 cutscene | 11 MD
Musi być śmiesznie/śmiesznawo
Musza być foty lub filmiki – np. pompki płotki
Musi być przydatnie
Czy coś dodawać o metodach optymalizacji procesów? (MBA stuff?)
1.Gathering data – postmortems, obserwation, talks, ask questions (how to ask and how NOT to ask questions), always doubt something; czemu ktoś zrobił tak a nie inaczej
2. Analiza – zastanawianie się gdzie tracimy czas i co dałoby się zoptymalizować. Generalnie każda czynność niekreatywna może być zautomatyzowana- edytor dialogów z gestami/akcentami, aktualizowanie statusów przy aktualizacji; co zabiera najwięcej czasu; czasami to może być w formie wykresu (% ile czasu na cos nam schodzi) lub skomplikowania procesu, który przechodzimy mimo, ze nigdy nikt tego nie spisal/zilustrowal (proces zawsze istnieje! Jeśli ktoś mówi, ze nie ma procesu to prawdopodobnie znaczy, ze da się go ulepszyć!)
Zaprojektowanie systemu pipeline’u / procesu, który ma zwiększyć jakość – konkrety, czy to będą spotkania, czy automatyzacja, jak to planujemy zrobić czy w to wszyscy wejdą, ile to kosztuje, praktyka=prostota
Execution, żaden plan się nie powiedzie jeśli się go nie wypełni prawidłowo, a zazwyczaj są z tym problemy, bo ludzie się boją nowego, trzeba ich uczyć itp.
Results
Musi być śmiesznie/śmiesznawo
Musza być foty lub filmiki – np. pompki płotki
Musi być przydatnie
Czy coś dodawać o metodach optymalizacji procesów? (MBA stuff?)
1.Gathering data – postmortems, obserwation, talks, ask questions (how to ask and how NOT to ask questions), always doubt something; czemu ktoś zrobił tak a nie inaczej
2. Analiza – zastanawianie się gdzie tracimy czas i co dałoby się zoptymalizować. Generalnie każda czynność niekreatywna może być zautomatyzowana- edytor dialogów z gestami/akcentami, aktualizowanie statusów przy aktualizacji; co zabiera najwięcej czasu; czasami to może być w formie wykresu (% ile czasu na cos nam schodzi) lub skomplikowania procesu, który przechodzimy mimo, ze nigdy nikt tego nie spisal/zilustrowal (proces zawsze istnieje! Jeśli ktoś mówi, ze nie ma procesu to prawdopodobnie znaczy, ze da się go ulepszyć!)
Zaprojektowanie systemu pipeline’u / procesu, który ma zwiększyć jakość – konkrety, czy to będą spotkania, czy automatyzacja, jak to planujemy zrobić czy w to wszyscy wejdą, ile to kosztuje, praktyka=prostota
Execution, żaden plan się nie powiedzie jeśli się go nie wypełni prawidłowo, a zazwyczaj są z tym problemy, bo ludzie się boją nowego, trzeba ich uczyć itp.
Results
Initial vs actual
Question everything
Ishikawa diagram
<łańcuch ze stepami i ilością czasu poświęconą na każdy z nich>
Change in pririties
Change in work distribution/order
Change in order of steps (when reviews should occur)
Usually proces optimisations possibilities can be found across departments which may be difficult to introduce
Pomysl jest taki, żeby pokazac w teorii ten proces, czyli skąd się wzięły te pomysły na charactersy, dialogi, strike teamy (questy) i cutsceny
Communication across departments, e.g. strike-teams
Cross-departmental dependencies, e.g. placeholder; different priorities
Process automation, e.g. reassing done automatically after adding info in request
Tools upgrade, e.g. software and hardware
Pomysl jest taki, żeby pokazac w teorii ten proces, czyli skąd się wzięły te pomysły na charactersy, dialogi, strike teamy (questy) i cutsceny
Communication across departments, e.g. strike-teams
Cross-departmental dependencies, e.g. placeholder; different priorities
Process automation, e.g. reassing done automatically after adding info in request
Tools upgrade, e.g. software and hardware
Pomysl jest taki, żeby pokazac w teorii ten proces, czyli skąd się wzięły te pomysły na charactersy, dialogi, strike teamy (questy) i cutsceny
Communication across departments, e.g. strike-teams
Cross-departmental dependencies, e.g. placeholder; different priorities
Process automation, e.g. reassing done automatically after adding info in request
Tools upgrade, e.g. software and hardware
Execution is the key
Remind everybody all the time what’s the risk and why we are doing this
EXAMPLES
Characters proces change
W3 – main characters -> mistake: animations had trouble
HoS – monsters -> animations may progres
BaW – monsters + placeholders for cinematics -> animations and cs can progress
EXAMPLES
Characters proces change
W3 – main characters -> mistake: animations had trouble
HoS – monsters -> animations may progres
BaW – monsters + placeholders for cinematics -> animations and cs can progress
EXAMPLES
Characters proces change
W3 – main characters -> mistake: animations had trouble
HoS – monsters -> animations may progres
BaW – monsters + placeholders for cinematics -> animations and cs can progress
EXAMPLES
Cutscenes proces change
Infrequent storyboards -> story changed
Essential animatics in the game to adjusted story -> no placeholders e.g. VO
Animatics with proper placeholders based on together created story, e.g. VO’s in engine
EXAMPLES
Characters proces change
W3 – main characters -> mistake: animations had trouble
HoS – monsters -> animations may progres
BaW – monsters + placeholders for cinematics -> animations and cs can progress
How are we creating backlogs?
-> Getting the script -> examples’ USER STORY
-> Translating to MD – basic on past, on pipeline, partly involves dependencies
-> calculating landing dates with buffers = gives you info when we should land if we organize it right?
-> adjust calculations through dependencies and setup milestones? *here is the part that we work on the most currently
How are we creating backlogs?
-> Getting the script -> examples’ USER STORY
-> Translating to MD – basic on past, on pipeline, partly involves dependencies
-> calculating landing dates with buffers = gives you info when we should land if we organize it right?
-> adjust calculations through dependencies and setup milestones? *here is the part that we work on the most currently
How are we creating backlogs?
-> Getting the script -> examples
-> Translating to MD – basic on past, on pipeline, partly involves dependencies
-> calculating landing dates with buffers = gives you info when we should land if we organize it right?
-> adjust calculations through dependencies and setup milestones? *here is the part that we work on the most currently
How are we creating backlogs?
-> Getting the script -> examples
-> Translating to MD – basic on past, on pipeline, partly involves dependencies
-> calculating landing dates with buffers = gives you info when we should land if we organize it right?
-> adjust calculations through dependencies and setup milestones? *here is the part that we work on the most currently
How are we creating backlogs?
-> Getting the script -> examples
-> Translating to MD – basic on past, on pipeline, partly involves dependencies
-> calculating landing dates with buffers = gives you info when we should land if we organize it right?
-> adjust calculations through dependencies and setup milestones? *here is the part that we work on the most currently