Player Taxonomy and Memory Optimization Technique in Mobile MMORPG PowerPoint PPT Presentation

presentation player overlay
1 / 35
About This Presentation
Transcript and Presenter's Notes

Title: Player Taxonomy and Memory Optimization Technique in Mobile MMORPG


1
Player Taxonomy and Memory Optimization Technique
in Mobile MMORPG
  • Zheng Zibin
  • Group Presentaion
  • Oct. 2, 2007

2
  • Part 1 A Taxonomy Model of Player Activities in
    Mobile MMORPGs
  • Part 2 Memory Optimization Technique in Mobile
    MMOPRGs

3
RA-Model A Taxonomy Model of Player Activities
in Mobile MMORPGs
Part 1
Mobility Conference 2007, Singapore Polytechnic,
Singapore, 12 September, 2007
4
Outline of Part 1
  • 1.Introduction
  • 2.Related Work
  • 3.RA-Model
  • 4.Experiment
  • 5.Conclusion

5
1.Introduction
  • Mobile online game
  • In China, there are a large number of mobile
    phone users, so the development potential of
    mobile online game is tremendous.
  • Constrained by the mobile phone and mobile
    network performance, mobile online games in China
    are still at the starting stage. More research
    efforts are needed in order to design and develop
    better mobile online games.

6
1.Introduction
  • Mobile MMORPG (Massively Multiplayer Online Role
    Playing Game)
  • Thousands of players play at the same time in a
    virtual world.
  • Player activities in the game include chatting,
    fighting, trading, walking...
  • Client/Server architecture, player data are
    stored in database of game server.
  • There are a lot of player data in the database of
    mobile online game server.
  • Gender of avatar, Money, Friend list, Family
    information, Item list, Weapons, Battle times.
  • Questions
  • How to get useful information from these data to
    assist game design and maintenance?

7
1.Introduction
  • Player Taxonomy Model RA-Model
  • Using the data form database to classify the
    players into different types.
  • Player payment analysis and game balance control
    based on RA-Model.
  • Experiment
  • Using data from one of the most popular
    commercial mobile MMORPG in China.
    http//www.infoislive.com
  • More than 300,000 registered players.
  • Support more than 800 types of mobile phones.

8
2.Related Work
  • 1996, Bartle,R.1 proposed a simple taxonomy for
    players in MUDs (Multi-User Dungeon) based on a
    long, heated discussion.
  • 2006, Yee,N. 8,9 proposed five motivation
    factors for why people play MMORPG based on
    questionnaire.
  • Relationship, Immersion, Grief, Achievement,
    Leadership
  • Drawbacks
  • The obtained information of players is not
    detailed enough.
  • Difficult to get information of all players in
    the game.
  • Difficult to get real time information of the
    player.

9
3.RA-Model
  • RA-Model use the data from the database of the
    mobile online game server to classify the players
    in the game world into different types.
  • Get accurate, real time information of all the
    players in the game.
  • R Relationship
  • Measure the desire of a player to interact with
    others in the game. Represent the society aspect
    of a player, including communication,
    collaboration and so on.
  • A Achievement
  • Measure the desire of a player to act and achieve
    game-related goals. It represents the self aspect
    of a player, including the power, the money and
    so on.

10
3.RA-Model
  • Player Taxonomy
  • Socializer Players who interact a lot with
    others in the game. This players usually have
    family, a lot of friends and take important
    position in organizations in the game world.
  • Moderator Players who Interact with others as
    well as acting in the game. These players are
    important for game world stability.
  • Fighter Players who act a lot in the game, and
    they like killing and fighting. These players
    care about power and their self-interest, and
    they sometime will feel loneliness.

11
4. Experiment
  • Commercial Mobile MMORPG ZhanGuo
  • Top 10 Mobile Online Game Award of 2006 in
    China
  • Samples 1 week, 1 game server, 3712 Players.

12
4. Experiment
  • Attributes of players
  • Attribute Value Standardized (0-1)

Original value.
Standardized value.
The max/min value of all values.
13
4. Experiment
  • Player Attributes Clustering

14
4. Experiment
  • Player Taxonomy
  • PRelationship/Achievement

Total Players
Moderator
Socializer
Fighter

15
4. Experiment
  • Payment Analysis
  • Balance Control
  • Track the number and proportion of different
    types.
  • Compare the proportion of different player types
    and make it approximately the same over a long
    time.

16
5.Conclusion and Future Work
  • Conclusion
  • RA-Model
  • Relationship and Achievement
  • Socializer, Moderator and Fighter.
  • Experiment
  • Payment analysis
  • Balance control
  • Future work
  • Testing on more mobile online games and make
    comparison.
  • Learn more about the change of players from on
    type to another type (For example
    Fighter??Moderator??Socializer).

17
End of Part 1!Questions?
18
Memory Optimization Technique in Mobile MMORPGs
Part 2
19
Outline
  • 1.Memory types in J2ME
  • 2.Game Size Optimization
  • 3.Runtime Memory Optimization

20
1.Memory types in J2ME
  • J2ME (Java 2 Micro Edition) is a platform for
    mobile devices.
  • There are several types of memory in J2ME
    applications
  • Storage Memory
  • Used to store the JAR file of the applications.
  • Runtime Memory
  • Included Stack and Heap, which are used to store
    run time data of the applications.
  • Persistent Storage
  • a non-volatile place for storing data, such as
    mobile phone numbers, user name and password etc.

21
2.Game Size Optimization
  • Low-end mobile phones (Such as NOKIA 2650, 3100,
    6100, 6108) only support J2ME applications
    smaller than 64K bytes.
  • Mobile online games are usually pretty complex,
    and thousands of players player at the same time.
    They can perform walking, chatting, battling,
    trading in the game world.
  • To enable the game to run on various low-end
    mobile phones, practical game size optimization
    techniques are needed to reduce the application
    size.

22
2.Game Size Optimization
  • Combining Small Images
  • There are a lot of small images in the game.
  • The overhead of image header is obvious.

23
2.Game Size Optimization
  • int playerOffset(dir (animation
  • int x px - playerOffset
  • int y py - 8
  • g.setClip(p.px, y, 16, 24)
  • g.drawImage(imgPlayer, x, y, Graphics.TOPGraphics
    .LEFT)

24
2.Game Size Optimization
  • Using Graphics Optimization Tools
  • xat.com Image Optimizer is a tool designed to
    create the smallest possible JPEG, GIF and PNG
    image files.

25
2.Game Size Optimization
  • Combining Image Files into a Data File
  • The zip compression algorithm can benefit from
    the redundancy between the files and get better
    compression result.
  • Hide the images of the game from straight forward
    decompression of the JAR file.

26
2.Game Size Optimization
  • Source code optimization
  • Combining relative classes
  • Combining the View.javaCommon.javaCanvas.java?
    one class,
  • JAR size 72456 bytes ? 69077 bytes, 3379 bytes
    are saved.
  • Exception reduction
  • Reducing one try-catch block, 113 bytes of the
    JAR size is saved.
  • Optimization Result
  • 130,649 bytes ? 64,791 bytes

27
3.Runtime Memory Optimization
  • Heap memory size of mobile phones 200K--500K
    bytes.
  • NOKIA 7210, only 210K bytes heap memory for J2ME
    application.
  • Work out all the memory will catch a OutOfMemory
    Exception and lead to the breakdown of the
    application.
  • Mobile online game contains a lot of pictures,
    which consume a lot of runtime memory.
  • Problem
  • How to provide a complex game, which uses as less
    runtime memory as possible?
  • - Runtime memory optimization techniques!

28
3.Runtime Memory Optimization
  • Dynamic Heap Memory Measurement
  • The main thread of game continuously to repaint
    the screen and create temporary object all the
    time.
  • The garbage collector of JVM takes action to
    recycle all unused objects into free memory
    periodic.

29
3.Runtime Memory Optimization
  • Use Map Block

Map Base Map Blocks Extend Map Blocks
  • Map size
  • A single picture
  • Map block less than

30
3.Runtime Memory Optimization
  • Using Persistent Storage as Cache
  • Save the monster pictures in the JAR file.
  • Load from the server when needed.
  • Save the most frequently used monster picture in
    the persistent storage of mobile phone.
  • There are 165 monsters in our game. Only a
    subset of monsters (3 to 4) is located within a
    particular map.
  • The minimum requirement of the J2ME is 8K bytes
    of persistent storage.
  • Each monster will need

31
3.Runtime Memory Optimization
  • Least Recently Used (LRU) algorithm is used to
    manage the monsters in the persistent storage.

32
3.Runtime Memory Optimization
  • Source Code Optimization
  • Be careful of the object generation in the main
    loop of the game.
  • Set the reference of the object to null if the
    object is no longer used.
  • Do not load all the resource at the same time.
  • Call System.gc() after generating a great mass of
    temporary objects.
  • Result
  • The runtime memory is reduced to within 210K
    bytes.
  • The game runs well in more than 800 types of
    mobile phones including high end and low end.

33
End of Part 2!
34
Conclusion
  • Conclusion
  • Part 1 A Taxonomy Model of Player Activities in
    Mobile MMORPGs
  • Part 2 Memory Optimization Technique in Mobile
    MMOPRGs
  • Other Works
  • Network latency optimization
  • Interaction auto-adaptive for mobile phones
  • Mobile game engine architecture design

35
Thank you!
Write a Comment
User Comments (0)
About PowerShow.com