game development challenges
TRANSCRIPT
![Page 1: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/1.jpg)
Game Development Challenges
Nick Prühs
![Page 2: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/2.jpg)
About Me
“Best Bachelor“ Computer ScienceKiel University, 2009
Master GamesHamburg University of Applied Sciences, 2011
Lead ProgrammerDaedalic Entertainment, 2011-2012
Co-Founderslash games, 2013
2 / 113
![Page 3: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/3.jpg)
Diversity of Games
3 / 113
![Page 4: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/4.jpg)
Diversity of Games
4 / 113
![Page 5: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/5.jpg)
Diversity of Games
5 / 113
![Page 6: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/6.jpg)
Diversity of Games
6 / 113
![Page 7: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/7.jpg)
Diversity of Games
7 / 113
![Page 8: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/8.jpg)
Diversity of Games
8 / 113
![Page 9: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/9.jpg)
Diversity of Games
9 / 113
![Page 10: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/10.jpg)
Game Development Roles
Programming
10 / 113
![Page 11: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/11.jpg)
Game Development Roles
2D Art
11 / 113
![Page 12: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/12.jpg)
Game Development Roles
3D Art
12 / 113
![Page 13: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/13.jpg)
Game Development Roles
Game Design
13 / 113
![Page 14: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/14.jpg)
Game Development Roles
Sound Design
14 / 113
![Page 15: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/15.jpg)
Game Development Roles
Cinematic Art
15 / 113
![Page 16: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/16.jpg)
Game Development Roles
Game Author
16 / 113
![Page 17: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/17.jpg)
Game Development Roles
Level Designer
17 / 113
![Page 18: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/18.jpg)
Game Development Roles
Technical Artist
18 / 113
![Page 19: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/19.jpg)
Game Development Roles
Localization
19 / 113
![Page 20: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/20.jpg)
Game Development Roles
Producer
20 / 113
![Page 21: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/21.jpg)
Game Development Roles
QA & Support
21 / 113
![Page 22: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/22.jpg)
Game Development Roles
Marketing
22 / 113
![Page 23: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/23.jpg)
Game Development Roles
PR
23 / 113
![Page 24: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/24.jpg)
Game Development Roles
Community Management
24 / 113
![Page 25: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/25.jpg)
Game Development Roles
Analytics
25 / 113
![Page 26: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/26.jpg)
Art Pipelines
26 / 113
![Page 27: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/27.jpg)
Art Pipelines
27 / 113
![Page 28: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/28.jpg)
Art Pipelines
28 / 113
![Page 29: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/29.jpg)
Art Pipelines
29 / 113
![Page 30: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/30.jpg)
Game Engines
30 / 113
![Page 31: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/31.jpg)
Game Engines
31 / 113
![Page 32: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/32.jpg)
Game Engines
32 / 113
![Page 33: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/33.jpg)
Game Engines
33 / 113
![Page 34: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/34.jpg)
Game Engines
34 / 113
![Page 35: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/35.jpg)
Example: Physics
35 / 113
![Page 36: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/36.jpg)
Example: Physics
36 / 113
![Page 37: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/37.jpg)
Example: Physics
37 / 113
−𝜖𝑣𝐴𝐵𝑛 = 𝑣𝐴𝐵′ 𝑛 definition
coefficient of restitution
= (𝑣𝐴′ − 𝑣𝐵
′ )𝑛 definitionrelative velocity
=(𝑣𝐴 +
𝑗
𝑀𝐴𝑛 − 𝑣𝐵 +
𝑗
𝑀𝐵𝑛)𝑛
definitioncollision impulse
=𝑣𝐴𝑛 +
𝑗
𝑀𝐴𝑛𝑛 − 𝑣𝐵𝑛 +
𝑗
𝑀𝐵𝑛𝑛
distribution
=𝑣𝐴𝑛 − 𝑣𝐵𝑛 +
𝑗
𝑀𝐴𝑛𝑛 +
𝑗
𝑀𝐵𝑛𝑛
commutative property
=𝑣𝐴𝐵𝑛 +
𝑗
𝑀𝐴𝑛𝑛 +
𝑗
𝑀𝐵𝑛𝑛
definitionrelative velocity
![Page 38: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/38.jpg)
Lessons Learned
38 / 113
![Page 39: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/39.jpg)
Campus Buddies
39 / 113
![Page 40: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/40.jpg)
Campus Buddies
40 / 113
![Page 41: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/41.jpg)
Campus Buddies
41 / 113
![Page 42: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/42.jpg)
Campus Buddies
42 / 113
![Page 43: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/43.jpg)
Campus BuddiesFeatures• Sharing ads using multiple channels (Email, Facebook, Twitter, Google+)
• Lead verification as specified by Yourfone
• Authentication by different providers (username/password, Facebook)
• Classical gamification mechanics (achievements, level ups, …)
• Periodic competitions resolved by the server
• Dynamic news stream
• Full moderation backend
• Responsive mobile version
• Facebook OpenGraph integration
• Friend referral program
• Customized reportings
• Secure reward shop
• Stateless Scalable Web Application
• SSL-Encryption
43 / 113
![Page 44: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/44.jpg)
Campus BuddiesFeatures
44 / 113
Development Scope
10 Weeks
![Page 45: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/45.jpg)
Lessons Learned
45 / 113
![Page 46: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/46.jpg)
Gotcha!
LESSON 1:
Expect changes of external APIs!
46 / 113
![Page 47: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/47.jpg)
External APIs
47 / 113
• Integrated three of the major social platforms: Facebook, Twitter and Google+
• During the development process, both Facebook and Google+ changed their APIs…
• … effectively turning some of our code into useless rubbish
• Took about a day or two to get everything up and running again
![Page 48: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/48.jpg)
External APIs
48 / 113
![Page 49: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/49.jpg)
External APIs
49 / 113
• Talking to other web developers, we learned that social platform providers tend to change their APIs regularly
• They won’t notify you about that.
• Neither before, nor after.
• Never.
![Page 50: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/50.jpg)
Hint
LESSON 2:
Avoid doing everything yourself!
50 / 113
![Page 51: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/51.jpg)
Don’t Reinvent The Wheel
51 / 113
• Got a problem that is not exactly related to just your application?
• Maybe someone else has already solved it.
• There’s lots of smart people having spent tens of hundreds of hours on your problem.
• Use that knowledge!
![Page 52: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/52.jpg)
Don’t Reinvent The Wheel
52 / 113
![Page 53: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/53.jpg)
Hint
LESSON 3:
Make testing as easy as possible!
53 / 113
![Page 54: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/54.jpg)
Make testing easy!
54 / 113
At the beginning of the project, Christian had theidea of creating a debug web page containing linksfor several debug functions
• creating and logging in a test user
• adding points for the current user
• unlocking achievements
• and many, many more
![Page 55: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/55.jpg)
Make testing easy!
55 / 113
![Page 56: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/56.jpg)
Make testing easy!
56 / 113
This was arguably the best idea we had throughout the project.
![Page 57: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/57.jpg)
Make testing easy!
57 / 113
• 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 58: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/58.jpg)
Hint
LESSON 4:
Make deployment as easy as possible!
58 / 113
![Page 59: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/59.jpg)
Deploy often!
59 / 113
Creating a new version can involve a step or two:
• Accessing source control• Syncing working copy• 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 60: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/60.jpg)
Deploy often!
60 / 113
![Page 61: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/61.jpg)
Deploy often!
You wouldn’t wanna do all that by hand.
Every time.
Do you?
61 / 113
![Page 62: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/62.jpg)
Campus BuddiesLessons Learned
62 / 113
![Page 63: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/63.jpg)
Hint
LESSON 5:
Mock network interaction for testing!
63 / 113
![Page 64: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/64.jpg)
Mocking
• Everything that involves network communication is annoying to test.
• We mocked parts of the remote interaction of our application• sending e-mails
• verifying leads
• Whenever a mail was sent, it was written to the console instead, for instance.
64 / 113
![Page 65: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/65.jpg)
Mocking
2013-05-19 19:36:29,980 - [INFO] - from applicationMOCK MAILER: send email
2013-05-19 19:36:29,982 - [INFO] - from applicationFROM:"yourfone.de Campus Buddies" <[email protected]>
2013-05-19 19:36:29,983 - [INFO] - from applicationTO:"Nick" <[email protected]>
2013-05-19 19:36:29,985 - [INFO] - from applicationTEXT:
<html><head><title>...
65 / 113
![Page 66: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/66.jpg)
Mocking
This allowed us to check all parts of our applicationthat include sending mails without having to spamour (or everyones…) inboxes.
66 / 113
![Page 67: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/67.jpg)
Campus BuddiesLessons Learned
67 / 113
![Page 68: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/68.jpg)
Gotcha!
LESSON 6:
Standardize your code style!
68 / 113
![Page 69: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/69.jpg)
Consistent Code Style
• If you aren’t alone (and I sincerely hope you’re not), you’ll want to standardize your code styles.
• Be clear about tiny details such as tabs vs. spaces• greatly increases maintainability
• reduces the number of merge conflicts
69 / 113
![Page 70: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/70.jpg)
Merge Conflict
70 / 113
![Page 71: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/71.jpg)
StyleCop
71 / 113
![Page 72: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/72.jpg)
StyleCop
72 / 113
![Page 73: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/73.jpg)
Eclipse
73 / 113
![Page 74: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/74.jpg)
Eclipse
74 / 113
![Page 75: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/75.jpg)
Lessons Learned
75 / 113
![Page 76: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/76.jpg)
FreudBot
76 / 113
![Page 77: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/77.jpg)
FreudBot
77 / 113
![Page 78: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/78.jpg)
FreudBot
78 / 113
![Page 79: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/79.jpg)
FreudBot
79 / 113
![Page 80: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/80.jpg)
FreudBot Features
• 46 levels, 17 animated characters, 10 screens, 137 cards, 4 comics, 10 000 words, 45 sounds
• Dedicated website and social media channels
• Multiple ad providers and in-app purchases
• Fully localized to five different languages
• Full analytics integration
• Cloud savegames
• Native mobile features (loading screen, snap mode, suspend, charms, toasts)
• Marketing (fan art, card contest, trailer, contests)
• Multi-platform release on iOS, Android, Windows Store, Windows Phone (Windows and Mac to come)
80 / 113
![Page 81: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/81.jpg)
Lessons Learned
81 / 113
![Page 82: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/82.jpg)
Hint
LESSON 1:
Use a feature-based project structure!
82 / 113
![Page 83: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/83.jpg)
Feature Folders
• Project Root• FingerGestures
• FreudBot
• HOTween
• NGUI
• NData
• Unity Test Tools
83 / 113
![Page 84: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/84.jpg)
Feature Folders
• Project Root• FingerGestures• FreudBot
• Animations• Atlases• Fonts• Localization• Prefabs• Scenes• Sounds• Sprites• Scripts
• HOTween• NGUI• NData• Unity Test Tools
84 / 113
![Page 85: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/85.jpg)
Feature Folders
• Project Root• FreudBot
• Scripts• Ads• Analytics• Comics• Core• Debug• Dialogue• IAP• Mobile• Progression• Sound• UI
85 / 113
![Page 86: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/86.jpg)
Feature Folders
• Project Root• FreudBot
• Scripts• Ads
• Components
• Events
• Systems
86 / 113
![Page 87: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/87.jpg)
Feature Folders
This way, features and plugins can easily be updated or removed without having
to scan the full project tree.
87 / 113
![Page 88: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/88.jpg)
Hint
LESSON 2:
Collaboration first!
88 / 113
![Page 89: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/89.jpg)
Collaboration first!
89 / 113
![Page 90: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/90.jpg)
Collaboration first!
Excel CSV XML Game
90 / 113
![Page 91: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/91.jpg)
Collaboration first!
Excel CSV XML Game
91 / 113
![Page 92: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/92.jpg)
FreudBotLessons Learned
Let everyone work with the tools they’re most experienced with, and provide a tool chain for
data conversion as soon as possible.
92 / 113
![Page 93: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/93.jpg)
Hint
LESSON 3:
Listen to your players!
93 / 113
![Page 94: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/94.jpg)
Analytics
94 / 113
![Page 95: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/95.jpg)
Analytics
95 / 113
![Page 96: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/96.jpg)
Analytics
96 / 113
This is okay. (Endboss)
![Page 97: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/97.jpg)
Analytics
97 / 113
This is not. (Intermediate level)
![Page 98: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/98.jpg)
Gotcha!
LESSON 4:
Don‘t forget the tutorial!
98 / 113
![Page 99: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/99.jpg)
Tutorials
99 / 113
![Page 100: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/100.jpg)
Tutorials
• Have players test your game early on• Don’t talk, just watch and listen.
• Don’t underestimate the time required for implementing your tutorial. It introduces many special cases, such as• Prohibiting player actions (e.g. use ability, end turn)
• Triggering unusual events (e.g. let turn timers expire)
• Tweening UI in step by step
• Providing fixed outcomes (e.g. always same card hand)
100 / 113
![Page 101: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/101.jpg)
Hint
LESSON 5:
There‘s 2D skeletal animation!
101 / 113
![Page 102: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/102.jpg)
Spine
102 / 113
![Page 103: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/103.jpg)
Spine Atlas Image
103 / 113
![Page 104: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/104.jpg)
Spine Atlas File
104 / 113
![Page 105: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/105.jpg)
Spine Animation File
105 / 113
![Page 106: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/106.jpg)
FreudBotLessons Learned
106 / 113
![Page 107: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/107.jpg)
Gotcha!
LESSON 6:
Localization is a bitch!
107 / 113
![Page 108: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/108.jpg)
Localization Sheet
108 / 113
![Page 109: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/109.jpg)
Localization Pipeline
109 / 113
Game
XML
CSV
Excel
CSV
XML
![Page 110: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/110.jpg)
Localization Best Practice
• Use unique, immutable localization keys• Changing any localization keys will invalidate any sheets
handed out to your localization team
• Highlight new texts, changed texts• These additional texts will have to be localized later
• Provide a playable version of your game, as well as rich background information (e.g. characters, places)• People need to know the game before they can localize it.
• Allow instant integration of the localized texts, if possible• Localization team can check for encoding issues, overlapping
labels, missing texts immediately
110 / 113
![Page 111: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/111.jpg)
And there is more…
• Learn from others!
• Stick to your plan!
• Build prototypes!
• Use automatic testing!
• Setup proper version control workflows!
111 / 113
![Page 112: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/112.jpg)
And there is more…
• Learn from others!
• Stick to your plan!
• Build prototypes!
• Use automatic testing!
• Setup proper version control workflows!
See Game Programming
http://www.npruehs.de/teaching/game-programming/
Monday, 8.30 am, E 45
112 / 113
![Page 113: Game Development Challenges](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5838c1a28ab843b8b457f/html5/thumbnails/113.jpg)
Thank you for your attention!
Contact
Blog
http://www.npruehs.de
@npruehs
Github
https://github.com/npruehs
113 / 113