behind story in publisher that developer doesn't know

77
Behind story in a Publisher that developer doesn’t know Story of aspect of Engineer Nexon America David Kim

Upload: david-kim

Post on 15-Aug-2015

31 views

Category:

Software


2 download

TRANSCRIPT

Behind story in a Publisher that developer doesn’t know

Story of aspect of Engineer

Nexon America

David Kim

Software Engineer - Web - Client - Network

David Kim

Intro.

Manager - Web development - Technical Director - Game Development

Production - Sourcing - Project Manager - Producer Senior Technical Operations Engineer

(about 15yrs)

Nexon America

( https://zapier.com/blog/aral-balkan-design-talk/)

Please change the outlet!!!

It’s hard to fix because it quite fit on the table and the wall !

But there are a lots of

complains! Why they use them? Just tell them to use the proper one !!!

CCU drop gently

Revenue drop slowly

Close the Service

Hard to analyze the reason

Why ?

( http://www.gettingagile.com/2012/03/04/the-stability-index-focusing-on-release-stabilization/)

What if, 12M revenue/yr game

And 5hrs maint. bi-weekly

178K loss/yr by maintenance

Three of 50K developer + beer!

Expense : $$$+efforts+stress

20 times With 74hrs

Req. dev for service

Delay content dev. schedule

Unstable Decrease

the level of completion and productivities

( http://www.dongabiz.com/ASP/SKENO/article_view.php?atno=1102027101&chap_no=1&category_group=/)

Unbalanced update

Stressful Dev.

Stressful playing

Stressful publishing

( http://blog.skenergy.com/752, http://www.workingschool.net/21, http://jjalm.tistory.com/98, http://anotherstep.ruzuku.com/your-online-course-business-needs-focus/)

Things that I want to talk…

Filtered Subjects…

Register Install Log-in Play

Let’s catch up the players from the beginning.

( http://www.australiangeographic.com.au/outdoor/guides/2010/05/guide-to-insurance-for-adventure-travel/)

( http://www.ohmynews.com/NWS_Web/view/at_pg.aspx?CNTN_CD=A0001310307)

( http://www.lotteimall.com/goods/viewGoodsDetail.lotte?goods_no=9387707 http://m.ppomppu.co.kr/new/bbs_view.php?id=oversea&no=428600)

Register

Install Client binary

Download

Patch

Login

Connect to Game Server

Client Crash

In-game Event

Files should be SIMLE!

Keep It Short and Simple

( http://threestory.tistory.com/14)

Give up during install

Problem during patch

Give up ‘cause HDD cap.

Give up ’cause slow HDD

( http://geoffblades.com/most-people-should-give-up-on-what-they-want/)

(http://www.slideshare.net/slideshow/embed_code/key/lOtZPsSUBtfbVp)

Same resource files in server with Client files?

Increase deployment time + server loading time

Need more maintenance time

(http://deanroberts.net/2014/12/15/waiting-for/ )

Install Client binary

Patch

Register

Download

Login

Connect to Game Server

Client Crash

In-game Event

Patch is for Players Conveniences

( http://elvg.ch/entspannung/entwicklung.php)

Only check the version

Patch Server 1016to1021 1017to1021 1018to1021 1019to1021 1020to1021

PatchFile1018to1021

Version. 1018

Version. 1021

Check the version

Download and patch

Problem 1

If player has old version : Re-Installation

Problem 2. Same version but some files were damaged :

Re-Installation

Problem 3.

It’s way too loooong time to make patch set

Patch Server 1021files

(compressed)

Monster.pak SoundA.pak Game.exe

Version. 1018

Version. 1021

Check version and file-list

Download an patch only diff files

Check version + files

File-list

File-list

File name Created date/time(UTC) File size (option : Checksum)

Tiny Size

Monster.pkg 2014.03.02 15:00:06 Character.pkg 2014.03.01 09:00:06

Monster.pkg 2014.03.02 14:00:06 Character.pkg 2014.03.01 08:00:06

Monster.pkg 2014.03.02 15:00:06 Character.pkg 2014.03.01 09:00:06

Patch Server Player’s PC

Download ALL files

( http://www.inven.co.kr/board/powerbbs.php?come_idx=3310&l=41473)

Pros :

Possible to recover the only damaged files Patch only diff files even if very old version

Not that long time to generate patch set

DIFF patch

DIFF01

DIFF02

v. 141 v. 140

DIFF01

DIFF02

Patch set

v. 140

DIFF01

DIFF02

v. 141

Login Patch

Install Client binary

Register

Download

Connect to Game Server

Client Crash

In-game Event

Ad Register Login Play

Make connect the flow be disconnected

(http://blog.daum.net/sonnaa40)

Compare MANUALLY

… … AdCode

Player001 … FB020

Player002 … GG321

Auth. Server

Login Server Req. Auth.

Req. Auth.

Account DB

Sync

Res. Auth.

Easy, but needs restructuring

If developer can understand the situations,

( http://www.slideshare.net/LukeStapley/introduction-to-business-english-day-12)

Patch

Connect to Game Server

But, Failed !!

Login

Install Client binary

Register

Download

Client Crash

In-game Event

When server down…

( http://cliparts.co/tombstone-clipart)

( http://www.whimsys-menagerie.com/bloat.htm, http://pinoria.com/entry-level-engineers-earn-phds/)

( https://manandthegoose.wordpress.com/)

Server HAVE TO be resurrected if they died,

( Planet vs Zombie)

HAVE TO reconnect each others by themselves,

They need to know the time to DIE by themselves.

( http://blog.daum.net/_blog/BlogTypeView.do?blogid=04oGj&articleno=13844419)

Ex. Restarting by themselves

Server Default: 120MB usage

200 MB

Condition to restart

( http://moviesnewdownload.blogspot.kr/2013/03/download-die-hard-6-good-day-to-die.html)

Client Crash

Connect to Game Server

Patch

Login

Install Client binary

Register

Download

In-game Event

Immortal enemy : CRASH!

( http://dynamicy.github.io/blog/2014/11/08/use-lldb-to-check-coredump/)

(환경 : http://www.tutorialspoint.com/compile_c_online.php)

Not proper stance for the crash

Logs of Crash claims!!

Very serious! Somewhere in-game Forum and CS

How d’you know? Is it critical? Where?

( http://blissyoga.us/guru/ http://www.strategicdc.com/the-chiropractic-audit-compliance-staff-bomb-you-dont-want-to-explode-part-1/)

Where How many?

(example)

Logging Indexes all of player’s conduct

( http://en.wikipedia.org/wiki/Bomb_Jack)

Conventional way to collect crash info.

Collecting Server

Disconnection

Transfer the crash info, e.q dump, call stack

( http://jezebel.com/that-50-percent-divorce-statistic-hasnt-been-true-for-a-1665833364)

CRASH!!!

Improved collecting the crash info.

Login Server

Req. Auth. Collecting

Server

Send crash info if it exists and delete.

( http://www.crossover.org.au/how-to-get-a-90-success-rate-in-church-planting/)

In-Game Event!!

Client Crash

Connect to Game Server

Patch

Login

Install Client binary

Register

Download

In-Game Event?

( http://www.nexon.net http://www.eqn-rp.com/forum/m/15888517/viewthread/16522982-illusion-progression-in-mmorpgs-leveling-obsolete/post/last)

Real-time is not an option !

( https://davidjcarr.wordpress.com/tag/real-time/)

Utilize system scheduler

Pros of real-time event

( https://www.propellerheads.se/blog/game-night-at-propellerhq)

Server down for giveaway the reward item?

Maintenance: insert/update Inventory table

Alt. : insert/update Mailbox ( Exception handle for max qty. )

Goal: Giveaway 3days item. Expire in 14 days Target : Selected players in certain condition

update inventory Issue : Some player will not be able to use if login after 3days

update mailbox Issue : Some player will be able to use after 14 days if they pull-out the item later

Recommends: Receive the item when they login

Real-time login event? Not support the selected players

Insert Giveaway table select when login

Real-time login event + Selected player’s table

No need maintenance In case of Mass giveaway, no critical affect on live server

Server down for start/end to sell item?

No maintenance will be needed for selling item/products in on-line shopping mall as well as off-line shopping mall

Shop Server In game

Shop server in publisher

Item info

Game Server

Item info

Trigger event Collect/revise the item data

Please develop the FUN game.

Do not work overtime.

We are a Partner!

( http://www.vitalvoiceanddata.com/partnership/)

Queue & A*

Thank you