Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

PopCon Asia 2013

No description
by

Simon Eyraud

on 3 July 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of PopCon Asia 2013

PopCon Asia 2013
Simon EYRAUD - Lead Developper
Jobs team presentation
Client side focus
Animation engine
Manage bugs
Involve technical community
Package and distribute game
Art team
Level designers
Sound designers
Animators
Technical team
Tools programmers
Tools are time consuming

Tools are costly

Tools programming is not appealing
Graphic artists
But database are not user-friendly
Less human errors
Massive time gain once done
Server programmers
One server to rule them all
Data persistance

Game rules

IA (50% of CPU spending time)
The animation engine
DOFUS?
2d Tactical MMO RPG
Soon 10 years old
DOFUS
2.8 millions distincts players per month
Jobs team presentation
Client side focus
Bones-based animation
More than 20 different equipable slots on the playable characters bones
Colorizable independent skin parts
25 frames per second and framerate independent animations
Event-aware animations for FX and audio synchronization

"It's not a bug, it's a feature"
(Anonymous programmer)
Bugs management
TypeError: Error

#1009
: Cannot access a property or method of a null object reference.
at
Function
/<anonymous>()[
/[path-to-source-file]/
TestClass
.as:14]
at flash.utils::
Timer
/_timerDispatch()
at flash.utils::
Timer
/tick()
Automatic online error reporting
Expected errors:
what are you doing into this wall?
Unexpected errors:
How many players had this bug?

Is it a fatal error?

What is the context?

Be sure your system can handle massive reporting
Involve technical
community
UI are separate from game core

Works like a secure plugin system

Players can create their own plugins
Can replace any native UI

Can access game data (data mining)

Can send online data if user allows it

Can write files
Gains:
Discover original ideas

You don't have time to do everything

Find interesting profiles of people loving your game
Package and distribute your game
GAME
Art assets
Code
Musics
Datas
LOCAL
Testing
Beta
Production team
Tester team
Players
Game designers
Client programmers
Game
External UI 1
External UI 2
10 minutes
1 hour
Daily
RELEASE
Monthly
Same skin example
Different hats
Different colors

Keep an history of each resources
Be able to partition data, assets and code
Easy integration (we're not all technical)
Quick iteration for integration
Essential
Use versioning system
DOFUS use SVN

Keep history (180 Go in DOFUS)

Assets / code partition
Use a Continuous Integration server (jenkins, teamcity, ...)

Automatic build when something changes

Run automated tests
Change
Automatic
tests
Automatic
BUILD
Distribute your game through an updater
Centralized distribution
Automatic updates
Easy for users
QUESTIONS
Thank to Samuel Lorétant
Simon EYRAUD - Lead Developper
Contact:
simsoft@ankama.com
Stand:

47-52
Full transcript