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

Slides:



Advertisements
Similar presentations
Summer Computing Workshop. Introduction to Variables Variables are used in every aspect of programming. They are used to store data the programmer needs.
Advertisements

Introduction to the Windows Runtime (WinRT) Ben Dewey Tallan, Inc.
Win8 on Intel Programming Course Desktop : Sensors Cédric Andreolli Intel Software
Video Game Design Lesson 1. Game Designer Person involved in the development of a video game Person involved in the development of a video game Usually.
Windows 8 Metro / HTML5 JS “First Blood” Peter Kellner Microsoft MVP, ASP.NET ASPInsider Primary Organizer Silicon Valley Code.
Android 4.0 ICS An Unified UI framework for Tablets and Cell Phones Ashwin. G. Balani, Founder Member, GTUG, Napur.
Code Club Session 3 Shark Eats Fish. Picture of finished product here.
How do games work? Game Workshop July 4, Parts Sprites/pictures Map/background Music/sounds Player character Enemies Objects.
By: Soheeb Amin.  A user interface is the connector between man and the technology he is using.  They consist of an input, which is our command to the.
Yes, I need a guitar. WHY I NEED A GUITAR. How many people have guitars? Everyone but me…
CS 4720 RESTfulness and AJAX CS 4720 – Web & Mobile Systems.
FUNDAMENTALS OF PROGRAMMING SM1204 SEMESTER A 2012.
Introduction to TouchDevelop
By Mr. Lee. Backgrounds The image that appears in the background (duh!). This might be a horizon, or clouds, trees and rainbows in the distance If you’re.
USER INTERFACE.
Name: Read this page first. A web browser is software on your computer that lets you visit web pages. The address bar is a box in a web browser displaying.
Copyright ©: SAMSUNG & Samsung Hope for Youth. All rights reserved Tutorials Computer basics: Getting started Suitable for: Beginner.
Make a blank window This is a starter activity and should take 5 minutes [ slide 1 ] 1.Log in to your computer 2.Open IDLE 3.In script mode create a file.
XNA An Introduction. What XNA is… Microsoft® XNA™ is composed of industry- leading software, services, resources, and communities focused on enabling.
Windows Store apps… lots of choices Windows Store Apps Communication & Data Application Model Devices & Printing WinRT APIs Graphics & Media JavaScript.
Game Programming Patterns Event Queue From the book by Robert Nystrom
Game Maker – Getting Started What is Game Maker?.
11 General Game Programming Approach. The program is event-driven The program is event-driven –Messages = events –So as all windows system (for example.
ENGR-TS-2: The students will develop an understanding of how the design process is used to develop a technological system.
Mobile web vs apps compared. Pro's of mobile web Accessible through any browser Doesn't require app download Load page by page Good for SEO Will have.
CompSci Introduction to Jam’s Video Game Package.
By Mr. Putnam. In Catfall, the goal of the game is to touch the falling cats with the mouse. Every time you touch a cat, your score goes up by one point.
Today we are learning to: Understand how actions and events control our game. Completing the catch the clown game – making a room – adding music Gather.
Computer Parts and Functions. How A Computer Works.
Essential Programming Skills CSE 340 – Principles of Programming Languages Spring 2016 Adam Doupé Arizona State University
Purpose of Operating System Monil Adhikari. Agenda Introduction Responsibilities of Operating System User Interfaces Command Line Interface Graphical.
CompSci 44.1 Game Package Introduction to Jam’s Video Game Package.
ICT/COMPUTING RULES Only use software allowed by the teacher
Introduction to Game Programming & Design III Lecture III.
Event Driven Programs Exploring Computer Science – Lesson 4-5.
Martin Norris Computing Teacher/Leader at Moldgreen Community Primary School, Huddersfield
Index Background Costumes Making object walk smoothly Controlling an object with the keyboard Control an object with the mouse Changing costume when hit.
Broadcasting (Adding a new level)
Scratch for Interactivity
Event Loops and GUI Intro2CS – weeks
Essential Programming Skills
Introduction to Event-Driven Programming
How to work with your sprite
Event-driven programming
Game Loops + Part II Reference:
Exploring Computer Science – Lesson 4-5
Unit 3, Lesson 8 Making Presentations That Get Attention
Fundamentals of Programming I The Model/View/Controller Design Pattern
Lesson 1: Buttons and Events – 12/18
Developing an Android application for
Department of Computer Science & Engineering
Creating Windows Store Apps Using Visual Basic
8. Starting Pygame Let's Learn Python and Pygame
Build /2/2018 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
What is a Robot?.
Sensing and Variables.
Alexa Programming.
Explain what touch develop is to your students:
Tap Play Store in your mobile.wait for next screen.
Fundamentals of Programming I The Model/View/Controller Design Pattern
Explain what touch develop is to your students:
05 | Desktop Applications
Science App Review.
Sensing and Variables.
Event loops.
Explain what touch develop is to your students:
Creating a Simple Game in Scratch
So you want to be a Game Designer
CoE Software Lab II 1. Pygame Intro , Semester 2,
Presentation transcript:

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

Page Source: Image Source:

Page Source: Image Source:

Page Source: Image Source:

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

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

 Windows Store Apps  80% C# / WinRT  14% WinJS  6% Native  Source  Undisclosed Page Source: Image Source:

Page Source: Image Source:

What do we really need to make this work as before Page Source: Image Source:

 Player Controlled Sprites

 Computer / AI Controlled Sprites

 Player Controlled Sprites  Computer / AI Controlled Sprites  Interactions

 Player Controlled Sprites  Touch  Computer / AI Controlled Sprites  Interactions

 Player Controlled Sprites  Touch  Mouse  Computer / AI Controlled Sprites  Interactions

 Player Controlled Sprites  Touch  Mouse  Keyboard  Computer / AI Controlled Sprites  Interactions

 Player Controlled Sprites  Touch  Mouse  Keyboard  Controller  Computer / AI Controlled Sprites  Interactions

 Player Controlled Sprites  Touch  Mouse  Keyboard  Controller  Computer / AI Controlled Sprites  Event Driven (Button Press)  Interactions

 Player Controlled Sprites  Touch  Mouse  Keyboard  Controller  Computer / AI Controlled Sprites  Event Driven (Button Press)  Time Driven (Automatically Created)  Interactions

 Player Controlled Sprites  Touch  Mouse  Keyboard  Controller  Computer / AI Controlled Sprites  Event Driven (Button Press)  Time Driven (Automatically Created)  Interactions  Collision Detection

 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 )

Kool Aid is Awesome Page Source: Image Source:

Do NOT do a Google Image search for “Binding”

Let’s do this…

 IT WORKS!

 Too many things on the UI Thread

 IT WORKS!  Too many things on the UI Thread  INotifyPropertyChanged must be called on UI

Let’s bend the rules a little Page Source: Image Source:

 Premise  Run everything you can in the background  When necessary, send small commands to UI

Because, who doesn’t love threads calling threads…? Page Source: Image Source:

 Cleaned up UI Thread  Added a LOT of complexity  Locks  await / async calls

Who needs rules, anyway? Page Source: Image Source:

 NOTE: This code is still in “BETA”

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

Factory Smoke NOT Included

Thank You Chris Gardner