Tutorial c# y Video Juegos
Upcoming SlideShare
Loading in...5
×
 

Tutorial c# y Video Juegos

on

  • 16,341 views

Tutorial de video juegos

Tutorial de video juegos

Statistics

Views

Total Views
16,341
Views on SlideShare
16,257
Embed Views
84

Actions

Likes
2
Downloads
239
Comments
2

1 Embed 84

http://www.slideshare.net 84

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Tutorial c# y Video Juegos Tutorial c# y Video Juegos Presentation Transcript

  • 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