game programming pattern by restya

32
@agatestudio Game programming Restya Producer Agate Studio

Upload: agate-studio

Post on 18-Jun-2015

165 views

Category:

Engineering


2 download

TRANSCRIPT

Page 1: Game Programming Pattern by Restya

@agatestudio

Game programming

Restya

Producer

Agate Studio

Page 2: Game Programming Pattern by Restya

GAME PROGRAMMING

PATTERNS

Restya – TDS Agate Oktober

Page 3: Game Programming Pattern by Restya

Why?

Page 4: Game Programming Pattern by Restya

Chapters

Design Patterns Revisited

Sequencing Patterns

Behavioral Patterns

Decoupling Patterns

Optimization Patterns

Page 5: Game Programming Pattern by Restya

We’ll be focussed on

Design Patterns Revisited

Command

Flyweight

Observer

Prototype

Singleton

State

Page 6: Game Programming Pattern by Restya

Design Pattern

Page 7: Game Programming Pattern by Restya

Design Pattern?

general reusable solution to a commonly occurring

problem within a given context in software design

Page 8: Game Programming Pattern by Restya

Command

Commands are an object-oriented replacement for

callbacks

Page 9: Game Programming Pattern by Restya

Command: Configuring Inputs

Page 10: Game Programming Pattern by Restya

Command: Directions for Actors

Pass the object that we want to order

Page 11: Game Programming Pattern by Restya

Command: Undo and Redo

Page 12: Game Programming Pattern by Restya

Flyweight

Page 13: Game Programming Pattern by Restya

Observer

An object, called the subject, maintains a list of its

dependents, called observers, and notifies them

automatically of any state changes, usually by

calling one of their methods.

Page 14: Game Programming Pattern by Restya

Observer: The Observer

Page 15: Game Programming Pattern by Restya

Observer: The Subject

Page 16: Game Programming Pattern by Restya

Prototype

Page 17: Game Programming Pattern by Restya

Not Using Prototype

Page 18: Game Programming Pattern by Restya

Using Prototype

Page 19: Game Programming Pattern by Restya

Using Protoype

Page 20: Game Programming Pattern by Restya

Prototype: Spawn Function

Page 21: Game Programming Pattern by Restya

Prototype: Templates

Page 22: Game Programming Pattern by Restya

Prototypes for Data Modelling

Page 23: Game Programming Pattern by Restya

Singleton

Ensure a class has one instance, and provide a global

point of access to it.

Page 24: Game Programming Pattern by Restya

Singleton +/-

It doesn’t create the

instance if no one uses

it

It’s initialized at

runtime

You can subclass the

singleton

It’s a global variable

They make it harder to reason about code

They encourage coupling

They aren’t concurrency-friendly

It solves two problems even when you just have one

Lazy initialization takes control away from you

Why we use it Why we regret using it

Page 25: Game Programming Pattern by Restya

State

Page 26: Game Programming Pattern by Restya

State Pattern

Allow an object to alter its behavior when its internal

state changes. The object will appear to change its

class.

Page 27: Game Programming Pattern by Restya

State Pattern (2)

Page 28: Game Programming Pattern by Restya

Static State

Page 29: Game Programming Pattern by Restya

Instantiated State

Page 30: Game Programming Pattern by Restya

Enter and Exit Actions

But we want each state to control its own graphics

Page 31: Game Programming Pattern by Restya

Enter and Exit Actions (2)

Page 32: Game Programming Pattern by Restya

Source: http://gameprogrammingpatterns.com/

Udah Gitu Aja