SlideShare a Scribd company logo
1 of 43
Download to read offline
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

Next-generation MMORPG service architecture
Next-generation MMORPG service architectureNext-generation MMORPG service architecture
Next-generation MMORPG service architectureJongwon Kim
 
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
 
A simple and powerful property system for C++ (talk at GCDC 2008, Leipzig)
A simple and powerful property system for C++ (talk at GCDC 2008, Leipzig)   A simple and powerful property system for C++ (talk at GCDC 2008, Leipzig)
A simple and powerful property system for C++ (talk at GCDC 2008, Leipzig) David Salz
 
기획자의 포트폴리오는 어떻게 써야 할까
기획자의 포트폴리오는 어떻게 써야 할까기획자의 포트폴리오는 어떻게 써야 할까
기획자의 포트폴리오는 어떻게 써야 할까Han Je Sung
 
Building a World in the Clouds: MMO Architecture on AWS (MBL304) | AWS re:Inv...
Building a World in the Clouds: MMO Architecture on AWS (MBL304) | AWS re:Inv...Building a World in the Clouds: MMO Architecture on AWS (MBL304) | AWS re:Inv...
Building a World in the Clouds: MMO Architecture on AWS (MBL304) | AWS re:Inv...Amazon Web Services
 
NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀승명 양
 
위대한 게임개발팀의 공통점
위대한 게임개발팀의 공통점위대한 게임개발팀의 공통점
위대한 게임개발팀의 공통점Ryan Park
 
마비노기듀얼 이야기-넥슨 김동건
마비노기듀얼 이야기-넥슨 김동건마비노기듀얼 이야기-넥슨 김동건
마비노기듀얼 이야기-넥슨 김동건강 민우
 
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)Heungsub Lee
 
게임서버프로그래밍 #2 - IOCP Adv
게임서버프로그래밍 #2 - IOCP Adv게임서버프로그래밍 #2 - IOCP Adv
게임서버프로그래밍 #2 - IOCP AdvSeungmo Koo
 
Intro to Game Design
Intro to Game DesignIntro to Game Design
Intro to Game DesignGraeme Smith
 
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3Heungsub Lee
 
게임제작개론 : #6 게임 시스템 구조에 대한 이해
게임제작개론 : #6 게임 시스템 구조에 대한 이해게임제작개론 : #6 게임 시스템 구조에 대한 이해
게임제작개론 : #6 게임 시스템 구조에 대한 이해Seungmo Koo
 
임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012devCAT Studio, NEXON
 
NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현noerror
 
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero DawnPutting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero DawnGuerrilla
 
Modular Level Design for Skyrim
Modular Level Design for SkyrimModular Level Design for Skyrim
Modular Level Design for SkyrimJoel Burgess
 
게임서버프로그래밍 #1 - IOCP
게임서버프로그래밍 #1 - IOCP게임서버프로그래밍 #1 - IOCP
게임서버프로그래밍 #1 - IOCPSeungmo Koo
 
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리YEONG-CHEON YOU
 
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero DawnPlayer Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero DawnGuerrilla
 

What's hot (20)

Next-generation MMORPG service architecture
Next-generation MMORPG service architectureNext-generation MMORPG service architecture
Next-generation MMORPG service architecture
 
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
 
A simple and powerful property system for C++ (talk at GCDC 2008, Leipzig)
A simple and powerful property system for C++ (talk at GCDC 2008, Leipzig)   A simple and powerful property system for C++ (talk at GCDC 2008, Leipzig)
A simple and powerful property system for C++ (talk at GCDC 2008, Leipzig)
 
기획자의 포트폴리오는 어떻게 써야 할까
기획자의 포트폴리오는 어떻게 써야 할까기획자의 포트폴리오는 어떻게 써야 할까
기획자의 포트폴리오는 어떻게 써야 할까
 
Building a World in the Clouds: MMO Architecture on AWS (MBL304) | AWS re:Inv...
Building a World in the Clouds: MMO Architecture on AWS (MBL304) | AWS re:Inv...Building a World in the Clouds: MMO Architecture on AWS (MBL304) | AWS re:Inv...
Building a World in the Clouds: MMO Architecture on AWS (MBL304) | AWS re:Inv...
 
NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀
 
위대한 게임개발팀의 공통점
위대한 게임개발팀의 공통점위대한 게임개발팀의 공통점
위대한 게임개발팀의 공통점
 
마비노기듀얼 이야기-넥슨 김동건
마비노기듀얼 이야기-넥슨 김동건마비노기듀얼 이야기-넥슨 김동건
마비노기듀얼 이야기-넥슨 김동건
 
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
 
게임서버프로그래밍 #2 - IOCP Adv
게임서버프로그래밍 #2 - IOCP Adv게임서버프로그래밍 #2 - IOCP Adv
게임서버프로그래밍 #2 - IOCP Adv
 
Intro to Game Design
Intro to Game DesignIntro to Game Design
Intro to Game Design
 
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
 
게임제작개론 : #6 게임 시스템 구조에 대한 이해
게임제작개론 : #6 게임 시스템 구조에 대한 이해게임제작개론 : #6 게임 시스템 구조에 대한 이해
게임제작개론 : #6 게임 시스템 구조에 대한 이해
 
임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012
 
NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현
 
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero DawnPutting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
 
Modular Level Design for Skyrim
Modular Level Design for SkyrimModular Level Design for Skyrim
Modular Level Design for Skyrim
 
게임서버프로그래밍 #1 - IOCP
게임서버프로그래밍 #1 - IOCP게임서버프로그래밍 #1 - IOCP
게임서버프로그래밍 #1 - IOCP
 
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
 
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero DawnPlayer Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
 

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

GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Effort Estimation Techniques used in Software Projects
Effort Estimation Techniques used in Software ProjectsEffort Estimation Techniques used in Software Projects
Effort Estimation Techniques used in Software ProjectsDEEPRAJ PATHAK
 
full course of software engineering mid term.pdf
full course of software engineering mid term.pdffull course of software engineering mid term.pdf
full course of software engineering mid term.pdfAbdul salam
 
Revolutionize Your Video Editing with InVideo.io: A Comprehensive Review
Revolutionize Your Video Editing with InVideo.io: A Comprehensive ReviewRevolutionize Your Video Editing with InVideo.io: A Comprehensive Review
Revolutionize Your Video Editing with InVideo.io: A Comprehensive Reviewjw364beach
 
What is Mendix and the concept of low-code development.docx
What is Mendix and the concept of low-code development.docxWhat is Mendix and the concept of low-code development.docx
What is Mendix and the concept of low-code development.docxTechnogeeks
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
logical backup of Oracle Datapump-detailed.pptx
logical backup of Oracle Datapump-detailed.pptxlogical backup of Oracle Datapump-detailed.pptx
logical backup of Oracle Datapump-detailed.pptxRemote DBA Services
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Mastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxMastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxAS Design & AST.
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
Key Steps in Agile Software Delivery Roadmap
Key Steps in Agile Software Delivery RoadmapKey Steps in Agile Software Delivery Roadmap
Key Steps in Agile Software Delivery RoadmapIshara Amarasekera
 
oracle 23c new features for developer and dba
oracle 23c new features for developer and dbaoracle 23c new features for developer and dba
oracle 23c new features for developer and dbaRemote DBA Services
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
Advantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxAdvantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxRTS corp
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdfSteve Caron
 

Recently uploaded (20)

GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Effort Estimation Techniques used in Software Projects
Effort Estimation Techniques used in Software ProjectsEffort Estimation Techniques used in Software Projects
Effort Estimation Techniques used in Software Projects
 
full course of software engineering mid term.pdf
full course of software engineering mid term.pdffull course of software engineering mid term.pdf
full course of software engineering mid term.pdf
 
Revolutionize Your Video Editing with InVideo.io: A Comprehensive Review
Revolutionize Your Video Editing with InVideo.io: A Comprehensive ReviewRevolutionize Your Video Editing with InVideo.io: A Comprehensive Review
Revolutionize Your Video Editing with InVideo.io: A Comprehensive Review
 
What is Mendix and the concept of low-code development.docx
What is Mendix and the concept of low-code development.docxWhat is Mendix and the concept of low-code development.docx
What is Mendix and the concept of low-code development.docx
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
logical backup of Oracle Datapump-detailed.pptx
logical backup of Oracle Datapump-detailed.pptxlogical backup of Oracle Datapump-detailed.pptx
logical backup of Oracle Datapump-detailed.pptx
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Mastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxMastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptx
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
Key Steps in Agile Software Delivery Roadmap
Key Steps in Agile Software Delivery RoadmapKey Steps in Agile Software Delivery Roadmap
Key Steps in Agile Software Delivery Roadmap
 
oracle 23c new features for developer and dba
oracle 23c new features for developer and dbaoracle 23c new features for developer and dba
oracle 23c new features for developer and dba
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
Advantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxAdvantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptx
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
 

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)