Learning XNA 4.0

Total Page:16

File Type:pdf, Size:1020Kb

Learning XNA 4.0 Learning XNA 4.0 Learning XNA 4.0 Aaron Reed Beijing • Cambridge • Farnham • Köln • Sebastopol • Tokyo Learning XNA 4.0 by Aaron Reed Copyright © 2011 Aaron Reed. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 or [email protected]. Editor: Courtney Nash Indexer: Fred Brown Production Editor: Kristen Borg Cover Designer: Karen Montgomery Copyeditor: Genevieve d’Entremont Interior Designer: David Futato Proofreader: Kristen Borg Illustrator: Robert Romano Printing History: December 2010: First Edition. Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. Learning XNA 4.0, the image of a sea robin fish, and related trade dress are trade- marks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc., was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information con- tained herein. ISBN: 978-1-449-39462-2 [M] 1291906059 To my mother and father, who, after shelling out $2,500 in the 1980’s for a sweet Compaq 286 with a 4-color monitor, 16k internal memory, a 5 1/4" floppy and no internal hard drive, didn’t yell at me when they came home and found that I’d taken the thing apart. I’ve been hooked ever since. Table of Contents Preface . ................................................................... xiii 1. What’s New in XNA 4.0? . ................................................. 1 Revised Project Folder Structure 1 Develop Games for Windows Phone 7 Series 2 Graphics Profiles 2 Configurable Effects 4 Built-in State Objects 5 Scalars and Orientation 5 Revised Input API 5 Additional Audio API 6 Music and Picture Enumeration and Video Playback 6 Modified and Added Classes and Methods 6 Test Your Knowledge: Quiz 6 2. Getting Started . ........................................................ 7 System Requirements 7 Additional Resources 8 Installation 8 Creating Your First XNA Application 10 What You Just Did 13 Summary 13 Test Your Knowledge: Quiz 14 3. Fun with Sprites . ...................................................... 15 A Look Behind the Scenes 15 Game Development Versus Polling 18 Modifying Your Game 21 Adding a Sprite to Your Project 22 Loading and Drawing Your Sprite 25 Transparency and Other Options 28 vii Layer Depth 33 Let’s Move 36 Animation 38 Adjusting the Framerate 43 Adjusting the Animation Speed 44 What You Just Did 45 Summary 46 Test Your Knowledge: Quiz 46 Test Your Knowledge: Exercise 47 4. User Input and Collision Detection . ....................................... 49 More Sprites 49 Keyboard Input 52 Mouse Input 54 Gamepad Input 56 Keeping the Sprite in the Game Window 59 Collision Detection 60 What You Just Did 65 Summary 65 Test Your Knowledge: Quiz 65 Test Your Knowledge: Exercise 66 5. Applying Some Object-Oriented Design . ................................... 67 Designing Your Classes 67 Creating a Sprite Class 68 Creating a User-Controlled Sprite Class 72 Creating an Automated Sprite Class 74 Game Components 77 Coding the SpriteManager 78 Cleaning Up 80 Making Them Move 83 What You Just Did 83 Summary 84 Test Your Knowledge: Quiz 84 Test Your Knowledge: Exercise 84 6. Sound Effects and Audio . ............................................... 85 Using XACT 86 Implementing XACT Audio Files in Code 92 Using the Simplified API for Sound and Audio 94 Adding More Sound to Your Game 96 What You Just Did 100 Summary 100 viii | Table of Contents Test Your Knowledge: Quiz 101 Test Your Knowledge: Exercise 101 7. Basic Artificial Intelligence . ............................................ 103 The Turing Test 104 Creating Sprites at Random Intervals 104 Randomly Spawning Sprites 106 Irrelevant Objects 110 Creating a Chasing Sprite 112 Creating an Evading Sprite 117 What You Just Did 123 Summary 123 Test Your Knowledge: Quiz 124 Test Your Knowledge: Exercise 124 8. Putting It All Together . ................................................ 125 Drawing 2D Text 126 Randomly Generating Different Sprite Types 132 Adding Some Variety to Your Sprites 133 Adding a Background Image 139 Game Scoring 140 Game States 147 Enabling/Disabling GameComponents 150 Game-Over Logic and the Game-Over Screen 153 Fine-Tuning Gameplay 161 Creating Power-Ups 164 What You Just Did 168 Summary 169 Test Your Knowledge: Quiz 169 Test Your Knowledge: Exercise 169 9. 3D Game Development . ............................................... 171 Coordinate Systems 171 Cameras 173 Creating a 3D Camera 176 Drawing Primitives 178 Matrix Multiplication 183 Movement and Rotation 184 Backface Culling 187 More on Rotations 188 Even More Rotations 190 Primitive Types 191 Applying Textures 195 Table of Contents | ix What You Just Did 198 Summary 199 Test Your Knowledge: Quiz 200 Test Your Knowledge: Exercise 200 10.3D Models . .......................................................... 201 Using 3D Models 201 Setting Up the Project 202 Adding a Model to Your Project 205 Drawing a Model Using a BasicModel Class 206 Adding a Model Manager 210 Rotating Your Model 212 What You Just Did 214 Summary 215 Test Your Knowledge: Quiz 216 Test Your Knowledge: Exercise 216 11. Creating a First-Person Camera . ......................................... 217 Components of a Moving 3D Camera 217 Moving in a First-Person Camera 221 Rotations in a First-Person Camera 224 Rotating a Camera in a Yaw 226 Rotating a Camera in a Roll 227 Rotating a Camera in a Pitch 228 Coding the Camera for the 3D Game 229 What You Just Did 233 Summary 233 Test Your Knowledge: Quiz 234 Test Your Knowledge: Exercise 234 12. 3D Collision Detection and Shooting . 235 Creating a Moving Enemy 235 Adding Some Game Logic 237 Firing Shots 246 3D Collision Detection and Bounding Spheres 251 Adding a Crosshair 253 Adding Sound 256 What You Just Did 262 Summary 262 Test Your Knowledge: Quiz 263 Test Your Knowledge: Exercise 263 x | Table of Contents 13. HLSL Basics . ......................................................... 265 HLSL Syntax 267 Dissecting a Sample HLSL Effect File 269 Applying an HLSL Effect in C# 277 Applying HLSL Using Textures 285 HLSL Effects: Creating a Negative 293 HLSL Effects: Blur 293 HLSL Effects: Grayscale 295 What You Just Did 296 Summary 296 Test Your Knowledge: Quiz 297 Test Your Knowledge: Exercise 297 14. Particle Systems . ..................................................... 299 Creating a Particle Engine 299 Adding a Particle Effect File 310 Adding Your Particle Engine to Your Game 312 Adding a Starfield 315 What You Just Did 320 Summary 321 Test Your Knowledge: Quiz 321 15. Wrapping Up Your 3D Game . ........................................... 323 Adding a Splash Screen Game Component 323 Keeping Score 334 Adding a Power-Up 338 What You Just Did 343 Test Your Knowledge: Exercise 344 16. Deploying to the Xbox 360 . ............................................ 345 Adding an Xbox 360 Device 345 Converting a Project to Run on the Xbox 360 349 Supporting Gamepad Input 351 Deploying to the Xbox 360 358 Xbox 360 Display Settings 360 The Title Safe Region 361 What You Just Did 363 Summary 363 Test Your Knowledge: Quiz 363 17. Developing for Windows Phone 7 . ....................................... 365 Setting Up Your Windows Phone 7 Device 365 Table of Contents | xi Registering for a Developer Account 366 Registering Your Windows Phone 7 Device 368 Unlocking Your Phone 369 Creating a Windows Phone 7 Project 370 Resources 372 Digging In 373 Screen Rotation and Resolution 378 More Model Classes 380 Adding a ModelManager 386 Finishing Details 391 What You Just Did 395 Summary 395 Test Your Knowledge: Quiz 395 18. Multiplayer Games . .................................................. 397 Split-Screen Functionality 397 Network Game Development 406 Network Configurations 408 Writing an XNA Network Game 410 Modifying the Sprite Class 411 Modifying the UserControlledSprite Class 411 Coding Your Game1 Class 414 Adding Update Code 417 Updating While in the SignIn Game State 418 Updating While in the FindSession Game State 419 Updating While in the CreateSession GameState 422 Updating While in the Start Game State 422 Updating While in the InGame Game State 430 Updating While in the GameOver Game State 431 Adding Draw Code 432 Adding Biohazard Bombs of Insanity! 438 What You Just Did 444 Summary 445 Test Your Knowledge: Quiz 446 Appendix: Answers to Quizzes and Exercises . 447 Index . 501 xii | Table of Contents Preface I’ve taught DirectX and XNA game development courses at Neumont University for the past several years, and I’ve been repeatedly frustrated by my inability to find the right book for these classes. There are numerous books on the subject, but none that I felt fit the goals of my classes (introductory college-level game development courses targeted to an audience familiar with C#) or that presented the material in a style and sequence I felt was appropriate. Many books required too much previous game or graphics development knowledge. Others assumed too little knowledge of nongame-related development concepts. Still others relied too much on third-party libraries, or presented the material in a sequence that would be counterintuitive to a reader who is new to game development. I found myself jumping around from Chapter 3 in one book to Chapter 18 in another, then back to the original book for Chapter 7 and Chapter 9, and so forth, while filling in gaps with slides, code samples, and documents I created on my own. Eventually, I decided to take the content I had developed for my XNA game develop- ment course and write some material on the subject for use in the classroom.
Recommended publications
  • Download the Ebrochure
    DECEMBER 5-9, ORLANDO, FLORIDA Royal Pacific Resort at Universal Orlando® 5 CODE-FILLED DAYS IN FLORIDA! REGISTER TODAY! VSLIVE.COM/ORLANDO u Visual Studio 2010 / .NET u Web / HTML5 u Developing Services u Cloud Computing u Silverlight / WPF u Windows Phone 7 u Data Management u Programming Practices PLATINUM SPONSORS SUPPORTED BY PRODUCED BY DECEMBER 5-9, ORLANDO, FLORIDA Royal Pacific Resort at Universal Orlando® A Message from the Co-Chairs The Microsoft Development Platform is reaching a huge milestone. With Windows 8 waiting in the wings, the growing momentum of Windows Phone, the industry-wide HTML 5 push and continual emphasis on Cloud Computing, just about everything is changing and growing. We think there’s a great way to digest these changes and seize their collective opportunity. And that’s to hear about them directly TABLE OF from Microsoft product team members and evangelists, along with a number of the finest independent speakers in the business. CONTENTS: We’re Andrew Brust and Rocky Lhotka, and as Conference 10 Reasons to Attend ............................................ 3 Co-Chairs for Visual Studio Live! Orlando, we’d like to personally Speaker List ............................................................................ 4 invite you to join us this December in Orlando, Florida, where we’ll have some of the best content and speakers that you’ll find at a Events & Activities ....................................................... 5 technical conference. Keynote Abstracts ....................................................... 6 Look Who’s Attending .......................................... 6 We’ve put together a blockbuster lineup of sessions on: HTML 5; the Cloud; Windows Phone Development, Silverlight and WPF; Venue & Travel .................................................................... 7 Data Management and Services Development. Agenda-At-A-Glance .............................................
    [Show full text]
  • 3-16 Edit Inhalt CD.Indd
    XNA Framework Magazin 17 satz haben, lässt sich bereits nach wenigen Minuten der Code für das Spiel schreiben. Lästige, immer wiederkehrende Aufga- Revolution in der ben, wie beispielsweise die Initialisierung des Render-Device oder die Wiederher- stellung des Device beim Skalieren des Spiele-Welt Fensters, gehören der Vergangenheit an – diese Aufgaben übernimmt das XNA Managed Code für die XBox: Framework (zumal die XBox 360 keine typischen Fenster kennt). Eine neue Ära der Spieleentwicklung Schichten sind wieder aktuell von Jens Konerow Wo sich das XNA Framework einreiht, lässt sich am einfachsten erkennen, wenn In den letzten ein bis zwei Jahren zierte das Kürzel XNA gehäuft die Wer- das ganze System in Schichten unterteilt beblätter von Entwicklerkonferenzen, die von Microsoft initiiert wurden, wird. Die folgende Auflistung schemati- oder tauchte in Logos auf, die mit der Multimediaschnittstelle DirectX in siert das gesamte Modell von der tiefsten Verbindung standen. Ende August 2006 wurde die erste Beta-Version Ebene bis zur höchsten Ebene: des Produkts XNA Game Studio Express der Öffentlichkeit zur Verfügung • Plattform: Gebildet wird die Plattform gestellt. Doch was genau ist XNA? Welche Vorzüge bietet XNA? Fragen über eine Reihe von nativen und verwal- über Fragen, die in diesem Artikel beantwortet werden sollen. teten APIs. Darunter zählt beispielswei- se Direct3D zur Kommunikation mit der Grafikkarte, XACT, XInput oder XContent (die Begriffe werden später Microsoft hat es geschafft, DirectX als gleich diese vorerst nur aus Vorlagen für noch etwas genauer beschrieben). eine der wichtigsten Schnittstellen im Be- Visual C# Express besteht. Das Besondere • Core Framework: Diese Schicht des reich Multimediaprogrammierung zu an XNA ist, dass die Spiele nicht nur auf XNA Framework kann mit den Aufga- etablieren.
    [Show full text]
  • Test-Driving ASP.NET MVC Dino Esposito, Page 6 Keith Burnell
    Untitled-10 1 6/6/12 11:32 AM THE MICROSOFT JOURNAL FOR DEVELOPERS JULY 2012 VOL 27 NO 7 Pragmatic Tips for Building Better COLUMNS Windows Phone Apps CUTTING EDGE Andrew Byrne .......................................................................... 24 Mobile Site Development, Part 2: Design Test-Driving ASP.NET MVC Dino Esposito, page 6 Keith Burnell ............................................................................ 36 DATA POINTS Create and Consume Writing a Compass Application JSON-Formatted OData for Windows Phone Julie Lerman, page 10 Donn Morse ............................................................................ 48 FORECAST: CLOUDY Mixing Node.js into Your Hadoop on Windows Azure Windows Azure Solution Joseph Fultz, page 16 Lynn Langit .............................................................................. 54 TEST RUN How to Handle Relational Data Classifi cation and Prediction Using Neural Networks in a Distributed Cache James McCaffrey, page 74 Iqbal Khan ............................................................................... 60 THE WORKING A Smart Thermostat on the Service Bus PROGRAMMER The Science of Computers Clemens Vasters ....................................................................... 66 Ted Neward and Joe Hummel, page 80 TOUCH AND GO Windows Phone Motion and 3D Views Charles Petzold, page 84 DON’T GET ME STARTED The Patient Knows What’s Wrong With Him David Platt, page 88 Start a Revolution Refuse to choose between desktop and mobile. With the brand new NetAdvantage for .NET, you can create awesome apps with killer data visualization today, on any platform or device. Get your free, fully supported trial today! www.infragistics.com/NET Infragistics Sales US 800 231 8588 • Europe +44 (0) 800 298 9055 • India +91 80 4151 8042 • APAC (+61) 3 9982 4545 Copyright 1996-2012 Infragistics, Inc. All rights reserved. Infragistics and NetAdvantage are registered trademarks of Infragistics, Inc. The Infragistics logo is a trademark of Infragistics, Inc.
    [Show full text]
  • Microsoft XNA Game Studio
    CreatingAcceleration an Abstract and ClassThe Physics Windows in C# .. Phone .. .. .. Marketplace .. .. .. .. .. .. ... ... ... ... ..282 .. .. .. .. ..340 . 403 Drawing Multiple Text Strings . 97 Extending anMaking AbstractAdding Sense RegisteringTomato ClassDetecting of Memory.Accelerometer Targets. forKey . the.Overflow Presses .. App.. .Readings. .Hub. .and. ... ..Data . .. .. Values . .. .. .. .282. .. .. .. .. ..341. ... ... ... 227 .. 404 ..155 . 35 Repeating Statements with a for Loop . 99 DesigningCreating with a Abstract “CheeseTomatoUsingDecoding Classes Lander” CollisionsaMaking Windows . KeyTipping . a . .CharactersProper Phone.. .Game. .. Mood Device.. .... ... Light .. .. .. .. .. .. .. .. 284 . 343 . .. .. .. .229. .404. 159. 36 Other Loop Constructions . 101 ReferencesTable Gameto ConclusionAbstract World Creatingof ParentUsing Objects . .Making Contentsthe . ClassesGames .in Shift. “Cheese Decisions. for .Keys. .Sale . .Lander”. in. .. .Your . .. .. .. Program. .. .. .. .. .. .. .. .. .. .. .284... .... .... .... .... ..343. ... ... ... 232 ... 405.. 160. 37 Fun with for Loops . 101 Constructing ClassGetting InstancesChapterConclusion Access Review Editing. .to .The. the .Questions .the .Completed . Accelerometer .Text. .. .Mood . Class. .Light . from. .XNA . ..285 ... ... ... ... ... 344 .. .. .. .232. .405. 161. 41 Creating Fake 3-D . 103 ConstructorsUsing inAcknowledgments StructuresChapter theConclusion Accelerometer Review .Finding . .Questions . .Programin . an .. XNA ... ..Bugs Game.. ... .. ... ... ... .. .. .
    [Show full text]
  • Actualización De NVIDIA 1.5.20 NVIDIA Corporation 05/12/2011 1.5
    Actualización de NVIDIA 1.5.20 NVIDIA Corporation 05/12/2011 1.5.20 Adobe AIR Adobe Systems Incorporated 08/05/2012 3.2.0.20 70 Adobe Community Help Adobe Systems Incorporated 18/04/2012 3.0.0.400 Adobe Creative Suite 5 Master Collection Adobe Systems Incorporated 18/04/2012 1.240 MB 5.0 Adobe Dreamweaver CS3 Adobe Systems Incorporated 16/10/2011 861 MB 9.0 Adobe Flash Player 11 ActiveX Adobe Systems Incorporated 11/10/2012 6,00 MB 11.4.402.287 Adobe Flash Player 11 Plugin Adobe Systems Incorporated 11/10/2012 6,00 MB 11.4.402.287 Adobe Media Player Adobe Systems Incorporated 18/04/2012 1.8 Adobe Reader X (10.1.4) - Español Adobe Systems Incorporated 17/08/2012 121,1 MB 10.1.4 Advanced RAR Repair v1.2 16/07/2012 Age of Empires III Microsoft Game Studios 20/04/2012 2.091 MB 1.00.0000 Alcatel USB Modem Alcatel 27/06/2012 1.001.00022 Alien Wars Media Contact LLC 20/11/2011 1.0 AnyToISO CrystalIdea Software, Inc. 02/07/2012 16,0 MB 3.2 Apache Tomcat 7.0.14 01/05/2012 Archivos auxiliares de instalación de Microsoft SQL Server 2008 Microsoft Corpor ation 16/10/2011 33,7 MB 10.1.2731.0 Assassin's Creed Revelations Ubisoft 09/10/2012 1.00 AutoCAD 2011 - Español Autodesk 16/10/2011 18.1.49.0 AutoCAD Mechanical 2011 Autodesk 16/10/2011 15.0.46.0 Autodesk 3ds Max 2010 64-bit Autodesk 02/10/2012 770 MB 12.0 Autodesk 3ds Max 2010 64-bit Components Autodesk 02/10/2012 721 MB 12.0 Autodesk 3ds Max 2010 Tutorials Files Autodesk 02/10/2012 259 MB 12.0 Autodesk Backburner 2008.1 Autodesk, Inc.
    [Show full text]
  • Business at the Speed of Game Production: Opengl Or XNA? Necemon Yai Department of Computer Science, Swansea University ******@Swansea.Ac.Uk
    Business at the speed of game production: OpenGL or XNA? Necemon Yai Department of Computer Science, Swansea University ******@swansea.ac.uk (a) Some OpenGL (c) An XNA sphere (b) An OpenGL sphere (d) Some spheres in an XNA game spheres [Silicon [Riemers] Graphics] Figure 1: Teaser Abstract A common start-ups' question in the gaming industry is: 2 Background Which graphical environment should we use? As time is money, a Let’s introduce the APIs and their features. crucial factor in a choice is time: not only the time it takes to build complete games with each API but also a fluid timing during the 2.1 OpenGL gaming experience to make it enjoyable. In this analysis, we will OpenGL (Open Graphics Library) is a standard specification compare the OpenGL industry standard to the Microsoft XNA defining a cross-language, cross-platform API for writing game framework on the speed factor. The study will include applications that produce 2D and 3D computer graphics. The learning curve, programming, modeling and rendering speeds on interface consists of over 250 different function calls which can be both sides. used to draw complex three-dimensional scenes from simple primitives. OpenGL was developed by Silicon Graphics Inc. 1 Introduction (SGI) in 1992 and is widely used in CAD, virtual reality, scientific visualization, information visualization, and flight A graphics API is basically a way to talk to graphics simulation. It is also used in video games, where it competes with hardware. By using an API, it gets simpler to send drawing Direct3D on Microsoft Windows platforms.
    [Show full text]
  • Installation Instructions for the Visual C# Express Edition Software
    Copyright 2011-2015 by Homeschool Programming, Inc. Installation Instructions for the Microsoft XNA Game Studio 4.0 Now includes instructions for Windows 8 and Windows 10! Updated November, 2015 The TeenCoder™: Game Programming course relies on the Microsoft XNA Game Studio 4.0 software. These instructions will guide you through the online download and local installation procedure. Microsoft XNA Game Studio 4.0 will be installed on top of Visual C# 2010 Express on your computer. This software is a free download from the Microsoft website. You must have already installed the Microsoft Visual C# 2010 Express software prior to taking these steps! Please see the “Visual_CS_2010_Install_Instructions.pdf” if you have not already done so. The following guide will show step-by-step screen shots. In some cases we have added red circles around the buttons or links you need to click. These circles are not present on the install screens you will be using; we added them to highlight the right selections. Copyright Notices: Microsoft Windows, Microsoft Visual C# 2010 Express, Microsoft XNA Game Studio 4.0, and related terms are all copyright by Microsoft Corporation. For more details, please see Microsoft's copyright page. This document, TeenCoderTM, KidCoderTM, and related terms are copyright by Homeschool Programming, Inc. This document is intended for use in a TeenCoderTM computer programming course and may not be used or distributed for other purposes. http://www.HomeschoolProgramming.com/ Page 1 Copyright 2011-2015 by Homeschool Programming, Inc. Disclaimer: Homeschool Programming, Inc, and their officers and shareholders, assume no liability for damage to personal computers or loss of data residing on personal computers arising due to the use or misuse of this course material.
    [Show full text]
  • Handreichung Zur EDV-Beschaffung 2016
    Vorarlberger Bildungsservice Handreichung zur EDV-Ausstattung 2015 Handreichung zur EDV-Ausstattung 2015 Bregenz, im Juni 2015 Übersicht Vorwort .......................................................................................................................................................... 3 Libre Office oder Microsoft Office? ................................................................................................................ 5 Softwarelizenzierung ...................................................................................................................................... 6 Microsoft-Produkte (Betriebssysteme und Office) ..................................................................................... 6 Erforderliche Lizenzen ................................................................................................................................ 7 Liste der installierten Lernprogramme für MS / HS / PTS .............................................................................. 9 Liste der installierten Lernprogramme für VS / ASO /SPZ ............................................................................ 13 Technische Kurzbeschreibungen (für IT-BetreuerInnen) .............................................................................. 16 "PC Tower" HP ProDesk 600 MT .............................................................................................................. 16 "PC Mini" HP Elite 800 Ultraslim Desktop ...............................................................................................
    [Show full text]
  • Development of a Hci Course on the Microsoft Surface
    Session S3F Work in Progress - Development of a HCI Course on the Microsoft Surface Aaron Striegel, Dirk Van Bruggen University of Notre Dame, [email protected], [email protected] Abstract - With the advent of multi-touch devices, there exist exciting new opportunities for course development in the area of Human Computer Interfacing (HCI). From the most recent set of devices, the Microsoft Surface offers a set of unique capabilities and challenges for teaching a HCI course. The natural trend of the device towards simultaneous interactions with multiple users as well as the ability to recognnize physical objects via byte tags offer fascinating teaching and laboratory experiences. In this paper, we will discuss our experiences in teaching a Surface-oriented course with regards to lecture and laboratory design. We will also offer insight with respect to student performance, student feedback, comparingn those aspects versus efforts with the Nintendo Wiimote with regards to programming difficulty. Finally, we will conclude with Figure 1 - Microsoft Surface (surface.com) suggestions for future course refinement. target audiences. The size, cost, and mechanisms for Index Terms – Microsoft Surface, Human Computer interaction (touch, byte tags, Surface API) represent a Interface, Course Development. sizeable departure from other gesture-based systems. It is these departures and their subsequent impact on a Human INTRODUCTION Computer Interface course that form the basis for this paper. In the past few years, there has been an explosion of portable In this paper, we describe what we believe to be the first of devices capable of responding to multi-touch input. While its kind in offering a course primarily dedicated towards the notion of touch as an interface is certainly not new to the teaching HCI on the Microsoft Surface.
    [Show full text]
  • Kunsela Hall Room B118
    Kunsela Hall Room B118 Mac Software Title Version AMD Accelerated Video Transcoding 12.5.100.20704 AMD APP SDK Runtime 10.0.937.2 AMD Catalyst Install Manager 8.0.877.0 AMD Drag and Drop Transcoding 2.00.0000 AMD Media Foundation Decoders 1.0.70704.0230 Apple Application Support 2.3 Apple Software Update 2.1.3.127 Audacity 2.0.2 2.0.2 Auslogics Disk Defrag 3.5 Boot Camp Services 3.3.2921 Bootstrapper 1.1.2.0 Catalyst Control Center ‐ Branding 1.00.0000 Catalyst Control Center Graphics Preview ... 2012.0704.122.388 Catalyst Control Center InstallProxy 2012.0704.122.388 Catalyst Control Center Localization All 2012.0704.122.388 Catalyst Pro Control Center 2012.0704.122.388 CCC Help Chinese Standard 2012.0704.0121.388 CCC Help Chinese Traditional 2012.0704.0121.388 CCC Help Czech 2012.0704.0121.388 CCC Help Danish 2012.0704.0121.388 CCC Help Dutch 2012.0704.0121.388 CCC Help English 2012.0704.0121.388 CCC Help Finnish 2012.0704.0121.388 CCC Help French 2012.0704.0121.388 CCC Help German 2012.0704.0121.388 CCC Help Greek 2012.0704.0121.388 CCC Help Hungarian 2012.0704.0121.388 CCC Help Italian 2012.0704.0121.388 CCC Help Japanese 2012.0704.0121.388 CCC Help Korean 2012.0704.0121.388 CCC Help Norwegian 2012.0704.0121.388 CCC Help Polish 2012.0704.0121.388 CCC Help Portuguese 2012.0704.0121.388 CCC Help Russian 2012.0704.0121.388 CCC Help Spanish 2012.0704.0121.388 CCC Help Swedish 2012.0704.0121.388 Kunsela Hall Room B118 Mac Software Title Version CCC Help Thai 2012.0704.0121.388 CCC Help Turkish 2012.0704.0121.388 ccc‐utility 2012.0704.122.388 CCleaner 3.09 Cisco NAC Agent 4.9.1.13 Citrix online plug‐in ‐ web 12.1.44.1 Citrix online plug‐in (DV) 12.1.44.1 Citrix online plug‐in (HDX) 12.1.44.1 Citrix online plug‐in (USB) 12.1.44.1 Citrix online plug‐in (Web) 12.1.44.1 Construct 2 r139 1.0.139.0 Crystal Reports for Visual Studio 12.51.0.240 Dotfuscator Software Services ‐ Communit ..
    [Show full text]
  • Getting Started with XNA Install XNA Step 1) Download and Install .NET
    Getting Started with XNA Install XNA Step 1) Download and install .NET framework 2.0 Redistributable (if you don’t already have it) : 32‐bit: http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB‐4362‐4B0D‐8EDD‐ AAB15C5E04F5&displaylang=en 64‐bit: http://www.microsoft.com/downloads/details.aspx?FamilyID=B44A0000‐ACF8‐4FA1‐AFFB‐ 40E78D788B00&displaylang=en Step 2) Download and install DirectX 9.0c (if you don’t already have it): https://www.microsoft.com/downloads/details.aspx?familyid=9226a611‐62fe‐4f61‐aba1‐ 914185249413&displaylang=en Step 3) Download and install Visual C# Express edition: http://msdn2.microsoft.com/en‐us/express/aa700756.aspx You’ll need to “register” the application but it’s still completely free. Step 4) Download and install XNA Game Studio 1.0 Refresh: http://msdn2.microsoft.com/en‐us/xna/aa937795.aspx Create Your First XNA Game Project! Step 1) Start C# Express edition Step 2) Click File‐>New‐>Project Select Windows Game or Xbox 360 Game Name your project whatever you like. Windows Game Projects and Xbox 360 Game projects contain exactly the same code. The difference is how you will run your application, whether you send it to the 360 to run it there (using Microsoft creator’s club) or you run it locally on your windows machine. Step 3) Run your very first XNA game! Press f5 on your keyboard, click the little green triangle run button on the top bar of the program, or click Debug ‐> Start Debugging Woohoo!!! Blue screen! That’s all there is to making a game in XNA, this gives us a solid base to make a full game.
    [Show full text]
  • Implementation Strategies for Microsoft XNA Game Development in Academic Laboratory Environments
    Implementation Strategies for Microsoft XNA Game Development in Academic Laboratory Environments A Whitepaper describing the rationale, deployment, and operation of the Game Design & Development Laboratory at the Rochester Institute of Technology Andrew M Phelps Christopher A Egert Founding Director & Associate Professor Assistant Professor Game Design & Development Game Design & Development Golisano College of Computing & Information Sciences Golisano College of Computing & Information Sciences Rochester Institute of Technology Rochester Institute of Technology Rochester, NY, 14623 Rochester, NY, 14623 http://games.rit.edu/ http://andysgi.rit.edu/ http://www.it.rit.edu/~cae/ Gus D Weber Academic Developer Evangelist Microsoft 100 Corporate Woods, Suite 240 Rochester, NY 14623 http://www.microsoft.com/ Abstract This paper describes implementing an XNA Games with an initial course in graphics for game Studio (GS) based laboratory at the Rochester development. Over the next several years, careful Institute of Technology, with specific attention paid planning led to the development of academic to administrative and installation issues as they concentrations, the Masters in Game Design and relate to academic environments. This is in contrast Development, and the Bachelors in Game Design to most of the generally available material on XNA and Development. Most recently, the program has GS, which focuses on non-academic installations. proposed minors for computing as well as non- The experiences related in this paper should be computing students throughout the institute. The transferrable to other institutions, and it is our hope original expectation of the GD&D faculty was to that this information provides a platform of useful educate a handful of graduate students and a single material in incorporating XNA GS/XBOX 360 systems “cohort” of 30 undergraduates per year.
    [Show full text]