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

612 views
542 views

Published on

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

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
612
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

[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 />

×