performance and memory management improvement applying design patterns at unity

18
GAME PROGRAMMING PATTERNS For Unity Lucy Gómez |MEXICO

Upload: lucy-gomez

Post on 13-Apr-2017

418 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Performance and Memory Management improvement applying Design Patterns at Unity

GAME PROGRAMMING PATTERNS For Unity !

Lucy Gómez |MEXICO

Page 2: Performance and Memory Management improvement applying Design Patterns at Unity

LUCY GOMEZ GAME DEVELOPER ANDROID DEVELOPER

FLEX DEVELOPER 3D MODELER 3D TEXTURING

[email protected]

Page 3: Performance and Memory Management improvement applying Design Patterns at Unity

Why Programming Patterns Are Important for Game Development?

Page 4: Performance and Memory Management improvement applying Design Patterns at Unity

GOOD GAME BAD

PERFORMANCE

Memory is a scarce

resource specially at

mobile.

Games use much more RESOURCES

than any other kind of apps.

Page 5: Performance and Memory Management improvement applying Design Patterns at Unity

AGENDA

FLYWEIGHT OBSERVER STATE PATTERN

OBJECT POOL

Page 6: Performance and Memory Management improvement applying Design Patterns at Unity

FLYWEIGHT

Page 7: Performance and Memory Management improvement applying Design Patterns at Unity

REUSE OF SHARED OBJECTS TO SAVE MEMORY

RESOURCE MANAGEMENT

Page 8: Performance and Memory Management improvement applying Design Patterns at Unity

FUEL OXIGEN POWER GRAVITY

FUEL OXIGEN POWER GRAVITY

FUEL OXIGEN POWER GRAVITY

Page 9: Performance and Memory Management improvement applying Design Patterns at Unity

Flyweight Diagram

Enemy Model -Mesh -Texture 1

-Mesh Texture 2

FUEL OXIGEN POWER GRAVITY

Page 10: Performance and Memory Management improvement applying Design Patterns at Unity

OBSERVER

OBSERVER

Page 11: Performance and Memory Management improvement applying Design Patterns at Unity

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

Page 12: Performance and Memory Management improvement applying Design Patterns at Unity

Observer Diagram

Publishers Message Managers

Suscriber 1

Suscriber 2

Suscriber 3

PUBLISHER

MESSAGE MANAGER

SUSCRIBER

Page 13: Performance and Memory Management improvement applying Design Patterns at Unity

STATE PATTERN

PATTERN STATE

Page 14: Performance and Memory Management improvement applying Design Patterns at Unity

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

Page 15: Performance and Memory Management improvement applying Design Patterns at Unity

OBJECT POOL

POOL OBJECT

Page 16: Performance and Memory Management improvement applying Design Patterns at Unity

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

Page 17: Performance and Memory Management improvement applying Design Patterns at Unity

LET’S CODE

Page 18: Performance and Memory Management improvement applying Design Patterns at Unity

Thanks