A Brief Introduction to XNA
Total Page:16
File Type:pdf, Size:1020Kb
A Brief Introduction to XNA Eric Feng ACRD Agenda • Introduction • Application Model • History and Roadmap • Games Powered By XNA • XNA’s Modules • Working pipeline • Performance • Tips and Golden Rules XNA’s Not Acronymed • What IS XNA? – A managed framework for developing games on both PC and Xbox 360 • Graphics device, input, and audio management along with math helpers • Who is using XNA? – Hobbyists – Students – Independent developers – And…., professionals • Torpex Games, Hidden Path Entertainment, GarageGames Inc. XNA’s Not Acronymed (cont’d) • Why XNA? – Unmanaged background • assembly, C, C++ • XNA exposed us to a new language ----- C# – XNA allows for RAD • Full games can be put together in obscenely short periods of time • Allows developers to focus on content, gameplay, balancing over technical issues – XNA does things more intuitively than DirectX • Render Targets • Device Management Game Technology Map Animation Content Cinematic Content Realtime Rendering Lip Sync Motion Capture Offline Renderer Compositing Editor Video Playback Realtime Video Renderer Realtime Audio Renderer Biovision Adobe Premier Third Wish Software Magpie Pixar PRMan RAD Game Tools Bink RAD Games Tools Pixomatic Creative Soundblaster Motion Analysis AVID Xpress OC3 Impersonator Mental Images Mental Ray CRI Sofdec ATI Radeon REALTEK AC’97 Vicon Motion Systems Adobe AfterEffects Splutterfish Brazil Discreet Combustion Factor 5 DivX Nvidia GeForce Nvidia NForce Nvidia Gelato Newtek Digital Fusion Animation Editor Kaydara MotionBuilder RAD Game Tools Granny 3D World/Level Editors Natural Motion Endorphin Curious Labs Poser World/Level Editors Simulation Technology Physics Engine AI Criterion Renderware AI Havok Biographic AI.implant Criterion Renderware Phyiscs 3D Editors Ikuni Game Asset Conversion Game Engines Novodex Novodex Physics Game Asset Conversion 3D Editor Game Engines Voice Recognition Alias Maya Criterion Renderware Graphics Scripting Lang Discreet 3D Studio Max Epic Unreal LUA Advanced Media OmiVoice Python SoftImage XSI NDL Gamebyro (NetImerrse) Java Newtek Lightwave UI Creation/Menus Touchdown Entertainment Jupiter UnrealScript UI Creation/Menus Id Quake/Doom C#, VB, C++ Valve Half Life 2 Macromedia Flash Secret Level Flash Player Crytek CryEngine Anark GameFace Vicarious Visions Intrinsic Alchemy Multiplayer Technology Criterion Maestro Converters Spinor GmbH Shark 3D Networking MMOG Trinigy GmbH Vision Converters Quazal Net-Z Zona TerraZona Virtools (Prototyping) Terraplay Bigworld Bigworld Right Hemisphere Deep Exploration Demonware BitDemon Okino Polytrans Butterfly Butterfly.NET Online Services DirectPlay Winsock GameSpy GameSpy Sega SNAP Valve Steam Live Mesh/Material Content Audio Content Process Audio Asset Management Dev Tools Debugger Bug Tracking Test Tools 3D Image Editor Image Editor Compuware SoftICE RAD Game Tools Miles Metroworks BugZilla Adobe Photoshop Alienbrain PixoLogic Z-Brush Creative Labs Sensaura SN Systems JASC Paintshop PRO Visual Studio Interactive Fx Amazon Paint CRI ADX Corel Painter Right Hemisphere Deep Paint Firelight FMOD Sound System Visual Studio Right Hemisphere Deep UV Web Technology Optpix iMageStudio XACT Source Management Build Tools Profilers Document Generation GamePlay Analysis DirectSound Intel Vtune Sony Performance Shader - Composers Shader - Creation Face Generation Perforce Xoreax IncrediBuild OSS Docbook CVS JetFrog JetBuild Analyzer Doxygen Rt/zen RT/Shader Singular Inversions FaceGen Audio Editors PIX ndoc Nvidia FX Composer Virtual Clones Subversion MS Build ATI RenderMonkey Cakewalk Cakewalk Pro HTML Help Studio Sonic Foundry Sound Forge VS SourceSafe Adobe Audition VS Team System Digidesign ProTools Criterion Renderware Studio OSS Audacity XNA Pillars Design/Content Creation Process Game Technology Design/Content Creation Process/Build Game Technology 3D Editors Asset Management Game Engines Game Engines 3D Editor Asset Management Micro Forte BigWorld Alias Maya Alienbrain Criterion Renderware Graphics Discreet 3D Studio Max Epic Unreal SoftImage XSI NDL Gamebyro (NetImerrse) Newtek Lightwave Touchdown Entertainment Jupiter Source Management Id Quake/Doom Perforce Valve Half Life 2 CVS Crytek CryEngine Subversion Vicarious Visions Intrinsic Alchemy Mesh/Material Content Audio Content Spinor GmbH Shark 3D Trinigy GmbH Vision 3D Image Editor Image Editor Audio VS SourceSafe Virtools (Prototyping) RAD Game Tools Miles VS Team System PixoLogic Z-Brush Adobe Photoshop Creative Labs Sensaura Interactive Fx Amazon Paint JASC Paintshop PRO CRI ADX Right Hemisphere Deep Paint Corel Painter Firelight FMOD Sound System Right Hemisphere Deep UV Web Technology Optpix iMageStudio Developer Tools XACT Dev Tools Profilers Simulation Technology DirectSound Face Generation Shader - Composers Intel Vtune Shader - Creation AI Scripting Lang Metroworks Sony Performance Physics Engine SN Systems Singular Inversions FaceGen Nvidia FX Composer Analyzer Criterion Renderware AI LUA Rt/zen RT/Shader Audio Editors Virtual Clones ATI RenderMonkey Havok Biographic AI.implant Python Visual Studio PIX Cakewalk Cakewalk Pro Criterion Renderware Phyiscs Ikuni Java Sonic Foundry Sound Forge Novodex Novodex Physics UnrealScript Adobe Audition Debugger Animation Content Digidesign ProTools C#, VB, C++ Cinematic Content OSS Audacity Compuware SoftICE Voice Recognition Animation Editor Compositing Editor Visual Studio Advanced Media OmiVoice [Xb] Adobe Premier Kaydara MotionBuilder Build Tools AVID Xpress RAD Game Tools Granny 3D Xoreax IncrediBuild Adobe AfterEffects Natural Motion Endorphin JetFrog JetBuild Discreet Combustion Curious Labs Poser Newtek Digital Fusion MS Build Multiplayer Technology Motion Capture Game Asset Conversion Bug Tracking Offline Renderer Networking MMOG Online Services Biovision Game Asset Conversion BugZilla Pixar PRMan Motion Analysis Quazal Net-Z Zona TerraZona GameSpy GameSpy Mental Images Mental Ray Vicon Motion Systems Terraplay Bigworld Bigworld Sega SNAP Splutterfish Brazil Demonware BitDemon Valve Steam Nvidia Gelato Butterfly Butterfly.NET Live Lip Sync Test Tools DirectPlay Winsock Third Wish Software Magpie World/Level Editors Video Playback Test Tools GamePlay Analysis OC3 Impersonator RAD Game Tools Bink World/Level Editors CRI Sofdec Realtime Rendering Factor 5 DivX Realtime Video Renderer Realtime Audio Renderer RAD Games Tools Pixomatic Creative Soundblaster UI Creation/Menus ATI Radeon REALTEK AC’97 Studio Nvidia GeForce Nvidia NForce Design Tool Format Converters UI Creation/Menus Criterion Renderware Studio Macromedia Flash Converters Secret Level Flash Player Anark GameFace Right Hemisphere Deep Exploration Document Generation Misc Okino Polytrans Criterion Maestro OSS Docbook Doxygen Hybrid Holdings dPVS ndoc HTML Help Application Model • The XNA Framework is divided into three essential parts – XNA Graphic Engine in the Microsoft.Xna.Framework.dll – XNA Game Application Model in the Microsoft.Xna.Framework.Game.dll – XNA Content Pipeline in the Microsoft.Xna.Framework.Content.Pipeline.dlls Graphic Engine Microsoft.Xna.Framework.dll Game Application Model Microsoft.Xna.Framework.Game.dll XNA Content Pipeline Microsoft.Xna.Framework.Content.Pipeline.dll History and Roadmap • XNA 1.0 – Aug. 2006 – Application Model, GameComponenents – GraphicDevice, Graphics – Audio, Input, Storage, Math • XNA 2.0 – Dec. 2007 – Expanded Support for all version of VS2005 – MRT, device lost auto restore, occlusion query, etc. – Networking support! • XNA 3.0 – Christmas. 2008?? – Add Zune support – Support for C# 3.0 for all platform(I can use LINQ! Oh, My…) – Content compression, Better FBX support Games Powered By XNA • XNA Car Racing Game – The Racing Game Starter Kit is a complete XNA Game Studio game. This highly-anticipated project, originally created for Microsoft by Benjamin Nitschke of exDream Entertainment. – XNA car Racing Game is a 3D auto racing game that features advanced graphics, audio, and input processing. Race around the track and try to beat the ghost car to achieve the best time. Games Powered By XNA • The Robot Game – Robot Game was developed by Zepetto, a South Korean game development company. Previously released titles include Vulcanus and several games for mobile platforms. – Robot Game is a three-dimensional robot combat game that demonstrates the following components: • Advanced graphics using shaders and post-processing effects • Advanced particle system • Collision detection, 3D positional sound, input, and screens management • Single-player mode and split-screen two-player versus mode • Customizable game elements, such as robots, weapons, and items Games Powered By XNA • Singularis – Developed with XNA 2.0 Sprite with Torque Builder, Singularious is a game about a single cell creature. – Story: The protozoa Proto has a ambitious goal - he want's to become the most powerful entity of the universe! To reach his target, Proto invades into animals, travels through their bodies and settles down on their central nerve cord, where he gains control over them. When he has control over them, he uses his victims to get to the next, more powerful animal - until he gains control over the most powerful entity within the universe ... a floating, black cat! Games Powered By XNA • Other Games – HurricanX – Action Game – RPG Starter Kit by XNA Creater Club – The Zune game XNA’s Modules • Let’s dig down – Content Pipeline – Graphics • Programable pipeline • Effect system • 2D Sprite – Framework – Networking – Audio, etc. Content Pipeline Content Pipeline • In action!