well-made: back to black mesa (practice 2013)
DESCRIPTION
The modern AAA single player first person shooter consists mainly of two things: shooting faces in implausibly realistic levels with a pistol, machine gun, shotgun, sniper rifle, or rocket launcher -- and obeying NPCs when they trap you inside a room so they can emit voiceover lines at you. Half-Life's legacy in the latter is well-mythologized in history, but what if we re-visit Half-Life as a masterpiece of technical design, enemy encounters, AI scripting, weapons tuning, and architecture? Spoiler: we'll find out it's a pretty well-crafted game.TRANSCRIPT
Well-Made:Back to Black Mesa
SLIDES PDF AT: tinyurl.com/backtoblackmesa
Robert Yang (@radiatoryang)NYU Game Center / Parsons MFADT
PRACTICE @ NYU17 November 2013
"When we made the first [Mario 64] prototype, Mario and Luigi were on a flat field. [...] because of hardware limitations we had a choice between cutting Luigi or making more elaborate landforms.
Then, in tears, we had to ask Luigi to leave.”
- Yoshiaki Koizumihttp://iwataasks.nintendo.com/interviews/#/wiiu/super-mario-3d-world/0/0
this is game development
2) Half-Life'slegacy
A NEW FRONTIER IN INTERACTIVE DRAMA
INTERACTIVE STORYTELLING
INNOVATIVE DEEP AMAZING, ART!!
Half-Life, beforereboot in 1997
FOOTNOTE:mythologizingcrunch is gross.
* This is the dev floor at Bungie, which as far as I know, actively tries to avoid crunch instead of scheduling it as part of a “natural part of the development process” like certain other AAA studios... crunch
is of course a complicated topic, the result of poor planning + publisher demands + market forces + blah blah blah... but I thinkthe first step toward fighting it, like a disease, is to stop claiming
that “crunch” is worth it OR that it is inevitable OR honorable?Do you know Guildhall mandates crunch for its game dev students?
Isn't that sad? Learned helplessness? “As a result, The Guildhall was designed to simulate the pace and work style of the games industry. During heavy development periods, students sometimes spend up to twenty hours a day coding, designing, fixing, debugging.”
HALF-LIFE'S LEGACY:depth and diversity
in environmentalstorytelling and
scripted sequences
THE MYSTTHE MYSTOF VIDEO OF VIDEO
GAMESGAMES
3) How to lovea game's guts
and you can too
Diagrams above from:
“Skyrim’s Modular Approachto Level Design”,
GDC 2013, Joel Burgess
““should theshould thenext-gen dumpsternext-gen dumpster
get 2 1024x1024 flats?”get 2 1024x1024 flats?”
important dumpsterimportant dumpsterinnovation questionsinnovation questions
for AAA developersfor AAA developers
YESYES
NO NO NO :(NO NO NO :(
ART HISTORY TO GAMES:ART HISTORY TO GAMES:AAA sandbox / open world =AAA sandbox / open world =
LARGE SWEEPING PASTORALSLARGE SWEEPING PASTORALSeven w/ post-apoc or urban setting,even w/ post-apoc or urban setting,
function / values are the same:function / values are the same:Awe + manifest destinyAwe + manifest destiny
This landscape is big + beautifulThis landscape is big + beautifulAND IT IS OURS?? (*boring!*)AND IT IS OURS?? (*boring!*)
xoxo, Thomas Kinkadexoxo, Thomas Kinkade
Game dev =Code + asset + content +
concept + design + workflow + politics =
transcendence?
4) Black MesaInbound:its legacy
Work commuteNothing happens
Slow, foreshadowingMindblowing!Revolutionary!
Brave!
So one of the programmers on Half-Life created a track train that would move over long distances and turn and pivot [and when he told me about it] the first thing that came to my mind was an actual train. I just took it too literally, and I started thinking in terms of, "What could we do with a train in Half-Life?"
- Marc Laidlaw
5) Black MesaInbound:
func_tracktrains
6) Black MesaInbound:magic inmotion
7) Shark Cage:the setpiece
8) Shark Cage:behavior and
scripting
9) Shark Cage:health, damage,tuning workflow
from /cfg/skill.cfg:// Icthyosaursk_ichthyosaur_health1 "200"sk_ichthyosaur_health2 "200"sk_ichthyosaur_health3 "400"// 9mmhandgun Roundsk_plr_9mm_bullet1 "8"sk_plr_9mm_bullet2 "8"sk_plr_9mm_bullet3 "8"// Crossbowsk_plr_xbow_bolt_monster1 "50"sk_plr_xbow_bolt_monster2 "50"sk_plr_xbow_bolt_monster3 "50"
from dlls/weapons.h:#define CROSSBOW_
DEFAULT_GIVE 5
from /dlls/player.cpp:#define AIRTIME 12
10) TheWell-Made
MadeMade
“THE TECHNICAL”IS RELEVANT TOEVERYONE AND
YOU ARE WRONG IF YOU DISAGREE
AND HERE IS WHY:
"When we made the first [Mario 64] prototype, Mario and Luigi were on a flat field. [...] because of hardware limitations we had a choice between cutting Luigi or making more elaborate landforms.
Then, in tears, we had to ask Luigi to leave.”
- Yoshiaki Koizumihttp://iwataasks.nintendo.com/interviews/#/wiiu/super-mario-3d-world/0/0
(Jack Halberstam)(Jack Halberstam)hand animation:hand animation:
““loopy narrative”, loopy narrative”, small castsmall cast
(Jack Halberstam)(Jack Halberstam)CG animation:CG animation:
Wars, accumulationWars, accumulationInstancing, mobs,Instancing, mobs,Many characters,Many characters,
Geopolitical conflictsGeopolitical conflicts
Dead Island
default_player_setup.scr:
sub Skills_Purna(){[...]Skill(“TeamSpirit2Purna”);Skill(“FeministWhorePurna”);Skill(“MeleeDurabilityPurna”);[...]
}
"The line in question was something a programmer considered a private joke. The skill naturally has a completely different in-game name and the script reference was also changed. What is left is a part of an obscure debug function."
- developer's response
"I found a way to alter the items you get when choosing a chapter."
- a Dead Island modder, on thefunctionality of default_player_setup.scr2+ weeks after release / day one patch
default_player_setup.scr:sub Skills_Purna(){
Skill("TeamSpirit1Purna");Skill("SharpApprenticePurna");Skill("BoostAura1Purna");Skill("GLMeleeDmgPurna");Skill("ElemetalDurationPurna");Skill("ComboCriticalProbPurna");Skill("ElemetalDurationPurna");Skill("MoreCraftedAmmoPurna");Skill("RVTiefPurna");Skill("TSDmgIncrasedPurna");Skill("CraftedWeaponKillFuryPointsPurna");Skill("ChanceToFireUpEnemyPurna");Skill("TeamSpirit2Purna");Skill("FeministWhorePurna");[…]
}
"The line in question was something a programmer considered a private joke. The skill naturally has a completely different in-game name and the script reference was also changed. What is left is a part of an obscure debug function."
- developer's response
“PRIVATE” TO WHO? JUST TOEVERY SINGLEDEVELOPER?
“OBSCURE DEBUG” AS IN “RUN THIS EVERY TIME APLAYER STARTS A NEW GAME”
"... First, we want to establish the idea that a computer language is not just a way of getting a computer to perform operations but rather that it is a novel formal medium for expressing ideas about methodology. Thus, programs must be written for people to read, and only incidentally for machines to execute."
10 PRINT CHR$(205.5+RND(1)); : GOTO 10by Nick Montfort, Patsy Baudoin, John Bell, Ian BogostJeremy Douglass, Mark C. Marino, Michael MateasCasey Reas, Mark Sample, and Noah Vawter (2012)
Criminal Code: Procedural Logic and Rhetorical Excess in Videogamesby Mark Sample (2013)
“Screen essentialism”
" the graphical user interface is …often uncritically accepted as the ground zero of the user’s experience”
- Matthew Kirschenbaum (2008)in “Mechanisms: New Media and the Forensic Imagination”
this is game developmentthis is game developmentcultural, political, social,cultural, political, social,
technical, scientific, technical, scientific, artistic, creative,artistic, creative,diverse, relevantdiverse, relevant
THANKS! @radiatoryangTHANKS! @radiatoryang