SQL Server 2012 Always On Premier Field Engineer Microsoft Corporation Lisa Gardner .
How to make a game using what you already know Chris Gardner Senior Software Engineer T & W...
-
Upload
willis-mccarthy -
Category
Documents
-
view
222 -
download
0
Transcript of How to make a game using what you already know Chris Gardner Senior Software Engineer T & W...
Introduction To Windows Store Games
How to make a game using what you already know
Chris GardnerSenior Software EngineerT & W Operations, Inc.
About Me
However
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
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
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
Some Stats
Windows Store Apps 80% C# / WinRT 14% WinJS 6% Native
Some Stats
Windows Store Apps 80% C# / WinRT 14% WinJS 6% Native
Source
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
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
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
What we need
Player Controlled Sprites
What we need
Player Controlled Sprites Computer / AI Controlled Sprites
What we need
Player Controlled Sprites Computer / AI Controlled Sprites Interactions
What we need
Player Controlled Sprites Touch
Computer / AI Controlled Sprites Interactions
What we need
Player Controlled Sprites Touch Mouse
Computer / AI Controlled Sprites Interactions
What we need
Player Controlled Sprites Touch Mouse Keyboard
Computer / AI Controlled Sprites Interactions
What we need
Player Controlled Sprites Touch Mouse Keyboard Controller
Computer / AI Controlled Sprites Interactions
What we need
Player Controlled Sprites Touch Mouse Keyboard Controller
Computer / AI Controlled Sprites Event Driven (Button Press)
Interactions
What we need
Player Controlled Sprites Touch Mouse Keyboard Controller
Computer / AI Controlled Sprites Event Driven (Button Press) Time Driven (Automatically Created)
Interactions
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
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 )
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
Data Bound Objects
Do NOT do a Google Image search for “Binding”
Demo 1 ( through 9 )Let’s do this…
Demo 1 Postmortem
IT WORKS!
Demo 1 Postmortem
IT WORKS! Too many things on the UI Thread
Demo 1 Postmortem
IT WORKS! Too many things on the UI Thread
INotifyPropertyChanged must be called on UI
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
UI Injection
Premise Run everything you can in the
background When necessary, send small commands
to UI
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
Demo 2 Postmortem
Cleaned up UI Thread Added a LOT of complexity
Locks await / async calls
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
Recreate XNA!
Recreate XNA!
NOTE: This code is still in “BETA”
Recreate XNA!
NOTE: This code is still in “BETA”
By that, I mean the code runs so fast, the game is slightly unplayable…
Demo 3 (Or something)Factory Smoke NOT Included
Questions?Thank You
Chris [email protected]://www.tnwops.com
@freestylecoderhttp://blog.freestylecoding.comhttp://www.extra-life.org/participant/cgardner