SlideShare a Scribd company logo
1 of 43
MAKING AN INDEPENDENT MMO
THE ALBION ONLINE STORY
DAVID SALZ (DAVID@SANDBOX-INTERACTIVE.COM)
ROBIN HENKYS (ROBIN@SANDBOX-INTERACTIVE.COM)
WHO ARE WE?
• David Salz, CTO and co-founder of Sandbox Interactive
• 18 years in game development
• Founder of Indie-Studio „Bitfield“ & BitEngine (only commercial engine
for Nintendo DS)
• Robin Henkys, CEO & Game Director
• 11 years in game development
• Previously worked on Drakensang Party RPGs and was the lead designer
on Drakensang Online, a hack & slay MMO
WHO IS SANDBOX INTERACTIVE?
• An independent game developer
founded in 2012
• Based in Berlin, Germany
• Employs 30 full time on-site plus
another 15-20 part time Freelancers
worldwide
• Exists to develop, market and
distribute Albion Online
WHAT IS ALBION ONLINE?
• Independent MMORPG
• privately funded and self-published!
• > 500.000 players
• Open Beta in 2016, Release in 2017, Steam-Release in 2018
• Sandbox, Full-Loot, PvP and Guild-heavy
• One World (like Eve Online)
• Cross-platform (PC/Mac/Linux/Android/iOS)
FOUNDING THE COMPANY
• External investor with game idea
• Good budget, but way too small for the suggested scope
• Won the pitch!
• Suggested inexpensive prototype
• Modesty and honesty pays off!
• good: used an existing indie team as a starting point of the team
• already existing network was invaluable!
GETTING STARTED
• core team had never done an online game...
• (but lots of experience otherwise)
• got external coaches with relevant experience!
• picked proven technology / middleware
• (a first for all of us!)
• made some hard choices in game design to avoid production risks
• simple art style (small team, small budget, performance considerations)
• loading screens instead of “streaming” world
MIDDLEWARE
• Unity3D (starting w/ 3.5 in 2012, trying to always use the latest
„stable“)
• Photon (Cross-Platform Networking library and server framework)
• using C# on client and server (with lots of shared code)
• Cassandra – high-performance NoSQL in-memory database
• offers horizontal scaling!
• Postgres – best (feature-wise) free SQL DB
KEEPING CONTROL OF THE TECHNOLOGY
• good: used only minimal feature set of engine, network middleware
• kept Unity completely out of server! (way too slow, way to unreliable!)
• fully functional "command line" client that works without Unity (also
allows bots, easy load tests etc.)
• wrote key components ourselves:
• level loading, collision, pathfinding, AI, complete server structure etc.
• using Unity for Graphics, Animation, Visual Effects, UI, Input handling
• good compromise between using an engine and roll-our-own!
PROTOTYPE & REFINANCE
• Initial Prototype proved ability of the team
• Led to additional investment & continued dev into “Alpha”
• This was a change to the original plan
COMMUNITY BUILDING
• involved large guilds in the development process at a very early stage
• tested early builds with closed user groups in 2-4 week "alpha" test
sessions
• offered special rewards such as custom guild logos etc.
• invaluable feedback
• became the seed of our community with long reaching loyalty
KEEPING DESIGN ON TRACK
• Took radical design decisions based on the idea that these would have
emotional resonance
• Set these design decisions as immoveable pillars and stuck with them:
• All items player crafted
• Full Loot PvP
• You are what you wear (no classes)
• No item teleportation
• This worked: with a radical promises we got a lot of attention and by
delivering on them in Alpha we built our early access program
SCALING WITH SUCCESS
• Original production value and scope were based on budget
• Early Access success lead to an increase in scope and
production value
• This lead to further growth
• In the end achieved 3-4x the original budget production value
through early access until launch
„WILD“ GROWTH
• Wrote a novel with british author Peter Newman
• Novel flopped, but the story development was very valueable to guide
content production
• Orchestral Soundtrack
• We also run our own regular AlbionTV stream which follows the
developing player
MARKETING & PUBLISHING YOUR OWN
MMO
• Marketing
• Youtube, Twitch, High quality preview videos
• Distribution
• Outsourced web development – expensive & made integration harder
LAUNCH BILD
TECH FAILS #1
• at one point, we had all buildings disappear in a closed alpha...
• ... which turned out to be a Cassandra bug (secondary index “lost”)
• "bleeding edge" open source technology is dangerous.
• Even release builds can have catastrophic bugs 
• Do long-term testing before phasing a new middleware build into
production!
• Consider using "older" builds where the bugs are already known!
TECH FAILS #2 (A POST-LAUNCH DISASTER)
• After 12-18 hours under full load, Cassandra suddenly became
unresponsive for 5-8 minutes, killing the game
• Unable to fix this for > 2 weeks 
• solution: get a consultant – move from Windows to Linux (like everyone
else)
• problem was disc IO bottleneck between Cassandra and Windows RAID
controller driver
• Try to use technology the same way everyone else is using it!
DDOS ATTACKS
• Researched DDos protection ahead of launch
• Very expensive
• Technologically complicated (requires own AS, own IP range, BGP
routers…)
• takes months to implement
• … so let‘s not do this
DDOS ATTACKS
• Got blackmailed and attacked
• > 4 weeks, > 60 Gbps attacks
• Sleepless nights, upset community
• burned through first mitigation provider (cheap is sometimes too
cheap)
• Then got (expensive) external help
• Should have done this earlier!
INTERMISSION: DDOS MITIGATION
Game Server
Game Server
Game Server
Router
THE INTERNET
Criminals live
here
(customers,
too)
Our Data Center
Public
IP Range
Clean Traffic
Attack Traffic
ReturnTraffic
INTERMISSION: DDOS MITIGATION
Game Server
Game Server
Game Server
Router
Router
THE INTERNET
Criminals live
here
(customers,
too)
„Scrubbing
Center“
Attack Traffic
gets filtered
out
Our Data Center
Anti-DDos-
Provider
Public
IP Range
Clean Traffic
Attack Traffic
Clean Traffic
Delivered via
GRE Tunnel
Redundant
Routers
(Fail-Over)
ReturnTraffic
Routers switch
Public IP Range
between our DC
and Scrubbing
Center via BGP
protocol
BUSINESS LESSONS
• When we launched and sold hundreds of thousands of games, we
were a company of almost 60 employees
• 6 months later we had to make the decision to scale the team to the
actual player base
• Learning: When scaling up a niche game, remember you‘re still in a
niche
• Just because a lot of people project their dreams into your MMO
doesn‘t mean they will play it- those people you designed the game
for will play it.
THE ‚BETA‘ FACTOR
• All throughout development we were discussing how big the
impact of the game being in beta would be on player retention
• The argument was that players would not grind during a beta if
they knew progress would be wiped
• Learning: Live player curve behaved very similar to Beta player
curve
DESIGN LESSONS
• Surprisingly successful with our unemotional design approach
following game theory and market logic
• Free Market & Game Theory works… until it gets emotional.
• Personal design lesson: „WoWification“ isn‘t everything.
CONCLUSIONS
• Niche MMOs can work!
• Early access can help you to build a much better product than
you can originally afford
• Don‘t get carried away by your own success
• Middleware and clever use of tech is good, but don‘t ever cut
DDOS protection on an MMO
THANK YOU!
Questions?
David Salz (david@sandbox-interactive.com)
Robin Henkys (robin@sandbox-interactive.com)

More Related Content

What's hot

Introduction to Game Development
Introduction to Game DevelopmentIntroduction to Game Development
Introduction to Game DevelopmentShaan Alam
 
Game Design Portfolio: 3 Case Studies
Game Design Portfolio: 3 Case StudiesGame Design Portfolio: 3 Case Studies
Game Design Portfolio: 3 Case StudiesCaroline Murphy
 
Introduction to Game Development and the Game Industry
Introduction to Game Development and the Game IndustryIntroduction to Game Development and the Game Industry
Introduction to Game Development and the Game IndustryNataly Eliyahu
 
An Introduction To Game development
An Introduction To Game developmentAn Introduction To Game development
An Introduction To Game developmentAhmed
 
Game Design 2: Lecture 5 - Game UI Wireframes and Paper Prototypes
Game Design 2: Lecture 5 - Game UI Wireframes and Paper PrototypesGame Design 2: Lecture 5 - Game UI Wireframes and Paper Prototypes
Game Design 2: Lecture 5 - Game UI Wireframes and Paper PrototypesDavid Farrell
 
Scene Graphs & Component Based Game Engines
Scene Graphs & Component Based Game EnginesScene Graphs & Component Based Game Engines
Scene Graphs & Component Based Game EnginesBryan Duggan
 
Comp4010 lecture11 VR Applications
Comp4010 lecture11 VR ApplicationsComp4010 lecture11 VR Applications
Comp4010 lecture11 VR ApplicationsMark Billinghurst
 
A Practical Architecture Design for MMO Casual Game
A Practical Architecture Design for MMO Casual GameA Practical Architecture Design for MMO Casual Game
A Practical Architecture Design for MMO Casual Gameaction.vn
 
Tales from the Optimization Trenches - Unite Copenhagen 2019
Tales from the Optimization Trenches - Unite Copenhagen 2019Tales from the Optimization Trenches - Unite Copenhagen 2019
Tales from the Optimization Trenches - Unite Copenhagen 2019Unity Technologies
 
06. Game Architecture
06. Game Architecture06. Game Architecture
06. Game ArchitectureAmin Babadi
 
Unreal Engine Basics 01 - Game Framework
Unreal Engine Basics 01 - Game FrameworkUnreal Engine Basics 01 - Game Framework
Unreal Engine Basics 01 - Game FrameworkNick Pruehs
 
Game Development Company, Flash Game Development,
Game Development Company, Flash Game Development,Game Development Company, Flash Game Development,
Game Development Company, Flash Game Development,Gateway Technolabs
 
Horizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-MortemHorizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-MortemGuerrilla
 
게임 분산 서버 구조
게임 분산 서버 구조게임 분산 서버 구조
게임 분산 서버 구조Hyunjik Bae
 
Unity 3D
Unity 3DUnity 3D
Unity 3Dgema123
 
Introduction to Unity3D Game Engine
Introduction to Unity3D Game EngineIntroduction to Unity3D Game Engine
Introduction to Unity3D Game EngineMohsen Mirhoseini
 
Intro to Game Development and the Game Industry (She Codes TLV)
Intro to Game Development and the Game Industry (She Codes TLV)Intro to Game Development and the Game Industry (She Codes TLV)
Intro to Game Development and the Game Industry (She Codes TLV)Nataly Eliyahu
 
Unity - Internals: memory and performance
Unity - Internals: memory and performanceUnity - Internals: memory and performance
Unity - Internals: memory and performanceCodemotion
 
Introducting the art pipeline
Introducting the art pipelineIntroducting the art pipeline
Introducting the art pipelineDavid Edwards
 

What's hot (20)

Introduction to Game Development
Introduction to Game DevelopmentIntroduction to Game Development
Introduction to Game Development
 
Game Design Portfolio: 3 Case Studies
Game Design Portfolio: 3 Case StudiesGame Design Portfolio: 3 Case Studies
Game Design Portfolio: 3 Case Studies
 
Introduction to Game Development and the Game Industry
Introduction to Game Development and the Game IndustryIntroduction to Game Development and the Game Industry
Introduction to Game Development and the Game Industry
 
An Introduction To Game development
An Introduction To Game developmentAn Introduction To Game development
An Introduction To Game development
 
Game Design 2: Lecture 5 - Game UI Wireframes and Paper Prototypes
Game Design 2: Lecture 5 - Game UI Wireframes and Paper PrototypesGame Design 2: Lecture 5 - Game UI Wireframes and Paper Prototypes
Game Design 2: Lecture 5 - Game UI Wireframes and Paper Prototypes
 
Scene Graphs & Component Based Game Engines
Scene Graphs & Component Based Game EnginesScene Graphs & Component Based Game Engines
Scene Graphs & Component Based Game Engines
 
Comp4010 lecture11 VR Applications
Comp4010 lecture11 VR ApplicationsComp4010 lecture11 VR Applications
Comp4010 lecture11 VR Applications
 
A Practical Architecture Design for MMO Casual Game
A Practical Architecture Design for MMO Casual GameA Practical Architecture Design for MMO Casual Game
A Practical Architecture Design for MMO Casual Game
 
Tales from the Optimization Trenches - Unite Copenhagen 2019
Tales from the Optimization Trenches - Unite Copenhagen 2019Tales from the Optimization Trenches - Unite Copenhagen 2019
Tales from the Optimization Trenches - Unite Copenhagen 2019
 
06. Game Architecture
06. Game Architecture06. Game Architecture
06. Game Architecture
 
Unreal Engine Basics 01 - Game Framework
Unreal Engine Basics 01 - Game FrameworkUnreal Engine Basics 01 - Game Framework
Unreal Engine Basics 01 - Game Framework
 
Game Development Company, Flash Game Development,
Game Development Company, Flash Game Development,Game Development Company, Flash Game Development,
Game Development Company, Flash Game Development,
 
Offshore Game Development Presentation
Offshore Game Development PresentationOffshore Game Development Presentation
Offshore Game Development Presentation
 
Horizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-MortemHorizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-Mortem
 
게임 분산 서버 구조
게임 분산 서버 구조게임 분산 서버 구조
게임 분산 서버 구조
 
Unity 3D
Unity 3DUnity 3D
Unity 3D
 
Introduction to Unity3D Game Engine
Introduction to Unity3D Game EngineIntroduction to Unity3D Game Engine
Introduction to Unity3D Game Engine
 
Intro to Game Development and the Game Industry (She Codes TLV)
Intro to Game Development and the Game Industry (She Codes TLV)Intro to Game Development and the Game Industry (She Codes TLV)
Intro to Game Development and the Game Industry (She Codes TLV)
 
Unity - Internals: memory and performance
Unity - Internals: memory and performanceUnity - Internals: memory and performance
Unity - Internals: memory and performance
 
Introducting the art pipeline
Introducting the art pipelineIntroducting the art pipeline
Introducting the art pipeline
 

Similar to Making an independend MMO - The Albion Online Story

Massively Social != Massively Multiplayer
Massively Social != Massively MultiplayerMassively Social != Massively Multiplayer
Massively Social != Massively MultiplayerPaul Furio
 
DevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile GamesDevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile GamesAndreas Katzig
 
Respawn 2015: Chimera Entertainment - A decade of game development
Respawn 2015: Chimera Entertainment - A decade of game developmentRespawn 2015: Chimera Entertainment - A decade of game development
Respawn 2015: Chimera Entertainment - A decade of game developmentAndreas Katzig
 
PHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationPHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationNils Hofmeister
 
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...gamifi.cc
 
Inside the IT Territory game server / Mark Lokshin (IT Territory)
Inside the IT Territory game server / Mark Lokshin (IT Territory)Inside the IT Territory game server / Mark Lokshin (IT Territory)
Inside the IT Territory game server / Mark Lokshin (IT Territory)DevGAMM Conference
 
Metodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en GamingMetodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en GamingGlobant
 
Rise of the hybrids
Rise of the hybridsRise of the hybrids
Rise of the hybridsOron Ben Zvi
 
Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...
Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...
Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...SanaChoudary
 
"Portrait of the developer as The Artist" Lockheed Architect Workshop
"Portrait of the developer as The Artist" Lockheed Architect Workshop"Portrait of the developer as The Artist" Lockheed Architect Workshop
"Portrait of the developer as The Artist" Lockheed Architect WorkshopPatrick Chanezon
 
Introduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIntroduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIndyMobileNetDev
 
Forge - DevCon 2016: Implementing Rich Applications in the Browser
Forge - DevCon 2016: Implementing Rich Applications in the BrowserForge - DevCon 2016: Implementing Rich Applications in the Browser
Forge - DevCon 2016: Implementing Rich Applications in the BrowserAutodesk
 
Coding for the cloud - development of modern web applications
Coding for the cloud - development of modern web applicationsCoding for the cloud - development of modern web applications
Coding for the cloud - development of modern web applicationsWekoslav Stefanovski
 
Sergata Ltd. - Innovative Software Development
Sergata Ltd. - Innovative Software DevelopmentSergata Ltd. - Innovative Software Development
Sergata Ltd. - Innovative Software DevelopmentTsvika Kleinman
 
How we use the play framework
How we use the play frameworkHow we use the play framework
How we use the play frameworkItai Gilo
 
Node js - Enterprise Class
Node js - Enterprise ClassNode js - Enterprise Class
Node js - Enterprise ClassGlenn Block
 
A Holistic Approach to HTML5 Game Design & Development
A Holistic Approach to HTML5 Game Design & DevelopmentA Holistic Approach to HTML5 Game Design & Development
A Holistic Approach to HTML5 Game Design & DevelopmentKarl Bunyan
 

Similar to Making an independend MMO - The Albion Online Story (20)

Massively Social != Massively Multiplayer
Massively Social != Massively MultiplayerMassively Social != Massively Multiplayer
Massively Social != Massively Multiplayer
 
DevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile GamesDevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile Games
 
Respawn 2015: Chimera Entertainment - A decade of game development
Respawn 2015: Chimera Entertainment - A decade of game developmentRespawn 2015: Chimera Entertainment - A decade of game development
Respawn 2015: Chimera Entertainment - A decade of game development
 
PHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationPHP Unconference Continuous Integration
PHP Unconference Continuous Integration
 
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
 
cadec-2017-golang
cadec-2017-golangcadec-2017-golang
cadec-2017-golang
 
Inside the IT Territory game server / Mark Lokshin (IT Territory)
Inside the IT Territory game server / Mark Lokshin (IT Territory)Inside the IT Territory game server / Mark Lokshin (IT Territory)
Inside the IT Territory game server / Mark Lokshin (IT Territory)
 
Metodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en GamingMetodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en Gaming
 
SeaJUG 5 15-2018
SeaJUG 5 15-2018SeaJUG 5 15-2018
SeaJUG 5 15-2018
 
Augernaut js
Augernaut jsAugernaut js
Augernaut js
 
Rise of the hybrids
Rise of the hybridsRise of the hybrids
Rise of the hybrids
 
Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...
Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...
Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...
 
"Portrait of the developer as The Artist" Lockheed Architect Workshop
"Portrait of the developer as The Artist" Lockheed Architect Workshop"Portrait of the developer as The Artist" Lockheed Architect Workshop
"Portrait of the developer as The Artist" Lockheed Architect Workshop
 
Introduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIntroduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual Studio
 
Forge - DevCon 2016: Implementing Rich Applications in the Browser
Forge - DevCon 2016: Implementing Rich Applications in the BrowserForge - DevCon 2016: Implementing Rich Applications in the Browser
Forge - DevCon 2016: Implementing Rich Applications in the Browser
 
Coding for the cloud - development of modern web applications
Coding for the cloud - development of modern web applicationsCoding for the cloud - development of modern web applications
Coding for the cloud - development of modern web applications
 
Sergata Ltd. - Innovative Software Development
Sergata Ltd. - Innovative Software DevelopmentSergata Ltd. - Innovative Software Development
Sergata Ltd. - Innovative Software Development
 
How we use the play framework
How we use the play frameworkHow we use the play framework
How we use the play framework
 
Node js - Enterprise Class
Node js - Enterprise ClassNode js - Enterprise Class
Node js - Enterprise Class
 
A Holistic Approach to HTML5 Game Design & Development
A Holistic Approach to HTML5 Game Design & DevelopmentA Holistic Approach to HTML5 Game Design & Development
A Holistic Approach to HTML5 Game Design & Development
 

Recently uploaded

Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 

Recently uploaded (20)

Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 

Making an independend MMO - The Albion Online Story

  • 1. MAKING AN INDEPENDENT MMO THE ALBION ONLINE STORY DAVID SALZ (DAVID@SANDBOX-INTERACTIVE.COM) ROBIN HENKYS (ROBIN@SANDBOX-INTERACTIVE.COM)
  • 2. WHO ARE WE? • David Salz, CTO and co-founder of Sandbox Interactive • 18 years in game development • Founder of Indie-Studio „Bitfield“ & BitEngine (only commercial engine for Nintendo DS) • Robin Henkys, CEO & Game Director • 11 years in game development • Previously worked on Drakensang Party RPGs and was the lead designer on Drakensang Online, a hack & slay MMO
  • 3. WHO IS SANDBOX INTERACTIVE? • An independent game developer founded in 2012 • Based in Berlin, Germany • Employs 30 full time on-site plus another 15-20 part time Freelancers worldwide • Exists to develop, market and distribute Albion Online
  • 4. WHAT IS ALBION ONLINE? • Independent MMORPG • privately funded and self-published! • > 500.000 players • Open Beta in 2016, Release in 2017, Steam-Release in 2018 • Sandbox, Full-Loot, PvP and Guild-heavy • One World (like Eve Online) • Cross-platform (PC/Mac/Linux/Android/iOS)
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. FOUNDING THE COMPANY • External investor with game idea • Good budget, but way too small for the suggested scope • Won the pitch! • Suggested inexpensive prototype • Modesty and honesty pays off! • good: used an existing indie team as a starting point of the team • already existing network was invaluable!
  • 14. GETTING STARTED • core team had never done an online game... • (but lots of experience otherwise) • got external coaches with relevant experience! • picked proven technology / middleware • (a first for all of us!) • made some hard choices in game design to avoid production risks • simple art style (small team, small budget, performance considerations) • loading screens instead of “streaming” world
  • 15.
  • 16.
  • 17.
  • 18. MIDDLEWARE • Unity3D (starting w/ 3.5 in 2012, trying to always use the latest „stable“) • Photon (Cross-Platform Networking library and server framework) • using C# on client and server (with lots of shared code) • Cassandra – high-performance NoSQL in-memory database • offers horizontal scaling! • Postgres – best (feature-wise) free SQL DB
  • 19. KEEPING CONTROL OF THE TECHNOLOGY • good: used only minimal feature set of engine, network middleware • kept Unity completely out of server! (way too slow, way to unreliable!) • fully functional "command line" client that works without Unity (also allows bots, easy load tests etc.) • wrote key components ourselves: • level loading, collision, pathfinding, AI, complete server structure etc. • using Unity for Graphics, Animation, Visual Effects, UI, Input handling • good compromise between using an engine and roll-our-own!
  • 20.
  • 21.
  • 22.
  • 23. PROTOTYPE & REFINANCE • Initial Prototype proved ability of the team • Led to additional investment & continued dev into “Alpha” • This was a change to the original plan
  • 24. COMMUNITY BUILDING • involved large guilds in the development process at a very early stage • tested early builds with closed user groups in 2-4 week "alpha" test sessions • offered special rewards such as custom guild logos etc. • invaluable feedback • became the seed of our community with long reaching loyalty
  • 25.
  • 26. KEEPING DESIGN ON TRACK • Took radical design decisions based on the idea that these would have emotional resonance • Set these design decisions as immoveable pillars and stuck with them: • All items player crafted • Full Loot PvP • You are what you wear (no classes) • No item teleportation • This worked: with a radical promises we got a lot of attention and by delivering on them in Alpha we built our early access program
  • 27. SCALING WITH SUCCESS • Original production value and scope were based on budget • Early Access success lead to an increase in scope and production value • This lead to further growth • In the end achieved 3-4x the original budget production value through early access until launch
  • 28. „WILD“ GROWTH • Wrote a novel with british author Peter Newman • Novel flopped, but the story development was very valueable to guide content production • Orchestral Soundtrack • We also run our own regular AlbionTV stream which follows the developing player
  • 29.
  • 30. MARKETING & PUBLISHING YOUR OWN MMO • Marketing • Youtube, Twitch, High quality preview videos • Distribution • Outsourced web development – expensive & made integration harder
  • 32. TECH FAILS #1 • at one point, we had all buildings disappear in a closed alpha... • ... which turned out to be a Cassandra bug (secondary index “lost”) • "bleeding edge" open source technology is dangerous. • Even release builds can have catastrophic bugs  • Do long-term testing before phasing a new middleware build into production! • Consider using "older" builds where the bugs are already known!
  • 33. TECH FAILS #2 (A POST-LAUNCH DISASTER) • After 12-18 hours under full load, Cassandra suddenly became unresponsive for 5-8 minutes, killing the game • Unable to fix this for > 2 weeks  • solution: get a consultant – move from Windows to Linux (like everyone else) • problem was disc IO bottleneck between Cassandra and Windows RAID controller driver • Try to use technology the same way everyone else is using it!
  • 34. DDOS ATTACKS • Researched DDos protection ahead of launch • Very expensive • Technologically complicated (requires own AS, own IP range, BGP routers…) • takes months to implement • … so let‘s not do this
  • 35. DDOS ATTACKS • Got blackmailed and attacked • > 4 weeks, > 60 Gbps attacks • Sleepless nights, upset community • burned through first mitigation provider (cheap is sometimes too cheap) • Then got (expensive) external help • Should have done this earlier!
  • 36. INTERMISSION: DDOS MITIGATION Game Server Game Server Game Server Router THE INTERNET Criminals live here (customers, too) Our Data Center Public IP Range Clean Traffic Attack Traffic ReturnTraffic
  • 37. INTERMISSION: DDOS MITIGATION Game Server Game Server Game Server Router Router THE INTERNET Criminals live here (customers, too) „Scrubbing Center“ Attack Traffic gets filtered out Our Data Center Anti-DDos- Provider Public IP Range Clean Traffic Attack Traffic Clean Traffic Delivered via GRE Tunnel Redundant Routers (Fail-Over) ReturnTraffic Routers switch Public IP Range between our DC and Scrubbing Center via BGP protocol
  • 38. BUSINESS LESSONS • When we launched and sold hundreds of thousands of games, we were a company of almost 60 employees • 6 months later we had to make the decision to scale the team to the actual player base • Learning: When scaling up a niche game, remember you‘re still in a niche • Just because a lot of people project their dreams into your MMO doesn‘t mean they will play it- those people you designed the game for will play it.
  • 39.
  • 40. THE ‚BETA‘ FACTOR • All throughout development we were discussing how big the impact of the game being in beta would be on player retention • The argument was that players would not grind during a beta if they knew progress would be wiped • Learning: Live player curve behaved very similar to Beta player curve
  • 41. DESIGN LESSONS • Surprisingly successful with our unemotional design approach following game theory and market logic • Free Market & Game Theory works… until it gets emotional. • Personal design lesson: „WoWification“ isn‘t everything.
  • 42. CONCLUSIONS • Niche MMOs can work! • Early access can help you to build a much better product than you can originally afford • Don‘t get carried away by your own success • Middleware and clever use of tech is good, but don‘t ever cut DDOS protection on an MMO
  • 43. THANK YOU! Questions? David Salz (david@sandbox-interactive.com) Robin Henkys (robin@sandbox-interactive.com)