La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Desarrollo de juegos de video Aprendiendo a programar en C# de manera divertida

Presentaciones similares


Presentación del tema: "Desarrollo de juegos de video Aprendiendo a programar en C# de manera divertida"— Transcripción de la presentación:

1 Desarrollo de juegos de video Aprendiendo a programar en C# de manera divertida

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 FondoViewportsAnimacionesMarcosSprites Retraso de marcos TransparenciaAlpha-blending Implementación en el juego FondoSprites

7 Resumen de las sesiones Sesión 5 – Transformación y colisión de sprites TraslaciónEscalaRotaciónVelocidad 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úsicaTexto 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 El resumen (en inglés) del contenido presentado en la sesión está también disponible en formato.PDF en

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 sobre la industria del juego, publicado por la Entertainment Software Association*: La industria de juegos de video generó casi $ 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 * The Entertainment Software Association (2004): Essential Facts About the Computer and Video Industry, disponible en

12 Información de la industria del juego Hechos del 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 * The Entertainment Software Association (2004): Essential Facts About the Computer and Video Industry, disponible en

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

15 ¡Juguemos!

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 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 Se puede ver en px px px 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 ProjectFUN Distance Learning – DigiPen tiene cursos en línea impartidos por sus instructores. Más información en

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) Para webcasts futuros y pasados (en castellano) Este webcast fue presentado usando Microsoft Office LiveMeeting. Se puede obtener una prueba de 14 días gratuita en

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


Descargar ppt "Desarrollo de juegos de video Aprendiendo a programar en C# de manera divertida"

Presentaciones similares


Anuncios Google