respawn 2015: chimera entertainment - a decade of game development
TRANSCRIPT
A decade of game developmentHow technology evolved within our ever-changing environment
Andreas Katzig@derFunk
Technical Director of Chimera Entertainment@ChimeraEnt
Andreas Katzig,Technical Director
About me
• Online user since 1994• BBS, FidoNet, Compuserve
• Online programmer since 1996• Web: HTML, Javascript, PHP 2, MySQL 3
• Founder of Photono Design andCo-Founder of Photono Software in 1999
Andreas Katzig,Technical Director
About me
• Graduate Degree in Computer Science
• Co-Founded the Augsburg Rugby Football Club in 2007
• Co-Founder of Vulcando Games in 2006• Funded by Exist/BMWi in 2008
• Released 2 MMOG Titles
• Own OpenGL-based Game Engine with dozens of custom tools
Andreas Katzig,Technical Director
About me
• Joined Chimera Entertainment in 2009
• Now overseeing the Tech Department
• Chimera is the flagship studio of theremote control productions family• More than 14 other studios are part of it
• Worked on more than 15 game releaseson more than 7 different platforms
Andreas Katzig,Technical Director
Chimera. Humble Beginnings. 2006-2009
• Initial team of 5-9 people (varied).
• First Game: Windchaser 3D. Released 2008• C++ and Shark 3D. PC-Only.
• Second Game: Train your Brain with Dr. Kawashima. Released 2009• C# and Unity 3D. PC and Mac. • Chimera was the first Unity 3D licensee in Germany!
• License Date: 30.10.2008• ..until proven otherwise ;)
Andreas Katzig,Technical Director
Chimera. Humble Beginnings. 2006-2009
When I joined, 2009:
• The Bad:• No in-house online development knowledge (yet)
• (actually a good thing, otherwise Chimera hadn‘t hired me )
• No buildservers / No automation• Only local builds
• Repeated tasks everywhere
• No virtual servers
• Only one physical server which was called „windchaser“, for obvious reasons
• External POP3/SMTP email provider
• Dell Workstations
• Backups?
Andreas Katzig,Technical Director
Chimera. Humble Beginnings. 2006-2009
When I joined, 2009:
• The Bad:• No in-house online development knowledge (yet)
• (actually a good thing, otherwise Chimera hadn‘t hired me )
• No buildservers / No automation• Only local builds
• Repeated tasks everywhere
• No virtual servers
• Only one physical server which was called „windchaser“, for obvious reasons
• External POP3/SMTP email provider
• Dell Workstations
• Backups?
Andreas Katzig,Technical Director
Chimera. Humble Beginnings. 2006-2009
When I joined, 2009:
•The Good:• Great Team & Huge motivation to start the nextprojects
• Professional expertise on the business side
• A wiki with great project and researchdocumentation!
• Mantis Bug Tracker already in place
• SVN set up!•..on Windows
Andreas Katzig,Technical Director
Chimera. Humble Beginnings. 2006-2009
When I joined, 2009:
•The Good:• Great Team & Huge motivation to start the nextprojects
• Professional expertise on the business side
• A wiki with great project and researchdocumentation!
• Mantis Bug Tracker already in place
• SVN set up!•..on Windows
Andreas Katzig,Technical Director
Chimera. Humble Beginnings. 2006-2009
• End of 2009 was characterized by developing the „next big thing“ and researching the right technology platform for our future.• Research of Silverlight, Flash, Unreal
• „No programming of custom game engines!“
• Evaluation of our new upcoming corporate tools
Andreas Katzig,Technical Director
Chimera. Humble Beginnings. 2006-2009
• After researching Silverlight, Flash and Unreal, it turned out that
Andreas Katzig,Technical Director
Chimera. Humble Beginnings. 2006-2009
• After researching Silverlight, Flash and Unreal, it turned out that
2009
Andreas Katzig,Technical Director
Chimera. Humble Beginnings. 2006-2009
• After researching Silverlight, Flash and Unreal, it turned out that
• Because: • Unity was not production ready for 2D web games• Silverlight was good for UI-heavy apps and games• RIA was THE buzzword back then
Andreas Katzig,Technical Director
Chimera. Adolescence. 2010-2011
• WARSTORY – Europe in Flames (2010)
• Silverlight
• Custom self-writen networkmiddleware
• TCP-based
• Clusterable („Mini-Cloud“)
• Windows Servers & MySQL
• TeamCity for CI
Andreas Katzig,Technical Director
Chimera. Adolescence. 2010-2011
• WARSTORY – Europe in Flames (2010)
• Silverlight
• Custom self-writen networkmiddleware
• TCP-based
• Clusterable („Mini-Cloud“)
• Windows Servers & MySQL
• TeamCity for CI
Andreas Katzig,Technical Director
Chimera. Adolescence. 2010-2011
• WARSTORY – Europe in Flames (2010)
• Silverlight
• Custom self-writen networkmiddleware
• TCP-based
• Clusterable („Mini-Cloud“)
• Windows Servers & MySQL
• TeamCity for CI
Andreas Katzig,Technical Director
Chimera. Adolescence. 2010-2011
• WARSTORY – Europe in Flames (2010)
• Silverlight
• Custom self-writen networkmiddleware
• TCP-based
• Clusterable („Mini-Cloud“)
• Windows Servers & MySQL
• TeamCity for CI
Andreas Katzig,Technical Director
Chimera. Adolescence . 2010-2011
• WARSTORY – Europe in Flames (2010)
• Silverlight
• Custom self-writen networkmiddleware
• TCP-based
• Clusterable („Mini-Cloud“)
• Windows Servers & MySQL
• TeamCity for CI
Andreas Katzig,Technical Director
Chimera. Adolescence. 2010-2011
• First custom clientbased balancing tools
Andreas Katzig,Technical Director
Chimera. Adolescence. 2010-2011
• First custom clientbased balancing tools
• Balancing data was stored in MySQL, and sent as data objectsfrom the server to the client atlogon
Andreas Katzig,Technical Director
Chimera. Adolescence. 2010-2011
• Chimera Management Tool (Deployment & Monitoring)
Andreas Katzig,Technical Director
Chimera. Adolescence. 2010-2011
• After researching Silverlight, Flash and Unreal, it turned out that
2010
Andreas Katzig,Technical Director
Chimera. Adolescence. 2010-2011
• We researched Silverlight thoroughly!
• „Silverlight is already deployed on 90% of all target PCs“
• „Silverlight Plugin works well in every browser“
• „Silverlight will be deployed to all Windows PCs automatically“
• This was an educated bet, and it happened
Andreas Katzig,Technical Director
Chimera. Adolescence. 2010-2011
• „Microsoft‘s strategy with Silverlight has shifted“
2010
Andreas Katzig,Technical Director
Chimera. Adolescence. 2010-2011
• Ravensburger Memory (2010)
• Unity3D
• Demolition Dash, Happy Hills (2011), Mission Genesis (rel. 2012)
• Unity3D
Andreas Katzig,Technical Director
Chimera. Adolescence. 2010-2011
• Custom web based localization tool• Used until today (2015)
• Exports several different formats• Compiled C# assembly
• JSON, XML, YAML …
• Used for Silverlight and Unity3D• Usable for every thinkable platform
• „LocaTool Reloaded“ in development
Andreas Katzig,Technical Director
Chimera. Adolescence. 2010-2011
• Custom Unity3DJavascript Logger• Handy for Unity
web development
• Used for Mission Genesis
• Available athttp://github.com/derFunk
Andreas Katzig,Technical Director
Chimera. Adolescence. 2010-2011
•Optimized internal corporate infrastructure and software• Tried Hansoft Project Management•Atlassian Tools (Confluence, Jira)•Microsoft Network (Exchange, AD)
Andreas Katzig,Technical Director
Chimera. Adolescence Learnings. 2010-2011
• Automate!• “Three Strikes And You Automate” & “Automate
Boredom”
• Define processes!
• Write Documentation!
• Write reusable code. Create libraries. Prepare for Unit Testing.
Andreas Katzig,Technical Director
Chimera. Adolescence Learnings. 2010-2011
• SVN: Use release branches, not feature branches• You‘ll hate merging features back with SVN. Make a branch and leave it alone/release it
• Don‘t write custom deployment tools with an UI, use standards• Jenkins, Sinatra, Third party services…
• Don‘t write custom monitoring and graphing tools, use standards• Icinga, Nagios, Monit, Graphite+Grafana, CloudWatch, Pingdom, NewRelic…
Andreas Katzig,Technical Director
Chimera. Adolescence Learnings. 2010-2011
• Try to avoid writing custom balancing Tools!• Use something everybody knows
• Use centralized server logging• ELK, Splunk…
• Avoid getting stuck – be flexible from the start yet follow KISS.
• Move fast!
Andreas Katzig,Technical Director
Chimera. Growing Up. 2012-2013
•Massive automation• CI with Jenkins• Multi-server build farm• Parallel builds• Custom over the air distribution
to mobile devices• Asset and Server Deployment• Installing new Unity versions
automatically• Create Xcode projects completely
new every build
Andreas Katzig,Technical Director
Chimera. Growing Up. 2012-2013
•Regular Code Reviews• Introduction phase: One dedicated senior code review lead who
attends and kickstarts every code review session (One per sprint per project)
• Will be handed over to the project‘s code leads in 2015
Andreas Katzig,Technical Director
Chimera. Growing Up. 2012-2013
•Further Optimized internal corporate infrastructure and software• External lightweight project management tools like
Trello•Google Business services•Code Reviews with Atlassian Crucible
Andreas Katzig,Technical Director
Chimera. Growing Up. 2012-2013
• Mission Genesis beta launched in 2012, Unity3D• Ouch! Partner‘s insolvency led to major and heaviest impact that Chimera
ever experienced.
• Skylancer beta launched in 2012, Silverlight
Andreas Katzig,Technical Director
Chimera. Growing Up. 2012-2013
• Sara‘s Cooking Class, 2012
• Word Wonders, 2012
• Towers & Dungeons, 2012
Andreas Katzig,Technical Director
Chimera. Growing Up. 2012-2013
•Pitched in 2012:
„100 Heroes“
which then became…
Andreas Katzig,Technical Director
Chimera. Growing Up. 2012-2013
• Completely new balancing pipeline
• „Epic requirements“• Had to handle lots of balancing data
• Editor requirements:
• Easy to handle for non-tech-savvy colleagues
• Allow for bulk editing and search+replace
• Different exportable formats
Andreas Katzig,Technical Director
Chimera. Growing Up. 2012-2013
• Balancing Pipeline• Balancing Data Editor requirements:
• Easy to handle for non-tech-savvy colleagues
• Allow for bulk editing and search+replace
• Different exportable formats
Andreas Katzig,Technical Director
Game
Chimera. Growing Up. 2012-2013
• „Balancing Data Serializer“
XLSXML, JSON
BINARY…
XLSXMLJSON
BINARY…
Game Design
IntermediateFormat Cloud
Andreas Katzig,Technical Director
Chimera. Growing Up. 2012-2013
• Let‘s talk aboutapp store releases
Andreas Katzig,Technical Director
Chimera. Growing Up. 2012-2013
• Let‘s talk aboutapp store releases
Andreas Katzig,Technical Director
Chimera. Growing Up. 2012-2013
• „App Screening Tool“
• Shared with all rcp familymembers, developedby Chimera
Andreas Katzig,Technical Director
Chimera. Growing Up. 2012-2013
• Unity Package Unpacker
• Available athttp://upu.derfunk.com
• The CLI version is opensource athttp://github.com/derFunkandhttp://github.com/ChimeraEntertainment
Andreas Katzig,Technical Director
Chimera. Maturity. 2014-2015
• Angry Birds Epic: Worldwide Releasein June 2014. Partey!
• Today: 60Million+ downloads worldwide(All Platforms)
• Google Play Store:
• iTunes: If you want to learn more about Angry Bird Epic‘s live phase, visit Ellen‘s „Post Mortem –Live after launch“ tomorrow here at Respawn.
Andreas Katzig,Technical Director
Chimera. Maturity. 2014-2015
• 2014 and 2015 is characterized by the Cloud, backend-wise• AWS, Azure, Google Cloud…
• Docker! DevOps!
• Scaling and High Availability
• Also: Internationalization!• Colleagues from USA, Egypt, Serbia,
Norway, Russia, Italy and evenNorth-Rhine-Westfalia!
Andreas Katzig,Technical Director
Chimera. Maturity. 2014-2015
• Jon Woo‘s Blood Stroke, 2014
• Bernd das Brot, 2014
Andreas Katzig,Technical Director
Chimera. Maturity. 2014-2015
• Mystery of Neuschwanstein, 2014• Hidden Object Game