XNA Game StudioDesarrollo de juegos para plataformas Windows y XBOX 360EinyelArcoraciCME - ArgentinaMSP - Mendoza
La historia de los videojuegosUn legado de 40 años
TennisforTwo (1958)Creado por William Higinbothan para el BrookhavenNationalLaboratory.Utilizó un osciloscopio para representar la cancha, la red y la pelota.
Spacewar! (1962)Creado por Steve Rusell para el MIT. Desarrollado para la PDP-1.
PONG
Pitfall
Super Mario Bros
Donkey Kong Country
Juegos para PCFirstPersonShooterReal Time Strategy
Juegos para PCEvoluciónFirstPersonShooterReal Time Strategy
Avances tecnológicosMejor poder de procesamiento.Hardware especializadoen aceleracion de video.Hardware especializado en calculos de física.Internet.Técnicas de desarrollo de juegos.
¿ Qué es XNA ?Framework basado en .NET 2.0 que contiene una librería de clases para el desarrollo de juegos.CLR optimizada para requerimientos de juegos.Multiplataforma: Windows XP SP2, Windows Vista, Windows 7, XBOX 360 y ZUNE.Programación en C# .NET.
¿ Por qué utilizar XNA ?Mediante el “content pipeline” apunta a que los creadores de juegos se enfoquen en la lógica del mismo y no en crear un “parser” o importer para cada recurso que utiliza.Programación Orientada a Objetos.C# .NET.Gratis.
Content PipelineEl artista diseñador crea los recursos y el CP permite traerlos a un formato común para usarlos en runtime.Evita la creación de importers y procesors particulares para cada tipo de archivo que se necesite usar (aunque lo permite).El desarrollador se enfoca en la lógica o gameplay.
Content Pipeline
Content PipelineEn tiempo de desarrollo, se manejan los recursos originales. Editamos sando photoshop, blender, 3d studio, etc. Cuando se traen al juego, la informacion se transforma en entidades manejables por XNA (vertices, splines, etc.).
Content PipelineMediante los “procesors” los elementos son compilados y analizados. Por ejemplo un modelo 3D puede tener informacion de animacion que tiene que ser analizada  y guardada en frames.
Content PipelineAl final del proceso todos los recursos son entendidos por el manejador de contenidos (ContentManager) y pueden ser usados y asociados a su clases.
¿ Qué necesito para empezar ?Microsoft Direct X - GratisVisual C# Express Edition - GratisMicrosoft XNA Game Studio - Gratis
Programación de juegos¿ Cómo funcionan ?
Ciclo básico de los juegosLoadUpdateDraw
Ejemplo – Diseño de Clases
Ensamblaje de clases al juegoClase XLoad()Update()Draw()JuegoLoad()Update()Draw()
Anatomía de un JuegoCreando SpaceShooter
ClasesGame11SpaceShip*Armas
Power Ups
Etc.La Clase SpaceShipAtributosPosicionTexturaVelocidadMetodosLoad(){}Update(){}Draw(){}cargamos la variable texturaaplicamos la logica de movimientomostramos los resultados
Clases Anexas FundamentalesVector2 – Vector3Texture2DGraphicsDeviceContentManagerKeyboardGameTime
Clases en SpaceShipDebe ocupar un lugar en el espacio (Vector2)Debe usar una textura para ser representada (Texture2d y SpriteBatch)Debe responder al input (Keyboard)Debe poseer lógica al disparar los misiles (GameTime)

[Code Camp 2009] Desarrollo de juegos con XNA (Ángel Arcoraci)