XNA is a framework code library. It appears as a new project template in visual studio. The XNA Framework has evolved over the years and now includes support audio and video playback, Xbox Live multi-player features, Xbox 360 avatars, and more. Most importantly for your purposes, it makes it easy to draw on the screen of the device that you’re working with. XNA allows you to use Visual Studio to create games for Windows Phone, Xbox 360 and Windows computers.
XNA is a great place to learn game programming. The framework provides all the code necessary for making a game work, in other words, the game engine, newcomers to game programming are able to concentrate on making the game fun & interesting and the design work without getting bogged down in the implementation details. There are tons of game samples available for you to download and work with. Another advantage is that you're writing in C#, which is easy to use. If you have some Java experience, you will find the transition to C# is really simple. XNA is also great as a prototyping tool. If you have a game idea and want to make a mock up of it, XNA is by far the easiest way to do this. When you do encounter a problem, you know that it's not with the game engine portion of your code since XNA takes care of that.
Most of what is XNA can be found in the project templates it provides. Game LoopSet of methods, performed by our game that sets up our game and allows our game to run continuously until the user exits. All games no matter how complex, break down to these simple methods that present logic, graphics and audio to the player. Game LoopConstructor: do any OS related set upInitialization: run the first time a game starts. This is where we'll set up all the initial variable our game needs and set non-content related game dataLoadContent: load any art assets used by our game, textures (images), models, sound effects and musicUpdate: check for player input and alter the game's variables each frame. Where the game loop shows its true merit. By adding some code to update, we can alter anything we want about information stored inside the game. For instance, player interactions with controls (buttons, arrow keys, touch) and updating game component positions (characters, players, etc) and collision detectionDraw: tell our game what should be sent to the screen and how it should be displayed Update and Draw methods are called repeatedly, usually somewhere between 30 and 60 frames/second depending on what hardware you're using.
Game Development: A Crash Course
Game Development: A Crash Course Ed Donahue Academic Developer Evangelist firstname.lastname@example.org creepyed.com | @creepyed
Ed DonahueSalsa dancerLight joggerCasual cyclistSwimmerTriathlete (for thosecounting)Computer science majorLover of monospacedfontsSupporter of womenin techMicrosoft AcademicDeveloper Evangelist email@example.com | www.creepyed.com | @creepyed
Game Development• What is XNA?• Why XNA?• What’s at the core of game development?
What is XNA?• Framework (code library)• Based on .NET Framework• Allows you to create games in Visual Studio – Xbox – Windows – Windows Phone
What is DreamSpark?o DreamSpark provides free Microsoft software to verified students around the world for FREE!Who is eligible for DreamSpark?o All part-time and full-time students are entitled to DreamSpark softwareWhat software can they get from DreamSpark?o Free App Hub account for Windows Phone 7 Marketplaceo One year free subscription to XNA Creators Clubo Visual Studio 2010 Professional, Expression Studio 4 Ultimate, Windows Server, SQL Servero 90 days of free Pluralsight training
Why XNA?• Easily integrates with existing Microsoft APIs• Learn one technology, develop for three platforms• Great place to start learning game development• Can even be a prototyping tool
Game Loop• All games can be simplified to the game loop• Constructor• Initialize• LoadContent• Update• Draw
ScriptTD• Tower defense game engine• All you have to do is change the graphics & audio!• http://scriptTD.codeplex.com
Useful links and stuff• FollowMyFeed.net: Webapp wizard that will create an RSS- reader Windows Phone app.• wpiconmaker.codeplex.com: Utility that creates application icons that are super useful for FollowMyFeed apps and uploading an app to the Marketplace.• DreamSpark.com: provides professional level development software to students for free. Also provides a membership to App Hub, so students can start listing applications in the Marketplace for free!• create.msdn.com: Windows Phone App Hub. Go here for the Windows Phone SDK, development and learning resources and to upload apps to the Marketplace.• www.creepyed.com: My blog! Under the Windows Phone tab, you can find images that you can use in your own apps.• slideshare.net/creepyed: I publish most of my presentation slides. Find them all here.
Free for 3Windows Phone Student Giveaway Email your 3 app links and titles created and published in the Marketplace Between January 1 and June 30 Include your WLID And we will send you one* phone firstname.lastname@example.org *While supplies last – limited to developers inNY, NJ, MA, CT, VT, ME, NH, RI, VA, WV, PA, MD, NC, SC, GA, AL, MS, FL
Notes on Free for 3• Possible 3 Apps: 1. Follow My Feed app 2. ScriptTD Game 3. App based on a starter kit found at http://bit.ly/z8e9qE & http://bit.ly/WPStarterKitsFBLA12• I will accept 1 Follow My Feed app to count towards the 3• Once your 3 apps are published, email the deep links and app name to email@example.com