Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

784 views

Published on

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

  • Login to see the comments

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

  1. 1. XNA Game Studio<br />Desarrollo de juegos para plataformas Windows y XBOX 360<br />EinyelArcoraci<br />CME - Argentina<br />MSP - Mendoza<br />
  2. 2. La historia de los videojuegos<br />Un legado de 40 años<br />
  3. 3. TennisforTwo (1958)<br />Creado por William Higinbothan para el BrookhavenNationalLaboratory.<br />Utilizó un osciloscopio para representar la cancha, la red y la pelota.<br />
  4. 4. Spacewar! (1962)<br />Creado por Steve Rusell para el MIT. Desarrollado para la PDP-1.<br />
  5. 5. PONG<br />
  6. 6. Pitfall<br />
  7. 7. Super Mario Bros<br />
  8. 8. Donkey Kong Country<br />
  9. 9. Juegos para PC<br />FirstPersonShooter<br />Real Time Strategy<br />
  10. 10. Juegos para PCEvolución<br />FirstPersonShooter<br />Real Time Strategy<br />
  11. 11. Avances tecnológicos<br />Mejor poder de procesamiento.<br />Hardware especializadoen aceleracion de video.<br />Hardware especializado en calculos de física.<br />Internet.<br />Técnicas de desarrollo de juegos.<br />
  12. 12. ¿ Qué es XNA ?<br />Framework basado en .NET 2.0 que contiene una librería de clases para el desarrollo de juegos.<br />CLR optimizada para requerimientos de juegos.<br />Multiplataforma: Windows XP SP2, Windows Vista, Windows 7, XBOX 360 y ZUNE.<br />Programación en C# .NET.<br />
  13. 13. ¿ Por qué utilizar XNA ?<br />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.<br />Programación Orientada a Objetos.<br />C# .NET.<br />Gratis.<br />
  14. 14. Content Pipeline<br />El artista diseñador crea los recursos y el CP permite traerlos a un formato común para usarlos en runtime.<br />Evita la creación de importers y procesors particulares para cada tipo de archivo que se necesite usar (aunque lo permite).<br />El desarrollador se enfoca en la lógica o gameplay.<br />
  15. 15. Content Pipeline<br />
  16. 16. Content Pipeline<br />En 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.).<br />
  17. 17. Content Pipeline<br />Mediante 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.<br />
  18. 18. Content Pipeline<br />Al final del proceso todos los recursos son entendidos por el manejador de contenidos (ContentManager) y pueden ser usados y asociados a su clases.<br />
  19. 19. ¿ Qué necesito para empezar ?<br />Microsoft Direct X - Gratis<br />Visual C# Express Edition - Gratis<br />Microsoft XNA Game Studio - Gratis<br />
  20. 20. Programación de juegos<br />¿ Cómo funcionan ?<br />
  21. 21. Ciclo básico de los juegos<br />Load<br />Update<br />Draw<br />
  22. 22. Ejemplo – Diseño de Clases<br />
  23. 23. Ensamblaje de clases al juego<br />Clase X<br />Load()<br />Update()<br />Draw()<br />Juego<br />Load()<br />Update()<br />Draw()<br />
  24. 24. Anatomía de un Juego<br />Creando SpaceShooter<br />
  25. 25. Clases<br />Game1<br />1<br />SpaceShip<br />*<br /><ul><li>Armas
  26. 26. Power Ups
  27. 27. Etc.</li></li></ul><li>La Clase SpaceShip<br />Atributos<br />Posicion<br />Textura<br />Velocidad<br />Metodos<br />Load()<br />{<br />}<br />Update()<br />{<br />}<br />Draw()<br />{<br />}<br />cargamos la variable textura<br />aplicamos la logica de movimiento<br />mostramos los resultados<br />
  28. 28. Clases Anexas Fundamentales<br />Vector2 – Vector3<br />Texture2D<br />GraphicsDevice<br />ContentManager<br />Keyboard<br />GameTime<br />
  29. 29. Clases en SpaceShip<br />Debe ocupar un lugar en el espacio (Vector2)<br />Debe usar una textura para ser representada (Texture2d y SpriteBatch)<br />Debe responder al input (Keyboard)<br />Debe poseer lógica al disparar los misiles (GameTime)<br />
  30. 30. creators.xna.commircosoft.com/expressangel.edu@gmail.com<br />

×