53
A decade of game development How technology evolved within our ever-changing environment Andreas Katzig @derFunk Technical Director of Chimera Entertainment @ChimeraEnt

Respawn 2015: Chimera Entertainment - A decade of game development

Embed Size (px)

Citation preview

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

• Happy Hills 2, 2013

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

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

Andreas Katzig,Technical Director

Questions?

Andreas Katzig,Technical Director

TY!

Andreas Katzig,Technical Director

We‘re Hiring!

http://jobs.chimera-entertainment.de@ChimeraEnt@derFunk