SlideShare a Scribd company logo
1 of 42
Download to read offline
1 m TH3 L33t M45t3r. J00 H34R M3? J00 12 901n' d0wN.
1 W1ll 34t j00R n3w8 50ul PH0r 8R34kF45t.

(I am incredibly skilled. Do you understand that? Your
attempts to defeat me will fail. I will gorge myself on your
inexperienced soul this morning.)
Creating Video Games from Scratch
            Martha Rotter
       martharo@microsoft.com
Why Games? Why Now?
● Developing Games is Hot!
       Whether it’s casual games, XBox360 games, PC games, adver-
   ●
       gaming, people are interacting with games more now than ever.

● Developing Games Makes Money!
       Just a few years ago, the games industry overtook the film
   ●
       industry: now the games make more than the movies.

● Developing Games is Fun!
       Duh!
   ●

● Developing Games is Free!
       Tools for XNA are all free, the only thing you might need to pay for
   ●
       is the Creators Club membership.



                                                                          8
9
How Did This Happen?




                       10
What About Games…?




                     11
What are Community Games?

XBox LIVE Community Games is a new gaming service
  that is complementary to XBox LIVE Arcade.
 Launching this holiday season for the UK!
Provides consumers with the best and broadest
  selection of gaming content available on ANY
  console.
Xbox 360 is the first platform to democratize game
  development by allowing developers to distribute
  their games to more than 12 million Xbox LIVE
  members and offering them the opportunity to
  benefit financially from their creations.
                                                     12
How does Community Games Work?

• The setup? Simple.
• The payments? Cash.


• As a Premium member of the XNA Creators Club, you
  can submit any game you’ve created.
• Other Premium members can check your game to
  make sure it’s safe to play.
• If it is, you’ll set a price point, between 200-800
  points, for people to pay to download your game.


                                                        13
How you make money with
        Community Games
• Once the game is reviewed and the price is set,
  you’re finished.
• The game is now available on the XBox LIVE
  Marketplace.
• You get a cheque every quarter for up to 70% of the
  game’s total depending on your own currency.
• Depending on your game’s success, you may even
  have your game advertised on XBox360 and other
  Microsoft online properties!



                                                    14
Want an Example?

• The latest example:
      Jonathan Blow, developer of the game Braid, an
  XBox360 game that's somewhat similar to early
  'Mario' games for Nintendo.
      His game had only been on sale for a week, but
  he estimated it had already sold 55,000 copies for
  the Xbox360.
      At $15 per game, that’s $825,000 in first week
  gross sales.



                                                       15
XNA Overview

Let’s learn some XNA basics:
● What is XNA?
    • “XNA’s Not Acronymed”
    • Unified platform for game development
    • Runs on XP, Vista – Sits on DX
    • Targets PC or Xbox 360 or Zune
    • Most boilerplate engine code already included
    • FREE!


                                                      16
XNA Overview

What can you make with XNA?
● Some ideas:
   • 3D or 2D games
   • First person shooters
   • Real-time strategy games
   • And more!




                                17
What Else Can You Do With XNA?

 •Topics                      •Programs
Create games                  Secondary & Post-Secondary
                              Computer Science
Game design
                              Fine Arts
Multi-threaded / Multi-core
                              Computer Graphics
Physics simulations
                              Inter/multi-discipline
Mathematics
                              Research
Visualization
                              Senior projects / Capstone
Networking
                              Outreach programs
AI
Team projects
Some Assumptions

Are there any prerequisite skills I need to have before I
get started with XNA?
● Math skills
    • A basic understanding of 2D and 3D coordinate
    systems
    • Data structures, such as vectors and matrices
● Programming skills
    • Familiarity with the .NET platform and the C#
    language


                                                       19
XNA Game Studio

                                Content
XNA            Visual Studio                  Device
                   2008                     Management
                                Pipeline
Game Studio


               Application Model      Content Pipeline

XNA             Graphics         Audio        Math
Framework
                                              Gamer
                  Input        Networking
                                             Services


                Windows        Xbox 360       Zune
Platform
Game Flow


             Load
   Start
            Content



            Update


             Draw



            Unload
                      End
            Content
XNA Framework Overview

•Games       •Starter Kits       Code            Content        Components




•Extended
                 •Application Model                 •Content Pipeline
•Framework



•Core
             •Graphics       •Audio     •Input                      •Math
                                                     •Storage
•Framework




             •Direct3D                               •XContent
•Platform                    •XACT      •XINPUT


                                                                             22
Custom Hardware
• 3.2 GHz triple-core custom CPU
• 500 MHz custom GPU
• 512 MB unified memory
• 12X dual-layer DVD drive
• 20 GB removable hard drive
• USB 2.0 ports
• 10/100 Mbps Ethernet
• IR receiver
• Wireless peripheral support
• High definition video out
Hardware Overview
                                     I/O
   CPU                                                 DVD (SATA)
                                     Chip              HDD port (SATA)
   Core0 Core1 Core2
                                                       Front controllers (2 US
   L1D L1I     L1D L1I     L1D L1I
                                                       Wireless controllers
             1MB L2




                                      SMCXMA Decoder
                                                       MU ports (2 USB)
                                                       Rear Panel USB
Memory             GPU                                 Ethernet
             MC1



                   BIU/IO Intf                         IR
512 MB                                                 Audio Out
                                                       FLASH
DRAM                3D Core
                                                       System control
             MC0




                           Video
                    10MB
                   EDRAM             Analog
                            Out                        Video Out
                                      Chip
Assets

● Graphics
   • Models
   • Textures
   • Animations
• Audio
   • Ambient sound
   • Music
   • Event sounds (explosions, speech, game over…)


                                                 25
Creating Assets

● Graphics
   • DCC (Digital Content Creation) tools
      • Maya, 3DS Max, Lightwave, Photoshop etc.
   • XNA provides importers for .x, .fbx and other file
   formats that can be produced by most DCC tools
• Audio
   • MP3 & WAV sounds produced in traditional ways
   • Foley is the process of creating sound effects


                                                      26
The Content Pipeline

● Allows separation of artist and developer work
● Reduces engine / DCC format interdependencies
   • Many standard importers and processers are
   available for your content
      • Importers put your DCC content into the
      game, processors deal with it in the game
   • Extensibility: You can write your own importer
   for a custom file format
● Simple interaction from game to pipeline
   • ContentManager.Load(…)
                                                      27
The Content Pipeline

Lifetime of an example asset:
1. Artist creates an oak tree in Maya
2. (Optionally) Animator adds an animation of the
   oak tree exploding violently
3. Developer receives this file in Maya format and
   imports it into the content pipeline
4. Compiler packs asset into a binary format tightly
   coupled with XNA (not designed for use elsewhere)
5. At runtime: The content pipeline processes the
   exploding tree

                                                     28
Let’s Get Started!

Prepare your development environment.
● Not much is required to get started!
   • Windows XP or Vista
   • Visual C# Express
   • Install XNA game studio!




                                         29
Which Version Should I Install?

• Game Studio 2:
 • Works with Visual Studio 2005 & Visual C# 2005 Express
   Edition
 • Can deploy to Windows XP, Vista or XBox360 now
• Game Studio 3:
 • Works with Visual Studio 2008 & Visual C# 2008 Express
   Edition
 • Can deploy to XP, Vista, Xbox 360 or Zune




                                                        30
What’s New in GS 3?

• Xbox 360
 • Xbox 360 project templates (You will not be able to
   develop on the Xbox 360 until our final release. We
   felt this was important to include so that you could
   get projects converted over and look at the system,
   even if you are not able to run the games, yet).
 • Support for the Big Button Pad.




                                                      31
What’s New in GS 3 (cont.)?

• Framework & Visual Studio Features
 • Enumerate and play back media on your Windows computer or
   Xbox 360.
 • Simple sound effect support on Windows computers and Xbox
   360.
 • Support for Rich Presence (lets friends know what’s going on in
   your game).
 • Support for Invites (ask your friends to join you in a multiplayer
   game) and Join Session In Progress (after you see what your
   friends are doing, you can join their current session with just a
   couple of button presses, even if that’s a different game to the
   one you are currently playing)


                                                                   32
What’s New in GS 3 (cont.)?

• More Framework & Visual Studio Features
              your content and save space with the new content
     Compress
 •
     compression features!
 • ClickOnce packaging support for distributing your XNA Framework
   games on Windows.
 • Upgrade your project from XNA Game Studio 2.0 using the Project
   Upgrade Wizard!
 • Take screen captures of your game running on Zune through the XNA
   Game Studio Device Center.
 • Support for .NET language features like Linq
 • Create multiple content projects and leverage cross project
   synchronization in Visual Studio.
 • FBX importer improvements: read materials containing multiple
   textures, and export custom shader materials directly out of Max or
   Maya.
                                                                         33
Full mini-game Starter Kits
Can be final destination or starting point
Growing library of genres over time
Focus on several key educational topics per
Starter Kit




                                             34
The Structure of an XNA Game

How does the game run?
● Initialization
   • Load assets and set initial values
● Game Loop
   • Fixed number of frames per second
   • Frame: an individual stage of the game’s
     animation
   • In each frame, look for KB input, update world,
     run AI, etc.
• Disposal of objects / Cleanup
                                                       35
Important Methods

In your Game’s class file:
● LoadGraphicsContent
    • Pushes assets into the content pipeline
● Update
    • Realtime processing happens here
    • Updates to world data
    • In each frame, look for KB input, update world,
      run AI, etc.
• Draw
    • Redraw scene                                      36
Accepting Keyboard Input

Polling the keyboard is easy.
● Poll the keyboard as part of the Update process
● XNA exposes a list of pressed keys
● Check those key presses and handle them
  accordingly




                                                    37
Collision Detection

Collision detection is easier than before.
● Like other processing, happens in the Update
  method
● Use a BoundingBox object.
    • Normally used for 3D meshes, just set Z to 0
    • Create a BoundingBox for every object you want
      to detect collisions between
    • Use the BoundingBox.Intersects method to
      determine if 2 objects collide.


                                                     38
39
Summary

● About XNA – what it is, and architecture
● Assets & the content pipeline
● Anatomy of a game
● Creating and moving 2D sprites
● The game loop
● Simple collision detection




                                             40
Q&A and Resources
Some XNA Resources
● http://msdn.microsoft.com/directx/XNA
  Official XNA Website
● http://creators.xna.com/Education/Tutorials.aspx
  Official Creators Club tutorials
● http://www.xnadevelopment.com
  Third-party XNA tutorials
● http://www.learnxna.com
  Third party XNA video tutorials
● http://blogs.msdn.com/martharotter
  My Blog
                                                     41
Divider Slide

More Related Content

Viewers also liked

Pmb Bug 2007 11 06 Patrice
Pmb Bug 2007 11 06 PatricePmb Bug 2007 11 06 Patrice
Pmb Bug 2007 11 06 PatricePMB-BUG
 
Sun: Solaris On-Demand Assists ISVs' Strategic Move To Software-As-A-Service
Sun: Solaris On-Demand Assists ISVs' Strategic Move To Software-As-A-ServiceSun: Solaris On-Demand Assists ISVs' Strategic Move To Software-As-A-Service
Sun: Solaris On-Demand Assists ISVs' Strategic Move To Software-As-A-ServiceCallidus Software
 
Sex And The Samurai Done2
Sex And The Samurai Done2Sex And The Samurai Done2
Sex And The Samurai Done2Demonassassin88
 
Pc Mount
Pc MountPc Mount
Pc Mountkumee
 
Using Callidus TrueAnalytics to Drive Sales Plan Effectiveness
Using Callidus TrueAnalytics to Drive Sales Plan EffectivenessUsing Callidus TrueAnalytics to Drive Sales Plan Effectiveness
Using Callidus TrueAnalytics to Drive Sales Plan EffectivenessCallidus Software
 
Digital Divide Group Presentation
Digital Divide Group PresentationDigital Divide Group Presentation
Digital Divide Group PresentationJeff12982
 
Giuseppe Vaciago Profili giuridici dell'indagine digitale 08 09 18 Ordine Ber...
Giuseppe Vaciago Profili giuridici dell'indagine digitale 08 09 18 Ordine Ber...Giuseppe Vaciago Profili giuridici dell'indagine digitale 08 09 18 Ordine Ber...
Giuseppe Vaciago Profili giuridici dell'indagine digitale 08 09 18 Ordine Ber...Andrea Rossetti
 
09 FóRky Proč 02
09  FóRky  Proč 0209  FóRky  Proč 02
09 FóRky Proč 02jedlickak07
 
Adv 410 Quiz 2
Adv 410 Quiz 2Adv 410 Quiz 2
Adv 410 Quiz 2toenail23
 
10 Na Hraně P C Viry
10  Na Hraně  P C Viry10  Na Hraně  P C Viry
10 Na Hraně P C Viryjedlickak07
 
Defending Your Workloads Against the Next Zero-Day Vulnerability
Defending Your Workloads Against the Next Zero-Day VulnerabilityDefending Your Workloads Against the Next Zero-Day Vulnerability
Defending Your Workloads Against the Next Zero-Day VulnerabilityAmazon Web Services
 
Introduction
IntroductionIntroduction
IntroductionJeff12982
 
Comet from JavaOne 2008
Comet from JavaOne 2008Comet from JavaOne 2008
Comet from JavaOne 2008Joe Walker
 
MMMedins: Multimedia Laboratories for Intangible Cultural Heritage
MMMedins: Multimedia Laboratories for Intangible Cultural HeritageMMMedins: Multimedia Laboratories for Intangible Cultural Heritage
MMMedins: Multimedia Laboratories for Intangible Cultural Heritagejexxon
 

Viewers also liked (20)

Pmb Bug 2007 11 06 Patrice
Pmb Bug 2007 11 06 PatricePmb Bug 2007 11 06 Patrice
Pmb Bug 2007 11 06 Patrice
 
Sun: Solaris On-Demand Assists ISVs' Strategic Move To Software-As-A-Service
Sun: Solaris On-Demand Assists ISVs' Strategic Move To Software-As-A-ServiceSun: Solaris On-Demand Assists ISVs' Strategic Move To Software-As-A-Service
Sun: Solaris On-Demand Assists ISVs' Strategic Move To Software-As-A-Service
 
Sex And The Samurai Done2
Sex And The Samurai Done2Sex And The Samurai Done2
Sex And The Samurai Done2
 
Wios1
Wios1Wios1
Wios1
 
Pc Mount
Pc MountPc Mount
Pc Mount
 
Using Callidus TrueAnalytics to Drive Sales Plan Effectiveness
Using Callidus TrueAnalytics to Drive Sales Plan EffectivenessUsing Callidus TrueAnalytics to Drive Sales Plan Effectiveness
Using Callidus TrueAnalytics to Drive Sales Plan Effectiveness
 
Digital Divide Group Presentation
Digital Divide Group PresentationDigital Divide Group Presentation
Digital Divide Group Presentation
 
Giuseppe Vaciago Profili giuridici dell'indagine digitale 08 09 18 Ordine Ber...
Giuseppe Vaciago Profili giuridici dell'indagine digitale 08 09 18 Ordine Ber...Giuseppe Vaciago Profili giuridici dell'indagine digitale 08 09 18 Ordine Ber...
Giuseppe Vaciago Profili giuridici dell'indagine digitale 08 09 18 Ordine Ber...
 
111
111111
111
 
rod stewart2
rod stewart2rod stewart2
rod stewart2
 
09 FóRky Proč 02
09  FóRky  Proč 0209  FóRky  Proč 02
09 FóRky Proč 02
 
Jardin des Verbes
Jardin des VerbesJardin des Verbes
Jardin des Verbes
 
Adv 410 Quiz 2
Adv 410 Quiz 2Adv 410 Quiz 2
Adv 410 Quiz 2
 
10 Na Hraně P C Viry
10  Na Hraně  P C Viry10  Na Hraně  P C Viry
10 Na Hraně P C Viry
 
Rod Stewart 7
Rod Stewart 7Rod Stewart 7
Rod Stewart 7
 
Defending Your Workloads Against the Next Zero-Day Vulnerability
Defending Your Workloads Against the Next Zero-Day VulnerabilityDefending Your Workloads Against the Next Zero-Day Vulnerability
Defending Your Workloads Against the Next Zero-Day Vulnerability
 
Introduction
IntroductionIntroduction
Introduction
 
Comet from JavaOne 2008
Comet from JavaOne 2008Comet from JavaOne 2008
Comet from JavaOne 2008
 
Kios
KiosKios
Kios
 
MMMedins: Multimedia Laboratories for Intangible Cultural Heritage
MMMedins: Multimedia Laboratories for Intangible Cultural HeritageMMMedins: Multimedia Laboratories for Intangible Cultural Heritage
MMMedins: Multimedia Laboratories for Intangible Cultural Heritage
 

Similar to Creating Video Games From Scratch Sky Con

Design your 3d game engine
Design your 3d game engineDesign your 3d game engine
Design your 3d game engineDaosheng Mu
 
All About Gaming - By Sai Krishna A & Roopsai N
All About Gaming - By Sai Krishna A & Roopsai NAll About Gaming - By Sai Krishna A & Roopsai N
All About Gaming - By Sai Krishna A & Roopsai NSai Krishna A
 
The Ultimate Gaming
The Ultimate GamingThe Ultimate Gaming
The Ultimate Gamingkoolshreeram
 
Akshay-UNIT 20-LO-1,2,3&4-FINAL
Akshay-UNIT 20-LO-1,2,3&4-FINALAkshay-UNIT 20-LO-1,2,3&4-FINAL
Akshay-UNIT 20-LO-1,2,3&4-FINALAkshay
 
Abc of DirectX
Abc of DirectXAbc of DirectX
Abc of DirectXPrabodh20
 
Architectural Analysis of Game Machines
Architectural Analysis of Game MachinesArchitectural Analysis of Game Machines
Architectural Analysis of Game MachinesPraveen AP
 
Writing Games in .NET with XNA Game Studio
Writing Games in .NET with XNA Game StudioWriting Games in .NET with XNA Game Studio
Writing Games in .NET with XNA Game StudioTim Thomas
 
Vide Game Industry - Case Linköping University
Vide Game Industry - Case Linköping UniversityVide Game Industry - Case Linköping University
Vide Game Industry - Case Linköping UniversityAntonio Saad
 
Writing Games in .NET with XNA Game Studio
Writing Games in .NET with XNA Game StudioWriting Games in .NET with XNA Game Studio
Writing Games in .NET with XNA Game StudioTim Thomas
 
Computer Components
Computer ComponentsComputer Components
Computer ComponentsBeth Sockman
 

Similar to Creating Video Games From Scratch Sky Con (20)

XNA Intro Workshop
XNA Intro WorkshopXNA Intro Workshop
XNA Intro Workshop
 
Design your 3d game engine
Design your 3d game engineDesign your 3d game engine
Design your 3d game engine
 
Xna game development
Xna game developmentXna game development
Xna game development
 
Xna Demo.Ppt
Xna Demo.PptXna Demo.Ppt
Xna Demo.Ppt
 
All About Gaming - By Sai Krishna A & Roopsai N
All About Gaming - By Sai Krishna A & Roopsai NAll About Gaming - By Sai Krishna A & Roopsai N
All About Gaming - By Sai Krishna A & Roopsai N
 
The Ultimate Gaming
The Ultimate GamingThe Ultimate Gaming
The Ultimate Gaming
 
Xna
XnaXna
Xna
 
Akshay-UNIT 20-LO-1,2,3&4-FINAL
Akshay-UNIT 20-LO-1,2,3&4-FINALAkshay-UNIT 20-LO-1,2,3&4-FINAL
Akshay-UNIT 20-LO-1,2,3&4-FINAL
 
Kinect
KinectKinect
Kinect
 
Xna
XnaXna
Xna
 
Abc of DirectX
Abc of DirectXAbc of DirectX
Abc of DirectX
 
Architectural Analysis of Game Machines
Architectural Analysis of Game MachinesArchitectural Analysis of Game Machines
Architectural Analysis of Game Machines
 
Writing Games in .NET with XNA Game Studio
Writing Games in .NET with XNA Game StudioWriting Games in .NET with XNA Game Studio
Writing Games in .NET with XNA Game Studio
 
Windows7
Windows7Windows7
Windows7
 
Vide Game Industry - Case Linköping University
Vide Game Industry - Case Linköping UniversityVide Game Industry - Case Linköping University
Vide Game Industry - Case Linköping University
 
Writing Games in .NET with XNA Game Studio
Writing Games in .NET with XNA Game StudioWriting Games in .NET with XNA Game Studio
Writing Games in .NET with XNA Game Studio
 
Project natal
Project natalProject natal
Project natal
 
Computer Components
Computer ComponentsComputer Components
Computer Components
 
prithiv's gaming technology.pptx
prithiv's gaming technology.pptxprithiv's gaming technology.pptx
prithiv's gaming technology.pptx
 
Vido game and kinect
Vido game and kinectVido game and kinect
Vido game and kinect
 

More from Martha Rotter

EdTech 2012 Keynote: Digital Literacy - Your Message is Your Medium
EdTech 2012 Keynote: Digital Literacy - Your Message is Your MediumEdTech 2012 Keynote: Digital Literacy - Your Message is Your Medium
EdTech 2012 Keynote: Digital Literacy - Your Message is Your MediumMartha Rotter
 
Curing Your Skin With Food
Curing Your Skin With FoodCuring Your Skin With Food
Curing Your Skin With FoodMartha Rotter
 
Designing Narrative Content Workshop
Designing Narrative Content WorkshopDesigning Narrative Content Workshop
Designing Narrative Content WorkshopMartha Rotter
 
Introducing the Windows Phone Application Platform
Introducing the Windows Phone Application PlatformIntroducing the Windows Phone Application Platform
Introducing the Windows Phone Application PlatformMartha Rotter
 
OMG TMI!!!!!!!!111111111111111
OMG TMI!!!!!!!!111111111111111OMG TMI!!!!!!!!111111111111111
OMG TMI!!!!!!!!111111111111111Martha Rotter
 
Building Multi-Touch Experiences
Building Multi-Touch ExperiencesBuilding Multi-Touch Experiences
Building Multi-Touch ExperiencesMartha Rotter
 
Sketch Flow Overview
Sketch Flow OverviewSketch Flow Overview
Sketch Flow OverviewMartha Rotter
 
Client Continuum Dec Fy09
Client Continuum Dec Fy09Client Continuum Dec Fy09
Client Continuum Dec Fy09Martha Rotter
 
Silverlight Ux Talk External
Silverlight Ux Talk ExternalSilverlight Ux Talk External
Silverlight Ux Talk ExternalMartha Rotter
 
Podcasting Inside the Evil Empire
Podcasting Inside the Evil EmpirePodcasting Inside the Evil Empire
Podcasting Inside the Evil EmpireMartha Rotter
 
Silverlight For Students
Silverlight For StudentsSilverlight For Students
Silverlight For StudentsMartha Rotter
 
Silverlight2 Deepdive Mix08 External
Silverlight2 Deepdive Mix08 ExternalSilverlight2 Deepdive Mix08 External
Silverlight2 Deepdive Mix08 ExternalMartha Rotter
 
Ruby & Python with Silverlight O RLY? YA RLY!
Ruby & Python with Silverlight O RLY? YA RLY!Ruby & Python with Silverlight O RLY? YA RLY!
Ruby & Python with Silverlight O RLY? YA RLY!Martha Rotter
 

More from Martha Rotter (16)

EdTech 2012 Keynote: Digital Literacy - Your Message is Your Medium
EdTech 2012 Keynote: Digital Literacy - Your Message is Your MediumEdTech 2012 Keynote: Digital Literacy - Your Message is Your Medium
EdTech 2012 Keynote: Digital Literacy - Your Message is Your Medium
 
Beware the Shiny!
Beware the Shiny!Beware the Shiny!
Beware the Shiny!
 
Curing Your Skin With Food
Curing Your Skin With FoodCuring Your Skin With Food
Curing Your Skin With Food
 
Designing Narrative Content Workshop
Designing Narrative Content WorkshopDesigning Narrative Content Workshop
Designing Narrative Content Workshop
 
Introducing the Windows Phone Application Platform
Introducing the Windows Phone Application PlatformIntroducing the Windows Phone Application Platform
Introducing the Windows Phone Application Platform
 
OMG TMI!!!!!!!!111111111111111
OMG TMI!!!!!!!!111111111111111OMG TMI!!!!!!!!111111111111111
OMG TMI!!!!!!!!111111111111111
 
Building Multi-Touch Experiences
Building Multi-Touch ExperiencesBuilding Multi-Touch Experiences
Building Multi-Touch Experiences
 
Sketch Flow Overview
Sketch Flow OverviewSketch Flow Overview
Sketch Flow Overview
 
Composite WPF
Composite WPFComposite WPF
Composite WPF
 
Wpf Introduction
Wpf IntroductionWpf Introduction
Wpf Introduction
 
Client Continuum Dec Fy09
Client Continuum Dec Fy09Client Continuum Dec Fy09
Client Continuum Dec Fy09
 
Silverlight Ux Talk External
Silverlight Ux Talk ExternalSilverlight Ux Talk External
Silverlight Ux Talk External
 
Podcasting Inside the Evil Empire
Podcasting Inside the Evil EmpirePodcasting Inside the Evil Empire
Podcasting Inside the Evil Empire
 
Silverlight For Students
Silverlight For StudentsSilverlight For Students
Silverlight For Students
 
Silverlight2 Deepdive Mix08 External
Silverlight2 Deepdive Mix08 ExternalSilverlight2 Deepdive Mix08 External
Silverlight2 Deepdive Mix08 External
 
Ruby & Python with Silverlight O RLY? YA RLY!
Ruby & Python with Silverlight O RLY? YA RLY!Ruby & Python with Silverlight O RLY? YA RLY!
Ruby & Python with Silverlight O RLY? YA RLY!
 

Recently uploaded

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 

Recently uploaded (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 

Creating Video Games From Scratch Sky Con

  • 1. 1 m TH3 L33t M45t3r. J00 H34R M3? J00 12 901n' d0wN. 1 W1ll 34t j00R n3w8 50ul PH0r 8R34kF45t. (I am incredibly skilled. Do you understand that? Your attempts to defeat me will fail. I will gorge myself on your inexperienced soul this morning.)
  • 2. Creating Video Games from Scratch Martha Rotter martharo@microsoft.com
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. Why Games? Why Now? ● Developing Games is Hot! Whether it’s casual games, XBox360 games, PC games, adver- ● gaming, people are interacting with games more now than ever. ● Developing Games Makes Money! Just a few years ago, the games industry overtook the film ● industry: now the games make more than the movies. ● Developing Games is Fun! Duh! ● ● Developing Games is Free! Tools for XNA are all free, the only thing you might need to pay for ● is the Creators Club membership. 8
  • 9. 9
  • 10. How Did This Happen? 10
  • 12. What are Community Games? XBox LIVE Community Games is a new gaming service that is complementary to XBox LIVE Arcade.  Launching this holiday season for the UK! Provides consumers with the best and broadest selection of gaming content available on ANY console. Xbox 360 is the first platform to democratize game development by allowing developers to distribute their games to more than 12 million Xbox LIVE members and offering them the opportunity to benefit financially from their creations. 12
  • 13. How does Community Games Work? • The setup? Simple. • The payments? Cash. • As a Premium member of the XNA Creators Club, you can submit any game you’ve created. • Other Premium members can check your game to make sure it’s safe to play. • If it is, you’ll set a price point, between 200-800 points, for people to pay to download your game. 13
  • 14. How you make money with Community Games • Once the game is reviewed and the price is set, you’re finished. • The game is now available on the XBox LIVE Marketplace. • You get a cheque every quarter for up to 70% of the game’s total depending on your own currency. • Depending on your game’s success, you may even have your game advertised on XBox360 and other Microsoft online properties! 14
  • 15. Want an Example? • The latest example: Jonathan Blow, developer of the game Braid, an XBox360 game that's somewhat similar to early 'Mario' games for Nintendo. His game had only been on sale for a week, but he estimated it had already sold 55,000 copies for the Xbox360. At $15 per game, that’s $825,000 in first week gross sales. 15
  • 16. XNA Overview Let’s learn some XNA basics: ● What is XNA? • “XNA’s Not Acronymed” • Unified platform for game development • Runs on XP, Vista – Sits on DX • Targets PC or Xbox 360 or Zune • Most boilerplate engine code already included • FREE! 16
  • 17. XNA Overview What can you make with XNA? ● Some ideas: • 3D or 2D games • First person shooters • Real-time strategy games • And more! 17
  • 18. What Else Can You Do With XNA? •Topics •Programs Create games Secondary & Post-Secondary Computer Science Game design Fine Arts Multi-threaded / Multi-core Computer Graphics Physics simulations Inter/multi-discipline Mathematics Research Visualization Senior projects / Capstone Networking Outreach programs AI Team projects
  • 19. Some Assumptions Are there any prerequisite skills I need to have before I get started with XNA? ● Math skills • A basic understanding of 2D and 3D coordinate systems • Data structures, such as vectors and matrices ● Programming skills • Familiarity with the .NET platform and the C# language 19
  • 20. XNA Game Studio Content XNA Visual Studio Device 2008 Management Pipeline Game Studio Application Model Content Pipeline XNA Graphics Audio Math Framework Gamer Input Networking Services Windows Xbox 360 Zune Platform
  • 21. Game Flow Load Start Content Update Draw Unload End Content
  • 22. XNA Framework Overview •Games •Starter Kits Code Content Components •Extended •Application Model •Content Pipeline •Framework •Core •Graphics •Audio •Input •Math •Storage •Framework •Direct3D •XContent •Platform •XACT •XINPUT 22
  • 23. Custom Hardware • 3.2 GHz triple-core custom CPU • 500 MHz custom GPU • 512 MB unified memory • 12X dual-layer DVD drive • 20 GB removable hard drive • USB 2.0 ports • 10/100 Mbps Ethernet • IR receiver • Wireless peripheral support • High definition video out
  • 24. Hardware Overview I/O CPU DVD (SATA) Chip HDD port (SATA) Core0 Core1 Core2 Front controllers (2 US L1D L1I L1D L1I L1D L1I Wireless controllers 1MB L2 SMCXMA Decoder MU ports (2 USB) Rear Panel USB Memory GPU Ethernet MC1 BIU/IO Intf IR 512 MB Audio Out FLASH DRAM 3D Core System control MC0 Video 10MB EDRAM Analog Out Video Out Chip
  • 25. Assets ● Graphics • Models • Textures • Animations • Audio • Ambient sound • Music • Event sounds (explosions, speech, game over…) 25
  • 26. Creating Assets ● Graphics • DCC (Digital Content Creation) tools • Maya, 3DS Max, Lightwave, Photoshop etc. • XNA provides importers for .x, .fbx and other file formats that can be produced by most DCC tools • Audio • MP3 & WAV sounds produced in traditional ways • Foley is the process of creating sound effects 26
  • 27. The Content Pipeline ● Allows separation of artist and developer work ● Reduces engine / DCC format interdependencies • Many standard importers and processers are available for your content • Importers put your DCC content into the game, processors deal with it in the game • Extensibility: You can write your own importer for a custom file format ● Simple interaction from game to pipeline • ContentManager.Load(…) 27
  • 28. The Content Pipeline Lifetime of an example asset: 1. Artist creates an oak tree in Maya 2. (Optionally) Animator adds an animation of the oak tree exploding violently 3. Developer receives this file in Maya format and imports it into the content pipeline 4. Compiler packs asset into a binary format tightly coupled with XNA (not designed for use elsewhere) 5. At runtime: The content pipeline processes the exploding tree 28
  • 29. Let’s Get Started! Prepare your development environment. ● Not much is required to get started! • Windows XP or Vista • Visual C# Express • Install XNA game studio! 29
  • 30. Which Version Should I Install? • Game Studio 2: • Works with Visual Studio 2005 & Visual C# 2005 Express Edition • Can deploy to Windows XP, Vista or XBox360 now • Game Studio 3: • Works with Visual Studio 2008 & Visual C# 2008 Express Edition • Can deploy to XP, Vista, Xbox 360 or Zune 30
  • 31. What’s New in GS 3? • Xbox 360 • Xbox 360 project templates (You will not be able to develop on the Xbox 360 until our final release. We felt this was important to include so that you could get projects converted over and look at the system, even if you are not able to run the games, yet). • Support for the Big Button Pad. 31
  • 32. What’s New in GS 3 (cont.)? • Framework & Visual Studio Features • Enumerate and play back media on your Windows computer or Xbox 360. • Simple sound effect support on Windows computers and Xbox 360. • Support for Rich Presence (lets friends know what’s going on in your game). • Support for Invites (ask your friends to join you in a multiplayer game) and Join Session In Progress (after you see what your friends are doing, you can join their current session with just a couple of button presses, even if that’s a different game to the one you are currently playing) 32
  • 33. What’s New in GS 3 (cont.)? • More Framework & Visual Studio Features your content and save space with the new content Compress • compression features! • ClickOnce packaging support for distributing your XNA Framework games on Windows. • Upgrade your project from XNA Game Studio 2.0 using the Project Upgrade Wizard! • Take screen captures of your game running on Zune through the XNA Game Studio Device Center. • Support for .NET language features like Linq • Create multiple content projects and leverage cross project synchronization in Visual Studio. • FBX importer improvements: read materials containing multiple textures, and export custom shader materials directly out of Max or Maya. 33
  • 34. Full mini-game Starter Kits Can be final destination or starting point Growing library of genres over time Focus on several key educational topics per Starter Kit 34
  • 35. The Structure of an XNA Game How does the game run? ● Initialization • Load assets and set initial values ● Game Loop • Fixed number of frames per second • Frame: an individual stage of the game’s animation • In each frame, look for KB input, update world, run AI, etc. • Disposal of objects / Cleanup 35
  • 36. Important Methods In your Game’s class file: ● LoadGraphicsContent • Pushes assets into the content pipeline ● Update • Realtime processing happens here • Updates to world data • In each frame, look for KB input, update world, run AI, etc. • Draw • Redraw scene 36
  • 37. Accepting Keyboard Input Polling the keyboard is easy. ● Poll the keyboard as part of the Update process ● XNA exposes a list of pressed keys ● Check those key presses and handle them accordingly 37
  • 38. Collision Detection Collision detection is easier than before. ● Like other processing, happens in the Update method ● Use a BoundingBox object. • Normally used for 3D meshes, just set Z to 0 • Create a BoundingBox for every object you want to detect collisions between • Use the BoundingBox.Intersects method to determine if 2 objects collide. 38
  • 39. 39
  • 40. Summary ● About XNA – what it is, and architecture ● Assets & the content pipeline ● Anatomy of a game ● Creating and moving 2D sprites ● The game loop ● Simple collision detection 40
  • 41. Q&A and Resources Some XNA Resources ● http://msdn.microsoft.com/directx/XNA Official XNA Website ● http://creators.xna.com/Education/Tutorials.aspx Official Creators Club tutorials ● http://www.xnadevelopment.com Third-party XNA tutorials ● http://www.learnxna.com Third party XNA video tutorials ● http://blogs.msdn.com/martharotter My Blog 41