eight rules for making your first great game
TRANSCRIPT
![Page 1: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/1.jpg)
Eight Rules For Making Your First Great GameNick Prühs
![Page 2: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/2.jpg)
About Me
“Best Bachelor“ Computer ScienceKiel University, 2009
Master GamesHamburg University of AppliedSciences, 2011
Lead ProgrammerDaedalic Entertainment, 2011-2012
Co-Founderslash games, 2013-2016
Technical DirectorDaedalic Entertainment, 2016
2 / 79
![Page 3: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/3.jpg)
Diversity of Games
3 / 113
![Page 4: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/4.jpg)
Diversity of Games
4 / 113
![Page 5: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/5.jpg)
Diversity of Games
5 / 113
![Page 6: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/6.jpg)
Diversity of Games
6 / 113
![Page 7: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/7.jpg)
Diversity of Games
7 / 113
![Page 8: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/8.jpg)
Diversity of Games
8 / 113
![Page 9: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/9.jpg)
Game Development
“Games are insanely complex.”
- Warren Spector
![Page 10: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/10.jpg)
Rule 1
Make testing as easy as possible!
![Page 11: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/11.jpg)
Make testing easy!
11 / 79
At the beginning of Campus Buddies, Christian had the idea of creating
a debug web page containing links for several debug functions
creating and logging in a test user
adding points for the current user
unlocking achievements
and many, many more
![Page 12: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/12.jpg)
Make testing easy!
12 / 79
![Page 13: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/13.jpg)
Make testing easy!
13 / 79
This was arguably the best idea we had throughout the project.
![Page 14: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/14.jpg)
Make testing easy!
14 / 79
• Debugging can be a pain in the ass
especially when network communication is involved
• Our debug page saved us lots of blood, sweat and tears
• The earlier you set up your debugging tools, the more you’ll benefit
from them
![Page 15: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/15.jpg)
15 / 79
![Page 16: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/16.jpg)
Rule 2
Deploy often!
![Page 17: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/17.jpg)
Deploy often!
17 / 79
Creating a new version can involve a step or two:
Accessing source controlo Syncing working copy
o Creating tags
Writing version numbers
Performing the actual build
Packaging the build result
Publishing the game on a build page
Running unit tests
Sending email notifications
![Page 18: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/18.jpg)
Deploy often!
You wouldn’t wanna do all that by hand.
Every time.
Do you?
18 / 79
![Page 19: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/19.jpg)
Deploy often!
19 / 79
![Page 20: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/20.jpg)
Rule 3
Use a bullet-proof, feature-based
project structure!
![Page 21: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/21.jpg)
Bad Example
• Assets
EMHQo Data
– Icons
– Images
– Sprites
– Textures
o Resources– Icons
o UI– Common
» Sprites
EMHQ_gfx_exporto Textures
GUIo Assets
– Images
21 / 79
![Page 22: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/22.jpg)
Bad Example
• Assets
EMHQo Data
– Icons
– Images
– Sprites
– Textures
o Resources– Icons
o UI– Common
» Sprites
EMHQ_gfx_exporto Textures
GUIo Assets
– Images
22 / 79
Bonus Objective:
- Find the icon for the Main Menu button.
![Page 23: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/23.jpg)
Bad Example
• Assets
EMHQo Data
– Icons
– Images
– Sprites
– Textures
o Resources– Icons
o UI– Common
» Sprites
– Base» HUD
• Sprites EMHQ_gfx_export
o Textures
GUIo Assets
– Images
23 / 79
Bonus Objective:
- Find the icon for the Main Menu button.
![Page 24: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/24.jpg)
Feature Folders
• Project Root
FingerGestures
FreudBot
HOTween
NGUI
NData
Unity Test Tools
24 / 79
![Page 25: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/25.jpg)
Feature Folders
• Project Root
FingerGestures
FreudBoto Animations
o Atlases
o Fonts
o Localization
o Prefabs
o Scenes
o Sounds
o Sprites
o Scripts
HOTween
NGUI
NData
Unity Test Tools
25 / 79
![Page 26: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/26.jpg)
Feature Folders
• Project Root
FreudBoto Scripts
– Ads
– Analytics
– Comics
– Core
– Debug
– Dialogue
– IAP
– Mobile
– Progression
– Sound
– UI
26 / 79
![Page 27: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/27.jpg)
Feature Folders
• Project Root
FreudBot
o Scripts
– Ads» Components
» Events
» Systems
27 / 79
![Page 28: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/28.jpg)
Feature Folders
This way, features and plugins can easily be updated
or removed without having to scan the full project
tree.
28 / 79
![Page 29: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/29.jpg)
Rule 4
Listen to your players!
![Page 30: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/30.jpg)
Analytics
30 / 79
![Page 31: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/31.jpg)
Analytics
31 / 79
![Page 32: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/32.jpg)
Analytics
32 / 79
This is okay. (Endboss)
![Page 33: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/33.jpg)
Analytics
33 / 79
This is not. (Intermediate level)
![Page 34: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/34.jpg)
Rule 5
Fix bugs immediately!
![Page 35: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/35.jpg)
35 / 79
Why you should always start debugging immediately
![Page 36: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/36.jpg)
Why you should always start debugging immediately
• Code entropy says your code will get worse, all the time, unless you
actively invest in preventing that
• Broken windows theory says the worse your code is, the worse it will
become
• Tracking down bugs is harder in a larger code base
• Tracking down bugs is harder in a buggy code base
36 / 12
![Page 37: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/37.jpg)
Code Quality Tools
37 / 12
![Page 38: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/38.jpg)
Code Quality Tools
38 / 12
![Page 39: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/39.jpg)
Code Quality Tools
39 / 12
/// <summary>
/// Attaches the passed component to the entity with the specified id.
/// Note that this manager does not check whether the specified id is valid.
/// </summary>
/// <exception cref="ArgumentNullException">
/// Passed component is null.
/// </exception>
/// <exception cref="InvalidOperationException">
/// There is already a component of the same type attached.
/// </exception>
public void AddComponent(int entityId, IEntityComponent component)
{
if (component == null)
{
throw new ArgumentNullException("component");
}
if (this.components.ContainsKey(entityId))
{
throw new InvalidOperationException(
"There is already a component of type " + component.GetType() + " attached to entity with id "
+ entityId + ".");
}
this.components.Add(entityId, component);
this.OnComponentAdded(entityId, component);
}
![Page 40: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/40.jpg)
Divide-and-conquer
40 / 12
![Page 41: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/41.jpg)
Divide-and-conquer
41 / 12
![Page 42: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/42.jpg)
Divide-and-conquer
42 / 12
![Page 43: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/43.jpg)
Divide-and-conquer
43 / 12
![Page 44: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/44.jpg)
Divide-and-conquer
44 / 12
![Page 45: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/45.jpg)
Divide-and-conquer
45 / 12
![Page 46: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/46.jpg)
Logging
46 / 12
![Page 47: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/47.jpg)
On-Screen
47 / 12
![Page 48: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/48.jpg)
Pair Programming
48 / 12Source: University of Utah, UIT
![Page 49: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/49.jpg)
And if nothings helps …
49 / 12
![Page 50: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/50.jpg)
And if nothings helps …
50 / 12
Try again tomorrow!
![Page 51: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/51.jpg)
Some are really nasty …
• Remote systems
• Race conditions
• Mobile development, embedded systems, drivers
• “Release Mode only” bugs
51 / 12
![Page 52: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/52.jpg)
Quoting My Tutor
“If the bug is not where you expect it to be,
you better start looking for it where you’re not expecting it to be.”
- Hagen Peters
52 / 12
![Page 53: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/53.jpg)
You need a repro. Period.
How can you be sure you’ve fixed it?
53 / 12
![Page 54: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/54.jpg)
Rule 6
Gameplay first!
![Page 55: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/55.jpg)
Gameplay First
55 / 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 56: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/56.jpg)
Rule 7
Learn from others!
![Page 57: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/57.jpg)
Because you wouldn't use a screwdriver on a nail...
57 / 60
StarCraft II Galaxy Editor
![Page 58: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/58.jpg)
58 / 60
StarCraft II Galaxy Editor
Because you wouldn't use a screwdriver on a nail...
![Page 59: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/59.jpg)
59 / 60
StarCraft II Galaxy Editor
Because you wouldn't use a screwdriver on a nail...
![Page 60: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/60.jpg)
60 / 60
StarCraft II MakeCombat
Because you wouldn't use a screwdriver on a nail...
![Page 61: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/61.jpg)
61 / 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 wethought we were almost done with the game, anddidn't want to take the time to improve them.Unfortunately, in most of these cases, we were notreally almost done with the game.“
Because you wouldn't use a screwdriver on a nail...
![Page 62: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/62.jpg)
Genre Standards
62 / 60
StarCraft II Screenshot
![Page 63: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/63.jpg)
Genre Standards
63 / 60
StarCraft II Screenshot
![Page 64: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/64.jpg)
Genre Standards
64 / 60
StarCraft II Screenshot
![Page 65: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/65.jpg)
Genre Standards
65 / 60
StarCraft II Screenshot
![Page 66: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/66.jpg)
Genre Standards
66 / 60
StarCraft II Screenshot
![Page 67: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/67.jpg)
Genre Standards
67 / 60
StarCraft II Screenshot
![Page 68: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/68.jpg)
Genre Standards
68 / 60
StarCraft II Screenshot
![Page 69: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/69.jpg)
Genre Standards
69 / 60
StarCraft II Screenshot
![Page 70: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/70.jpg)
Genre Standards
70 / 60
Unreal Tournament 3 Splash Screen
![Page 71: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/71.jpg)
Genre Standards
71 / 60
Unreal Tournament 3 Login Screen
![Page 72: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/72.jpg)
Genre Standards
72 / 60
Hostile Worlds Screen Transitions
![Page 73: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/73.jpg)
Genre Standards
73 / 60
Steam Server Browser
![Page 74: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/74.jpg)
Genre Standards
74 / 60
WarCraft III Lobby
![Page 75: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/75.jpg)
Genre Standards
75 / 60
WarCraft III Loading Screen
![Page 76: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/76.jpg)
Genre Standards
76 / 60
WarCraft III Score Screen
![Page 77: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/77.jpg)
Genre Standards
77 / 60
StarCraft II Options Screen
![Page 78: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/78.jpg)
Open Game Sources
78 / 60
Doom 3 GPL Release on GitHub
![Page 79: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/79.jpg)
Open Game Sources
79 / 60
Blizzard on GitHub
![Page 80: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/80.jpg)
Open Game Sources
80 / 60
Blizzard QT on GitHub
![Page 81: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/81.jpg)
Open Game Sources
81 / 60
Blizzard Premake on GitHub
![Page 82: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/82.jpg)
Project Structure
82 / 60
Windows 10 - System32 Folder
![Page 83: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/83.jpg)
Project Structure
83 / 60
> 3000 Libraries
![Page 84: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/84.jpg)
![Page 85: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/85.jpg)
Project Structure
85 / 60
Hearthstone Asset Bundles
![Page 86: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/86.jpg)
Project Structure
86 / 60
Hearthstone Data Files
![Page 87: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/87.jpg)
Project Structure
87 / 60
StarCraft II “Mods”
![Page 88: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/88.jpg)
Project Structure
88 / 60
StarCraft Game Folder Size
![Page 89: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/89.jpg)
Project Structure
89 / 60
StarCraft MPQ Files
![Page 90: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/90.jpg)
Data Structure
90 / 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 91: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/91.jpg)
Data Structure
91 / 60
Hearthstone Localization Files (GAMEPLAY.txt)
TAG TEXT COMMENT
GAMEPLAY_COIN_TOSS_LOSTYou 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_TURN END 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 92: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/92.jpg)
Data Structure
92 / 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 93: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/93.jpg)
Log Files
93 / 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 94: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/94.jpg)
Log Files
94 / 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 95: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/95.jpg)
Art Guides
95 / 12
![Page 96: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/96.jpg)
Development Blogs
96 / 60
Post-Mortem of WarCraft
![Page 97: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/97.jpg)
Developer Conferences
97 / 60
Post-Mortem of Ochestrator
![Page 98: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/98.jpg)
Rule 8
Commit to quality!
![Page 99: Eight Rules for Making Your First Great Game](https://reader034.vdocuments.net/reader034/viewer/2022042723/58786eb71a28ab497b8b591f/html5/thumbnails/99.jpg)
Commit To Quality
99 / 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?”