How to make a game using what you already know Chris Gardner Senior Software Engineer T & W...

38
Introduction To Windows Store Games How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Transcript of How to make a game using what you already know Chris Gardner Senior Software Engineer T & W...

Page 1: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Introduction To Windows Store Games

How to make a game using what you already know

Chris GardnerSenior Software EngineerT & W Operations, Inc.

Page 2: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

About Me

Page 3: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

However

Page 4: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

What to do?

Page Source: http://www.earwolf.com/2012/01/professor-blastoff-afterthoughts-ntk/Image Source: http://cdn.earwolf.com/wp-content/uploads/2012/01/funny-otter-thinking-math-problem-blackboard-e1327399798312.jpg

Page 5: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Don’t Fight It

Page Source: http://timsweek.blogspot.com/2010/05/10th-may-16th-may.htmlImage Source: http://2.bp.blogspot.com/_GGQNXs7CKns/S_YhiqWDg8I/AAAAAAAABpI/rkwmRj7bkEc/s320/Do-not-anger-the-gods1.jpg

Page 6: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Don’t Fight It – Go With It

Page Source: http://seattle.cbslocal.com/2012/12/24/microsoft-patent-allows-long-distance-hugs-handshakes/Image Source: http://cbsseattle.files.wordpress.com/2012/12/136647288.jpg?w=450

Page 7: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Some Stats

Windows Store Apps 80% C# / WinRT 14% WinJS 6% Native

Page 8: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Some Stats

Windows Store Apps 80% C# / WinRT 14% WinJS 6% Native

Source

Page 9: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Some Stats

Windows Store Apps 80% C# / WinRT 14% WinJS 6% Native

Source Undisclosed

Page Source: http://drinkmemag.com/2010/03/the-liqourist/Image Source: http://drinkmemag.com/wp-content/uploads/2010/03/behindthebar.jpg

Page 10: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Apply What We Know

Page Source: http://www.differentdream.com/2010/01/brain-researchers-find-ptsd-marker/Image Source: http://www.differentdream.com/wp-content/uploads/2010/01/1083012_thinking_out_of_the_box_3.jpg

Page 11: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Porting the Old XNA CodeWhat do we really need to make this work as before

Page Source: http://www.smbc-comics.com/index.php?db=comics&id=2158#comicImage Source: http://www.smbc-comics.com/comics/20110217.gif

Page 12: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

What we need

Player Controlled Sprites

Page 13: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

What we need

Player Controlled Sprites Computer / AI Controlled Sprites

Page 14: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

What we need

Player Controlled Sprites Computer / AI Controlled Sprites Interactions

Page 15: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

What we need

Player Controlled Sprites Touch

Computer / AI Controlled Sprites Interactions

Page 16: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

What we need

Player Controlled Sprites Touch Mouse

Computer / AI Controlled Sprites Interactions

Page 17: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

What we need

Player Controlled Sprites Touch Mouse Keyboard

Computer / AI Controlled Sprites Interactions

Page 18: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

What we need

Player Controlled Sprites Touch Mouse Keyboard Controller

Computer / AI Controlled Sprites Interactions

Page 19: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

What we need

Player Controlled Sprites Touch Mouse Keyboard Controller

Computer / AI Controlled Sprites Event Driven (Button Press)

Interactions

Page 20: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

What we need

Player Controlled Sprites Touch Mouse Keyboard Controller

Computer / AI Controlled Sprites Event Driven (Button Press) Time Driven (Automatically Created)

Interactions

Page 21: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

What we need

Player Controlled Sprites Touch Mouse Keyboard Controller

Computer / AI Controlled Sprites Event Driven (Button Press) Time Driven (Automatically Created)

Interactions Collision Detection

Page 22: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

What we need

Player Controlled Sprites Touch Mouse Keyboard Controller

Computer / AI Controlled Sprites Event Driven (Button Press) Time Driven (Automatically Created)

Interactions Collision Detection State ( Score and Lives )

Page 23: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Touting the Party LineKool Aid is Awesome

Page Source: http://hietzinger.com/2013/02/05/words-of-wisdom/Image Source: http://hietzinger.com/wp-content/uploads/2013/02/keep-smilling-and-drink-the-kool-aid.png

Page 24: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Data Bound Objects

Do NOT do a Google Image search for “Binding”

Page 25: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Demo 1 ( through 9 )Let’s do this…

Page 26: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Demo 1 Postmortem

IT WORKS!

Page 27: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Demo 1 Postmortem

IT WORKS! Too many things on the UI Thread

Page 28: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Demo 1 Postmortem

IT WORKS! Too many things on the UI Thread

INotifyPropertyChanged must be called on UI

Page 29: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Taking a Few LibertiesLet’s bend the rules a little

Page Source: http://singleton-institute.com/2012/06/bending-or-breaking-the-rules-the-intrapreneurial-dilemma/Image Source: http://singleton-institute.com/wp-content/uploads/2012/06/intrapreneurship_Bend_the_Rules-225x300.jpg

Page 30: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

UI Injection

Premise Run everything you can in the

background When necessary, send small commands

to UI

Page 31: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Demo 2 (errrr, 10)Because, who doesn’t love threads calling threads…?

Page Source: http://xkcd.com/670/Image Source: http://imgs.xkcd.com/comics/spinal_tap_amps.png

Page 32: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Demo 2 Postmortem

Cleaned up UI Thread Added a LOT of complexity

Locks await / async calls

Page 33: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Think Like a Game DesignerWho needs rules, anyway?

Page Source: http://evansheline.com/2010/12/break-wall-to-escape-wait-what/Image Source: http://evansheline.com/wp-content/uploads/2010/12/break-wall.jpg

Page 34: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Recreate XNA!

Page 35: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Recreate XNA!

NOTE: This code is still in “BETA”

Page 36: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Recreate XNA!

NOTE: This code is still in “BETA”

By that, I mean the code runs so fast, the game is slightly unplayable…

Page 37: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Demo 3 (Or something)Factory Smoke NOT Included

Page 38: How to make a game using what you already know Chris Gardner Senior Software Engineer T & W Operations, Inc.

Questions?Thank You

Chris [email protected]://www.tnwops.com

@freestylecoderhttp://blog.freestylecoding.comhttp://www.extra-life.org/participant/cgardner