SlideShare una empresa de Scribd logo
Desarrollo de juegos de video Aprendiendo a programar en C# de manera divertida [email_address]
Agenda Visión de esta serie de webcasts Prerrequisitos de esta sesión Acerca de DigiPen Institute of Technology Información de la industria de juegos Visión de los componentes de un juego Demostración del flujo del juego
Objetivos de esta serie Dar a los participantes una introducción a algunos de los conceptos fundamentales del desarrollo de juegos Introducir la programación con Visual C# 2005 Express Edition, el nuevo IDE (ambiente de desarrollo integrado) de Microsoft para programadores principiantes
Visión de la serie Ocho sesiones de nivel 100: Visión del proceso de desarrollo de juegos Conceptos básicos de programación e introducción a C# Visión de los elementos de un juego Introducción a los sprites y la animación Transformación y colisión de sprites Control de los sprites por parte del jugador Música y efectos de sonido del juego Creación de comportamiento de sprites
Resumen de las sesiones Sesión 1 – Resumen del proceso de desarrollo de juegos Presentación del juego de demo (este es el juego que vamos a construir) ¿Qué son los “eventos concurrentes interactivos de tiempo real”? Cómo escribir una aplicación con eventos concurrentes Componentes de un juego Demostración del flujo de un juego Sesión 2 – Conceptos básicos de programación e introducción a C# Resumen Creación de la más simple aplicación de consola El método Main Los namespaces y la directiva using Salida Funciones, operadores y variables Entrada y condicionales Lazos y repetición Arreglos Estructuras y clases
Resumen de las sesiones Sesión 3 – Visión de los elementos de un juego Gráficos (2D, 3D, bitmap vs. vector) Entrada (teclado, ratón, palanca) Sonido (WAV, MIDI, MP3, Ogg Vorbis) Red (multijugador, cliente/servidor, igual-a-igual) Sesión 4 – Introducción a los sprites y la animación Fondo Viewports Animaciones Marcos Sprites Retraso de marcos Transparencia Alpha-blending Implementación en el juego Fondo Sprites
Resumen de las sesiones Sesión 5 – Transformación y colisión de sprites Traslación Escala Rotación Velocidad Implementación en el juego Movimiento del enemigo Sesión 6 – Control de los sprites por parte del jugador Entrada del teclado Dirección del vector Posición Creación de sprites al momento de ejecución Implementación en el juego Movimiento del carácter principal (teclas de flechas) Disparos (barra espaciadora)
Resumen de las sesiones Sesión 7 – Música y efectos de sonido del juego Efectos de sonido Música Texto Implementación en el juego Cuenta de disparos (balas) Efectos de sonido (disparos y explosiones) Música de fondo Puntaje (despliegue en pantalla) Sesión 8 – Creación de comportamiento de sprites Comportamiento de sprites Detección de colisiones Implementación en el juego Comportamiento del enemigo Comportamiento de las balas
Prerrequisitos de la sesión No se requiere experiencia previa en programación Aunque no es obligatorio, los participantes que deseen probar los ejemplos de juego pueden bajar los archivos de  http://www.microsoft.com/events/series/msdnvideodev.mspx   El resumen (en inglés) del contenido presentado en la sesión está también disponible en formato .PDF en  http :// www.microsoft.com / events /series/ msdnvideodev.mspx
Acerca de DigiPen Institute of Technology Desde 1.994, DigiPen ofrece programas dedicados para estudiantes que desean seguir una carrera en la industria de los juegos Ubicado en Redmond, Washington, DigiPen ofrece los siguientes títulos: Master of Science in Computer Science Bachelor of Science in Real-time Interactive Simulation Bachelor of Science in Computer Engineering Bachelor of Fine Arts in Production Animation
Información de la industria del juego Gran negocio Hechos del 2.004 sobre la industria del juego, publicado por la Entertainment Software Association*: La industria de juegos de video generó casi $10.000 millones en ventas de hardware y software – las ventas de boletos de cine  = $9.500 millones Más de 240 millones de unidades de computadores (45 millones) y juegos de video (160 millones) se vendieron en los Estados Unidos Las ventas de juegos portátiles excedieron los $1.000 millones por primera vez (42 millones de unidades) Las ventas de juegos en línea superan los $1.000 millones (principalmente deportes y disparos) Los consumidores de EE.UU. gastaron $723 millones en la renta de video juegos * The Entertainment Software Association (2004): ‘Essential Facts About the Computer and Video Industry’, disponible en  http://www.theesa.com/files/EFBrochure.pdf
Información de la industria del juego Hechos del 2.004 sobre la “audiencia de juegos” publicados por la Entertainment Software Association*: El 50% de todos los estadounidenses de seis o más años juegan juegos de computador o video (edad promedio: 30 años) Aproximadamente el 90% de los compradores de juegos son mayores de 18 años El 39% de jugadores son mujeres Ventas de juegos de computadora y videos por clasificación: Todos 54%, Adolescentes 33%, Adultos 12% Los tres géneros más vendidos de consola de juegos: Acción 30%, Deportes 18%, Carreras 10% Los tres géneros más vendidos de juegos de computadora: Estrategia 27%, Entrenimiento familiar/infantil 20%, Disparos 16% * The Entertainment Software Association (2004): ‘Essential Facts About the Computer and Video Industry’, disponible en  http :// www.theesa.com /files/ EFBrochure.pdf
Información de la industria del juego “El círculo de la vida” Los tres grupos principales: Desarrollador: responsable de la creación del software del juego; bastante como un estudio de cine, este grupo de producción de múltiples facetas esta hecho de productores, directores, programadores, artistas, diseñadores, escritores, músicos, soporte de TI y soporte administrativo Editorial: típicamente provee fondos a los desarrolladores (socio único, co-socio o tercero); maneja otros aspectos como la fabricación y el mercadeo Distribuidor/minorista: entrega los productos al consumidor Muchos desarrolladores dependen de las editoriales para los fondos -> las editoriales tienen que pronosticar lo que los consumidores querrán en 1-2 años y deben conseguir el compromiso de los minoristas -> Los minoristas observan a los desarrolladores para ver que es lo último y mejor
Información de la industria del juego Negocio serio Los juegos de hoy en día son piezas de software extremedamente sofisticadas que ofrecen Ambientes 3D y caracteres increíbles Modelos físicos reales Capacidad de red Tecnología de sonido ambiental total Inteligencia artificial avanzada Puede tomar más de dos años completar un juego, con 20-30+ personas involucradas. Esto puede equivaler a $8-$10+ millones para la producción. Una producción de $8 millones a $40/unidad: 200k unidades solo para recuperar los costos Relativamente pocos juegos pueden vender más de 100k unidades
¡Juguemos!
Interacción concurrente en tiempo real ¿Por qué concurrente? Las balas, enemigos, efectos de sonido, música y otros elementos del juego existen y se mueven al mismo tiempo. Lista de eventos coincidentes en este juego: Scrolling del fondo Revisar el teclado por si hubo teclas presionadas (flechas, etc.) Calcular la nueva posición para la nave Probar si la tecla de disparo ha sido tocada Crear una bala y tocar el efecto de sonido de la bala Calcular la nueva posición de la bala Calcular la nueva posición de cada enemigo Detectar colisiones entre la bala y cada enemigo Tocar el efecto de sonido si la bala golpea a un enemigo Presentar una animación si la bala golpea a un enemigo Tocar la música de fondo Actualizar los puntajes Etc.
¿Por qué interactivo? El jugador decide cuándo y dónde mover la nave El jugador decide cuándo y dónde disparar una bala La Inteligencia Artificial del juego decide cuando atacar El número de balas se incrementa cada vez que se dispara una El puntaje aumenta cada vez que se golpea a un enemigo El enemigo explota cuando es tocado por una bala Etc.
¿Por qué en tiempo real? Cuando la nave se mueve, su nueva posición es calculada al momento de ejecución La colisión entre la bala y el enemigo es detectada al momento de ejecución La nueva posición de cada enemigo es calculada al momento de ejecución Los textos son actualizados al momento de ejecución Etc.
¿Cómo se escribe una aplicación con eventos concurrentes? Se necesita ejecutar varias conjuntos de instrucciones al mismo tiempo Sería bueno tener un CPU para cada evento Pero usualmente tenemos un solo CPU para todos los eventos Es necesario compartir el CPU entre todos los eventos Hay que darle un poquito de tiempo de CPU a cada evento El jugador tendrá la ilusión de que los eventos están ocurriendo simultáneamente Esto es bastante similar a como funciona una película (por eso es que en inglés se llaman también “foto en movimiento”)
El lazo del juego Se necesita repetir los pasos requeridos que hacen que el juego parezca “moverse” ¿Con qué frecuencia se deben repetir estos pasos? La duración del “lazo” afecta la velocidad del juego Cada lazo o iteración del juego se denomina un  marco  o  frame La tasa de velocidad es conocida como el  frame rate
Flujograma del lazo del juego Iniciar el juego Iniciar el tiempo de arranque Leer entradas del jugador/a Manejo Calcular la nueva posición de cada objeto basándose en: Comportamiento Colisión Física Inteligencia Artificial Dibujo Generar la imagen de un objeto a la vez en un buffer Copiar el contenido del buffer a la memoria de video para que se despliegue el frame ¿Es el tiempo transcurrido < 16,66 ms? No hacer nada Si No
Cómo agregar interacción con eventos concurrentes Detectar entradas del usuario Ejecutar el comportamiento de cada objeto Actualizar la posición y el estado de cada objeto Generar las imágenes de los objetos Todas las actualizaciones y generaciones se hacen en cada frame Por ejemplo, en un juego de 60 FPS, todos los objetos son actualizados y generados 60 veces por segundo Esto es lo que esencialmente da la ilusión de concurrencia
Resumen de la sesión Visión de la serie de webcasts Prerrequisitos de la sesión Acerca de DigiPen Institute of Technology Información de la industria de juegos Visión de los componentes de un juego Demostración del flujo de un juego
¿Deseas aprender más? DigiPen Institute of Technology ofrece una variedad de vías para explorar una carrera en el desarrollo de juegos de video: La serie original de webcasts sobre desarrollo de juegos - Realizada en mayo del 2005. Se puede ver en  http://www.microsoft.com/events/series/msdnvideodev.mspx   Talleres de verano – Series de clases introductorias en programación de juegos, producción de animaciones 3D y robótica. Más información en  http://workshops.digipen.edu   ProjectFUN Distance Learning – DigiPen tiene cursos en línea impartidos por sus instructores. Más información en http://projectfun.digipen.edu
Preguntas y respuestas Proponer preguntas usando el botón “Ask a Question” No te olvides de llenar la encuesta Para webcasts futuros y pasados (en inglés)  http://www.microsoft.com/webcasts Para webcasts futuros y pasados (en castellano)  http://www.microsoft.com/spanish/msdn/latam/video   Este webcast fue presentado usando Microsoft Office LiveMeeting. Se puede obtener una prueba de 14 días gratuita en  http://www.microsoft.com/presentlive
Conceptos básicos de programación e introducción a C# Nos vemos la próxima semana para…
¿Dónde se puede obtener MSDN? Llenar la encuesta al final del webcast y pedir a un representante de Microsoft que le contacte Convertirse en un suscriptor de los CDs/DVDs de MSDN en  http://msdn.microsoft.com/subscriptions

Más contenido relacionado

PPTX
Los videojuegos2
PDF
Tutorial game maker
PDF
desarrollo de videojuegos
PPT
Produccion y desarrollo de un videojuego
PPTX
Videojuegos
PPTX
Game maker
DOCX
Desarrollo y produccion de videojuegos resumen
PPTX
Game maker
Los videojuegos2
Tutorial game maker
desarrollo de videojuegos
Produccion y desarrollo de un videojuego
Videojuegos
Game maker
Desarrollo y produccion de videojuegos resumen
Game maker

La actualidad más candente (18)

PPT
Game Maker Primera parte
PPTX
Videojuegos
PPT
Tutorial Game Maker segunda parte
RTF
PDF
Creando juegos con game maker 8
RTF
Informe técnico
PPTX
Introduccion al desarrollo de videojuegos
PPTX
Informe grupo-los-de-la-u-presentacion
PPTX
GAME MAKER
PDF
Desarrollo videojuegos
PDF
Juegos para pc » 25 a alpha “un juego con mucho vertigo”
ODP
Presentación desarrollo de videojuegos
DOCX
Triptico game maker
PPTX
Diseño y creación de videojuegos
PDF
Ns3 fb pc_manual_ept_hr
PPTX
Video juegos
Game Maker Primera parte
Videojuegos
Tutorial Game Maker segunda parte
Creando juegos con game maker 8
Informe técnico
Introduccion al desarrollo de videojuegos
Informe grupo-los-de-la-u-presentacion
GAME MAKER
Desarrollo videojuegos
Juegos para pc » 25 a alpha “un juego con mucho vertigo”
Presentación desarrollo de videojuegos
Triptico game maker
Diseño y creación de videojuegos
Ns3 fb pc_manual_ept_hr
Video juegos
Publicidad

Destacado (20)

PPTX
Programacion iv sesion11 php
ODP
Bellidogarcia
PDF
(CoSECiVi'14) Jugabilidad como medida de calidad en el desarrollo de videojuegos
PPTX
Funcionamiento interno de un control de video juegos
ODP
Presentacion videojuegos
PPTX
Diapositiva Daniel Ordoñez 9a
PPTX
Controladores de juegos
PPTX
Control de Gestión
PPT
Clase 2 concepto basicos cmi curso control gestion y cmi mineduc
PPTX
Sesion 12-c#
PPT
NARREMOS CUENTOS
DOCX
Practica 3: PDI SMART
PPTX
Sesion 10-c#
PPTX
Uagrmbs pinnel liderazgo 2
PDF
Reflexiones y anécdotas de consultoria para ejecutivos.
PPTX
Creacion de un videojuego (Jhoustin-Alexander
ODP
Normas técnicas de control interno
PDF
Prueba enlace 2011 preparación 3° grado
PDF
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
PDF
C# DidáCtico
Programacion iv sesion11 php
Bellidogarcia
(CoSECiVi'14) Jugabilidad como medida de calidad en el desarrollo de videojuegos
Funcionamiento interno de un control de video juegos
Presentacion videojuegos
Diapositiva Daniel Ordoñez 9a
Controladores de juegos
Control de Gestión
Clase 2 concepto basicos cmi curso control gestion y cmi mineduc
Sesion 12-c#
NARREMOS CUENTOS
Practica 3: PDI SMART
Sesion 10-c#
Uagrmbs pinnel liderazgo 2
Reflexiones y anécdotas de consultoria para ejecutivos.
Creacion de un videojuego (Jhoustin-Alexander
Normas técnicas de control interno
Prueba enlace 2011 preparación 3° grado
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
C# DidáCtico
Publicidad

Similar a Tutorial c# y Video Juegos (20)

PPTX
10a daniel felipe peña creación de un videojuego
PPTX
Desarrollo de los videojuegos alejandro bueno sanchez
PPTX
Presentacion tfm adrian_alonso_gonzalez-light
DOCX
DOCX
DOCX
Desarrollo de videojuegos
ODP
Bellidogarciachiconluquemarquezramos
PPTX
Produccion de videojuegos
PPT
Upc2006 desarrollo devideojuegos
PPT
Upc2006 desarrollo de videojuegos
PPTX
Diapositiva de juegos, Cesar negret velasco
PPTX
Modelamiento de juegos
PPTX
Pasos para hacer un videojuego .
PPTX
Pasos para hacer un videojuego .
PPTX
Videojuegos
PPTX
Videojuegos
PPTX
Dhylann gabriel s
ODT
Andrea y almudena trabajo desarrollo de videojuegos
PPTX
Desarrollo de Juegos
PPTX
Diapositiva de juegos 9A
10a daniel felipe peña creación de un videojuego
Desarrollo de los videojuegos alejandro bueno sanchez
Presentacion tfm adrian_alonso_gonzalez-light
Desarrollo de videojuegos
Bellidogarciachiconluquemarquezramos
Produccion de videojuegos
Upc2006 desarrollo devideojuegos
Upc2006 desarrollo de videojuegos
Diapositiva de juegos, Cesar negret velasco
Modelamiento de juegos
Pasos para hacer un videojuego .
Pasos para hacer un videojuego .
Videojuegos
Videojuegos
Dhylann gabriel s
Andrea y almudena trabajo desarrollo de videojuegos
Desarrollo de Juegos
Diapositiva de juegos 9A

Más de Bernardo Molina Zuluaga (7)

PPT
Grupo2 Maquinas Futuro Robots
PPT
PPT
Introducción A C# (VersióN Charla)
PPT
Internet sostenible
PPT
Internetsosteniblet
PPT
Tutorial Slideshare
Grupo2 Maquinas Futuro Robots
Introducción A C# (VersióN Charla)
Internet sostenible
Internetsosteniblet
Tutorial Slideshare

Último (20)

PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PPTX
Presentación de la Cetoacidosis diabetica.pptx
PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
PPTX
Doctrina 1 Soteriologuia y sus diferente
PDF
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
PDF
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
PDF
Punto Critico - Brian Tracy Ccesa007.pdf
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PDF
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
PDF
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
PDF
Fundamentos_Educacion_a_Distancia_ABC.pdf
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
PDF
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PPTX
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
Presentación de la Cetoacidosis diabetica.pptx
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
Doctrina 1 Soteriologuia y sus diferente
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
Punto Critico - Brian Tracy Ccesa007.pdf
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
Fundamentos_Educacion_a_Distancia_ABC.pdf
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf

Tutorial c# y Video Juegos

  • 1. Desarrollo de juegos de video Aprendiendo a programar en C# de manera divertida [email_address]
  • 2. Agenda Visión de esta serie de webcasts Prerrequisitos de esta sesión Acerca de DigiPen Institute of Technology Información de la industria de juegos Visión de los componentes de un juego Demostración del flujo del juego
  • 3. Objetivos de esta serie Dar a los participantes una introducción a algunos de los conceptos fundamentales del desarrollo de juegos Introducir la programación con Visual C# 2005 Express Edition, el nuevo IDE (ambiente de desarrollo integrado) de Microsoft para programadores principiantes
  • 4. Visión de la serie Ocho sesiones de nivel 100: Visión del proceso de desarrollo de juegos Conceptos básicos de programación e introducción a C# Visión de los elementos de un juego Introducción a los sprites y la animación Transformación y colisión de sprites Control de los sprites por parte del jugador Música y efectos de sonido del juego Creación de comportamiento de sprites
  • 5. Resumen de las sesiones Sesión 1 – Resumen del proceso de desarrollo de juegos Presentación del juego de demo (este es el juego que vamos a construir) ¿Qué son los “eventos concurrentes interactivos de tiempo real”? Cómo escribir una aplicación con eventos concurrentes Componentes de un juego Demostración del flujo de un juego Sesión 2 – Conceptos básicos de programación e introducción a C# Resumen Creación de la más simple aplicación de consola El método Main Los namespaces y la directiva using Salida Funciones, operadores y variables Entrada y condicionales Lazos y repetición Arreglos Estructuras y clases
  • 6. Resumen de las sesiones Sesión 3 – Visión de los elementos de un juego Gráficos (2D, 3D, bitmap vs. vector) Entrada (teclado, ratón, palanca) Sonido (WAV, MIDI, MP3, Ogg Vorbis) Red (multijugador, cliente/servidor, igual-a-igual) Sesión 4 – Introducción a los sprites y la animación Fondo Viewports Animaciones Marcos Sprites Retraso de marcos Transparencia Alpha-blending Implementación en el juego Fondo Sprites
  • 7. Resumen de las sesiones Sesión 5 – Transformación y colisión de sprites Traslación Escala Rotación Velocidad Implementación en el juego Movimiento del enemigo Sesión 6 – Control de los sprites por parte del jugador Entrada del teclado Dirección del vector Posición Creación de sprites al momento de ejecución Implementación en el juego Movimiento del carácter principal (teclas de flechas) Disparos (barra espaciadora)
  • 8. Resumen de las sesiones Sesión 7 – Música y efectos de sonido del juego Efectos de sonido Música Texto Implementación en el juego Cuenta de disparos (balas) Efectos de sonido (disparos y explosiones) Música de fondo Puntaje (despliegue en pantalla) Sesión 8 – Creación de comportamiento de sprites Comportamiento de sprites Detección de colisiones Implementación en el juego Comportamiento del enemigo Comportamiento de las balas
  • 9. Prerrequisitos de la sesión No se requiere experiencia previa en programación Aunque no es obligatorio, los participantes que deseen probar los ejemplos de juego pueden bajar los archivos de http://www.microsoft.com/events/series/msdnvideodev.mspx El resumen (en inglés) del contenido presentado en la sesión está también disponible en formato .PDF en http :// www.microsoft.com / events /series/ msdnvideodev.mspx
  • 10. Acerca de DigiPen Institute of Technology Desde 1.994, DigiPen ofrece programas dedicados para estudiantes que desean seguir una carrera en la industria de los juegos Ubicado en Redmond, Washington, DigiPen ofrece los siguientes títulos: Master of Science in Computer Science Bachelor of Science in Real-time Interactive Simulation Bachelor of Science in Computer Engineering Bachelor of Fine Arts in Production Animation
  • 11. Información de la industria del juego Gran negocio Hechos del 2.004 sobre la industria del juego, publicado por la Entertainment Software Association*: La industria de juegos de video generó casi $10.000 millones en ventas de hardware y software – las ventas de boletos de cine = $9.500 millones Más de 240 millones de unidades de computadores (45 millones) y juegos de video (160 millones) se vendieron en los Estados Unidos Las ventas de juegos portátiles excedieron los $1.000 millones por primera vez (42 millones de unidades) Las ventas de juegos en línea superan los $1.000 millones (principalmente deportes y disparos) Los consumidores de EE.UU. gastaron $723 millones en la renta de video juegos * The Entertainment Software Association (2004): ‘Essential Facts About the Computer and Video Industry’, disponible en http://www.theesa.com/files/EFBrochure.pdf
  • 12. Información de la industria del juego Hechos del 2.004 sobre la “audiencia de juegos” publicados por la Entertainment Software Association*: El 50% de todos los estadounidenses de seis o más años juegan juegos de computador o video (edad promedio: 30 años) Aproximadamente el 90% de los compradores de juegos son mayores de 18 años El 39% de jugadores son mujeres Ventas de juegos de computadora y videos por clasificación: Todos 54%, Adolescentes 33%, Adultos 12% Los tres géneros más vendidos de consola de juegos: Acción 30%, Deportes 18%, Carreras 10% Los tres géneros más vendidos de juegos de computadora: Estrategia 27%, Entrenimiento familiar/infantil 20%, Disparos 16% * The Entertainment Software Association (2004): ‘Essential Facts About the Computer and Video Industry’, disponible en http :// www.theesa.com /files/ EFBrochure.pdf
  • 13. Información de la industria del juego “El círculo de la vida” Los tres grupos principales: Desarrollador: responsable de la creación del software del juego; bastante como un estudio de cine, este grupo de producción de múltiples facetas esta hecho de productores, directores, programadores, artistas, diseñadores, escritores, músicos, soporte de TI y soporte administrativo Editorial: típicamente provee fondos a los desarrolladores (socio único, co-socio o tercero); maneja otros aspectos como la fabricación y el mercadeo Distribuidor/minorista: entrega los productos al consumidor Muchos desarrolladores dependen de las editoriales para los fondos -> las editoriales tienen que pronosticar lo que los consumidores querrán en 1-2 años y deben conseguir el compromiso de los minoristas -> Los minoristas observan a los desarrolladores para ver que es lo último y mejor
  • 14. Información de la industria del juego Negocio serio Los juegos de hoy en día son piezas de software extremedamente sofisticadas que ofrecen Ambientes 3D y caracteres increíbles Modelos físicos reales Capacidad de red Tecnología de sonido ambiental total Inteligencia artificial avanzada Puede tomar más de dos años completar un juego, con 20-30+ personas involucradas. Esto puede equivaler a $8-$10+ millones para la producción. Una producción de $8 millones a $40/unidad: 200k unidades solo para recuperar los costos Relativamente pocos juegos pueden vender más de 100k unidades
  • 16. Interacción concurrente en tiempo real ¿Por qué concurrente? Las balas, enemigos, efectos de sonido, música y otros elementos del juego existen y se mueven al mismo tiempo. Lista de eventos coincidentes en este juego: Scrolling del fondo Revisar el teclado por si hubo teclas presionadas (flechas, etc.) Calcular la nueva posición para la nave Probar si la tecla de disparo ha sido tocada Crear una bala y tocar el efecto de sonido de la bala Calcular la nueva posición de la bala Calcular la nueva posición de cada enemigo Detectar colisiones entre la bala y cada enemigo Tocar el efecto de sonido si la bala golpea a un enemigo Presentar una animación si la bala golpea a un enemigo Tocar la música de fondo Actualizar los puntajes Etc.
  • 17. ¿Por qué interactivo? El jugador decide cuándo y dónde mover la nave El jugador decide cuándo y dónde disparar una bala La Inteligencia Artificial del juego decide cuando atacar El número de balas se incrementa cada vez que se dispara una El puntaje aumenta cada vez que se golpea a un enemigo El enemigo explota cuando es tocado por una bala Etc.
  • 18. ¿Por qué en tiempo real? Cuando la nave se mueve, su nueva posición es calculada al momento de ejecución La colisión entre la bala y el enemigo es detectada al momento de ejecución La nueva posición de cada enemigo es calculada al momento de ejecución Los textos son actualizados al momento de ejecución Etc.
  • 19. ¿Cómo se escribe una aplicación con eventos concurrentes? Se necesita ejecutar varias conjuntos de instrucciones al mismo tiempo Sería bueno tener un CPU para cada evento Pero usualmente tenemos un solo CPU para todos los eventos Es necesario compartir el CPU entre todos los eventos Hay que darle un poquito de tiempo de CPU a cada evento El jugador tendrá la ilusión de que los eventos están ocurriendo simultáneamente Esto es bastante similar a como funciona una película (por eso es que en inglés se llaman también “foto en movimiento”)
  • 20. El lazo del juego Se necesita repetir los pasos requeridos que hacen que el juego parezca “moverse” ¿Con qué frecuencia se deben repetir estos pasos? La duración del “lazo” afecta la velocidad del juego Cada lazo o iteración del juego se denomina un marco o frame La tasa de velocidad es conocida como el frame rate
  • 21. Flujograma del lazo del juego Iniciar el juego Iniciar el tiempo de arranque Leer entradas del jugador/a Manejo Calcular la nueva posición de cada objeto basándose en: Comportamiento Colisión Física Inteligencia Artificial Dibujo Generar la imagen de un objeto a la vez en un buffer Copiar el contenido del buffer a la memoria de video para que se despliegue el frame ¿Es el tiempo transcurrido < 16,66 ms? No hacer nada Si No
  • 22. Cómo agregar interacción con eventos concurrentes Detectar entradas del usuario Ejecutar el comportamiento de cada objeto Actualizar la posición y el estado de cada objeto Generar las imágenes de los objetos Todas las actualizaciones y generaciones se hacen en cada frame Por ejemplo, en un juego de 60 FPS, todos los objetos son actualizados y generados 60 veces por segundo Esto es lo que esencialmente da la ilusión de concurrencia
  • 23. Resumen de la sesión Visión de la serie de webcasts Prerrequisitos de la sesión Acerca de DigiPen Institute of Technology Información de la industria de juegos Visión de los componentes de un juego Demostración del flujo de un juego
  • 24. ¿Deseas aprender más? DigiPen Institute of Technology ofrece una variedad de vías para explorar una carrera en el desarrollo de juegos de video: La serie original de webcasts sobre desarrollo de juegos - Realizada en mayo del 2005. Se puede ver en http://www.microsoft.com/events/series/msdnvideodev.mspx Talleres de verano – Series de clases introductorias en programación de juegos, producción de animaciones 3D y robótica. Más información en http://workshops.digipen.edu ProjectFUN Distance Learning – DigiPen tiene cursos en línea impartidos por sus instructores. Más información en http://projectfun.digipen.edu
  • 25. Preguntas y respuestas Proponer preguntas usando el botón “Ask a Question” No te olvides de llenar la encuesta Para webcasts futuros y pasados (en inglés) http://www.microsoft.com/webcasts Para webcasts futuros y pasados (en castellano) http://www.microsoft.com/spanish/msdn/latam/video Este webcast fue presentado usando Microsoft Office LiveMeeting. Se puede obtener una prueba de 14 días gratuita en http://www.microsoft.com/presentlive
  • 26. Conceptos básicos de programación e introducción a C# Nos vemos la próxima semana para…
  • 27. ¿Dónde se puede obtener MSDN? Llenar la encuesta al final del webcast y pedir a un representante de Microsoft que le contacte Convertirse en un suscriptor de los CDs/DVDs de MSDN en http://msdn.microsoft.com/subscriptions