performance and memory management improvement applying design patterns at unity

Post on 13-Apr-2017

419 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

GAME PROGRAMMING PATTERNS For Unity !

Lucy Gómez |MEXICO

LUCY GOMEZ GAME DEVELOPER ANDROID DEVELOPER

FLEX DEVELOPER 3D MODELER 3D TEXTURING

LUCY541@GMAIL.COM

Why Programming Patterns Are Important for Game Development?

GOOD GAME BAD

PERFORMANCE

Memory is a scarce

resource specially at

mobile.

Games use much more RESOURCES

than any other kind of apps.

AGENDA

FLYWEIGHT OBSERVER STATE PATTERN

OBJECT POOL

FLYWEIGHT

REUSE OF SHARED OBJECTS TO SAVE MEMORY

RESOURCE MANAGEMENT

FUEL OXIGEN POWER GRAVITY

FUEL OXIGEN POWER GRAVITY

FUEL OXIGEN POWER GRAVITY

Flyweight Diagram

Enemy Model -Mesh -Texture 1

-Mesh Texture 2

FUEL OXIGEN POWER GRAVITY

OBSERVER

OBSERVER

Observer Description

  As part of the MODEL-VIEW-CONTROLLER

  Java = Observer

  C# = Event

  CHALLENGE = Achivements triggered by a Bunch of Aspects at the Game Play.

Anounce to any suscribed instance that something has occurred.

PART OF MVC HANDLES EVENTS EFFECTIVELY ANNOUCE TO ANY SUSCRIBER THAT SOMETHING HAS OCCURRED

Observer Diagram

Publishers Message Managers

Suscriber 1

Suscriber 2

Suscriber 3

PUBLISHER

MESSAGE MANAGER

SUSCRIBER

STATE PATTERN

PATTERN STATE

MANAGEMENT OF CHARACTER STATE FOR FIXED STATES ALL CHARACTER BEHAVIOR IN ONE CLASS

OBJECT POOL

POOL OBJECT

Object Pool Description

Improve performance and memory usage by using a fixed pool of objects.

  A best alternatite to the create-destroy strategy at game development

  Reduce Memory Fragmentation

Useful for multiple enemies.

Garbage Collector will become slower as memory usage increases.

IMPROVE MEMORY PERFORMANCE BEST TO CREAT-DESTROY REDUCE MEMORY FRAGMENTATION

LET’S CODE

Thanks

top related