77
What Would Blizzard Do? Nick Prühs

What Would Blizzard Do

Embed Size (px)

Citation preview

Page 1: What Would Blizzard Do

What WouldBlizzard

Do?

Nick Prühs

Page 2: What Would Blizzard Do

About Me

“Best Bachelor“ Computer ScienceKiel University, 2009

Master GamesHamburg University of Applied Sciences,2011

Lead ProgrammerDaedalic Entertainment, 2011-2012

Co-Founderslash games, 2013

Microsoft MVP2015

2 / 79

Page 3: What Would Blizzard Do
Page 4: What Would Blizzard Do
Page 5: What Would Blizzard Do
Page 6: What Would Blizzard Do
Page 7: What Would Blizzard Do

Gameplay First

7 / 60

Erich Schaefer. Postmortem: Blizzard's Diablo II. http://www.gamasutra.com/view/feature/131533/postmortem_blizzards

_diablo_ii.php

“First, we make the game playable as soon as possiblein the development process. Our initial priority was toget a guy moving around on the screen and hackingmonsters. This is what players would be doing most ofthe time, and it had to be fun.”

Page 8: What Would Blizzard Do

Gameplay First

8 / 79

Page 9: What Would Blizzard Do

Gameplay First

Excel CSV XML Game

9 / 79

Page 10: What Would Blizzard Do

Commit To Quality

10 / 60

Erich Schaefer. Postmortem: Blizzard's Diablo II. http://www.gamasutra.com/view/feature/131533/postmortem_blizzards

_diablo_ii.php

“The task of testing a game of Diablo II's scope, with itshuge degree of randomness and its nearly infinitecharacter skill and equipment paths, required aHerculean effort. […] Would a party of five Paladins,each using a different defensive aura, be untouchable?After more than 100 hours of play, is a fire-basedSorceress unable to continue in Hell Mode?”

Page 11: What Would Blizzard Do
Page 12: What Would Blizzard Do
Page 13: What Would Blizzard Do
Page 14: What Would Blizzard Do
Page 15: What Would Blizzard Do
Page 16: What Would Blizzard Do

Every Voice Matters

16 / 79

Page 17: What Would Blizzard Do

Every Voice Matters

17 / 79

Page 18: What Would Blizzard Do

Every Voice Matters

18 / 79

This is okay. (Endboss)

Page 19: What Would Blizzard Do

Every Voice Matters

19 / 79

This is not. (Intermediate level)

Page 20: What Would Blizzard Do

Because you wouldn't usea screwdriver on a nail...

20 / 60

StarCraft II Galaxy Editor

Page 21: What Would Blizzard Do

Because you wouldn't usea screwdriver on a nail...

21 / 60

StarCraft II Galaxy Editor

Page 22: What Would Blizzard Do

Because you wouldn't usea screwdriver on a nail...

22 / 60

StarCraft II Galaxy Editor

Page 23: What Would Blizzard Do

Because you wouldn't usea screwdriver on a nail...

23 / 60

StarCraft II MakeCombat

Page 24: What Would Blizzard Do

Because you wouldn't usea screwdriver on a nail...

24 / 60

Erich Schaefer. Postmortem: Blizzard's Diablo II. http://www.gamasutra.com/view/feature/131533/postmortem_blizzards

_diablo_ii.php

“In many cases we created tools to speed up contentcreation, but then abandoned them. Too often, wedecided to keep using inferior tools because we thoughtwe were almost done with the game, and didn't wantto take the time to improve them.Unfortunately, in most of these cases, we were notreally almost done with the game.“

Page 25: What Would Blizzard Do

Genre Standards

25 / 60

StarCraft II Screenshot

Page 26: What Would Blizzard Do

Genre Standards

26 / 60

StarCraft II Screenshot

Page 27: What Would Blizzard Do

Genre Standards

27 / 60

StarCraft II Screenshot

Page 28: What Would Blizzard Do

Genre Standards

28 / 60

StarCraft II Screenshot

Page 29: What Would Blizzard Do

Genre Standards

29 / 60

StarCraft II Screenshot

Page 30: What Would Blizzard Do

Genre Standards

30 / 60

StarCraft II Screenshot

Page 31: What Would Blizzard Do

Genre Standards

31 / 60

StarCraft II Screenshot

Page 32: What Would Blizzard Do

Genre Standards

32 / 60

StarCraft II Screenshot

Page 33: What Would Blizzard Do

Genre Standards

33 / 60

Unreal Tournament 3 Splash Screen

Page 34: What Would Blizzard Do

Genre Standards

34 / 60

Unreal Tournament 3 Login Screen

Page 35: What Would Blizzard Do

Genre Standards

35 / 60

Hostile Worlds Screen Transitions

Page 36: What Would Blizzard Do

Genre Standards

36 / 60

Steam Server Browser

Page 37: What Would Blizzard Do

Genre Standards

37 / 60

WarCraft III Lobby

Page 38: What Would Blizzard Do

Genre Standards

38 / 60

WarCraft III Loading Screen

Page 39: What Would Blizzard Do

Genre Standards

39 / 60

WarCraft III Score Screen

Page 40: What Would Blizzard Do

Genre Standards

40 / 60

StarCraft II Options Screen

Page 41: What Would Blizzard Do

Open Game Sources

41 / 60

Doom 3 GPL Release on GitHub

Page 42: What Would Blizzard Do

Open Game Sources

42 / 60

Blizzard on GitHub

Page 43: What Would Blizzard Do

Open Game Sources

43 / 60

Blizzard QT on GitHub

Page 44: What Would Blizzard Do

Open Game Sources

44 / 60

Blizzard Premake on GitHub

Page 45: What Would Blizzard Do

Project Structure

45 / 60

Windows 10 - System32 Folder

Page 46: What Would Blizzard Do

Project Structure

46 / 60

> 3000 Libraries

Page 47: What Would Blizzard Do
Page 48: What Would Blizzard Do

Project Structure

48 / 60

Hearthstone Asset Bundles

Page 49: What Would Blizzard Do

Project Structure

49 / 60

Hearthstone Data Files

Page 50: What Would Blizzard Do

Project Structure

50 / 60

StarCraft II “Mods”

Page 51: What Would Blizzard Do

Project Structure

51 / 60

StarCraft Game Folder Size

Page 52: What Would Blizzard Do

Project Structure

52 / 60

StarCraft MPQ Files

Page 53: What Would Blizzard Do

Data Structure

53 / 60

https://en.wikipedia.org/wiki/MPQ

MPQ (Mo'PaQ, short for Mike O'Brien Pack, named after its creator[citation

needed]), is an archiving file format used in several of Blizzard Entertainment's games.MPQs used in Blizzard's games generally contain a game's data files, including graphics, sounds, and level data. The format's capabilities include compression, encryption, file segmentation, extensible file metadata, cryptographic signature and the ability to store multiple versions of the same file for internationalization and platform-specific differences. MPQ archives can use a variety of compression algorithms which may also be combined.

Page 54: What Would Blizzard Do

Data Structure

54 / 60

Hearthstone Localization Files (GAMEPLAY.txt)

TAG TEXT COMMENT

GAMEPLAY_COIN_TOSS_LOST You get an extra card

GAMEPLAY_COIN_TOSS_WON You go first

GAMEPLAY_FATIGUE_TITLE Fatigue

GAMEPLAY_FATIGUE_TEXT Out of cards! Take {0} damage.

GAMEPLAY_FATIGUE_HISTORY_TEXT Trying to draw from an empty deck

deals increasing damage to your hero.

GAMEPLAY_END_TURNEND TURN

GAMEPLAY_ENEMY_TURN ENEMY TURN

GAMEPLAY_YOUR_TURN Your Turn

GAMEPLAY_ERROR_PLAY_REJECTED Too late! Your turn is over.

GAMEPLAY_MOBILE_BATTLECRY_CANCELED Battlecry canceled.

GAMEPLAY_MANA_COUNTER {0}/{1} 0=unused mana 1=current total mana

Page 55: What Would Blizzard Do

Data Structure

55 / 60

Hearthstone Data Files (BOARD.xml)

<?xml version="1.0" encoding="UTF-8"?><Dbf><Column name="ID" type="Int" /><Column name="NOTE_DESC" type="String" /><Column name="PREFAB" type="AssetPath" /><Record><Field column="ID">1</Field><Field column="PREFAB">Assets/Game/Boards/STW/STW</Field><Field column="NOTE_DESC">Stormwind</Field></Record><Record><Field column="ID">2</Field><Field column="PREFAB">Assets/Game/Boards/ORG/ORG</Field><Field column="NOTE_DESC">Orgrimmar</Field></Record>

Page 56: What Would Blizzard Do

Log Files

56 / 60

Hearthstone Log File

Platform assembly:

D:\Games\Hearthstone\Hearthstone_Data\Managed\ICSharpCode.SharpZipLib.dll (this

message is harmless)

Loading D:\Games\Hearthstone\Hearthstone_Data\Managed\ICSharpCode.SharpZipLib.dll

into Unity Child Domain

Platform assembly: D:\Games\Hearthstone\Hearthstone_Data\Managed\PlayMaker.dll

(this message is harmless)

Loading D:\Games\Hearthstone\Hearthstone_Data\Managed\PlayMaker.dll into Unity

Child Domain

Page 57: What Would Blizzard Do

Log Files

57 / 60

League of Legends Log File

Function: Spell::Effect::SpellFXRenderer::Update

Expression: false

001567.413| 0.0000kb| 0.0000kb added| ERROR| Assertion

failed!

File: E:/jenkins/workspace/game-code-Releases-4-18-public-

win32/code/Game/LoL/Spell/Effect/Client/SpellFXRenderer.cpp

Line: 854

Page 58: What Would Blizzard Do

Replays

58 / 12

BWChart

Page 59: What Would Blizzard Do

World of WarcraftLUA UI API

59 / 60

Page 60: What Would Blizzard Do

Art Guides

60 / 12

Page 61: What Would Blizzard Do

Development Blogs

61 / 60

Post-Mortem of Campus Buddies

Page 62: What Would Blizzard Do

Development Blogs

62 / 60

Post-Mortem of WarCraft

Page 63: What Would Blizzard Do

Developer Conferences

63 / 60

Post-Mortem of Ochestrator

Page 64: What Would Blizzard Do

... but don’t copy blindly!

Page 65: What Would Blizzard Do

... but don’t copy blindly!

Page 66: What Would Blizzard Do

... but don’t copy blindly!

Page 67: What Would Blizzard Do

... but don’t copy blindly!

Page 68: What Would Blizzard Do

... but don’t copy blindly!

Page 69: What Would Blizzard Do

... but don’t copy blindly!

Page 70: What Would Blizzard Do

... but don’t copy blindly!

Page 71: What Would Blizzard Do

... but don’t copy blindly!

Page 72: What Would Blizzard Do

... but don’t copy blindly!

Page 73: What Would Blizzard Do

... but don’t copy blindly!

Page 74: What Would Blizzard Do

... but don’t copy blindly!

Page 75: What Would Blizzard Do

... but don’t copy blindly!

Page 76: What Would Blizzard Do

There might even be cookies.

76 / 60

Source: UTWeap_LinkGun.uc (August UDK 2010)

/** Holds the list of link guns linked to this weapon */

var array<UTWeap_LinkGun> LinkedList; // I made a funny Hahahahah :)

Page 77: What Would Blizzard Do

Thank you!

http://www.npruehs.de

https://github.com/npruehs

@npruehs

[email protected]