Programación vjs cap 3 fundamentos de programación de videojuegos en lenguaje c#

Page 1

Programaci贸n de videojuegos.


Presentaci贸n No.3

Fundamentos de la programaci贸n de videojuegos en el lenguaje C#.


Libro de referencia: C sharp Game Programming for Serious Game Creation. Daniel Schuller Editorial.Course Technology. Cengage learning. 2.011


Introducción.

La siguiente presentación hace parte de la serie dedicada a ofrecer la información básica necesaria para entender la programación de videojuegos. Específicamente, se trata de la tercera presentación de la serie que tiene como objeto estudiar los fundamentos de la programación de videojuegos en el lenguaje C#.


En este segmento veremos: -Historia del lenguaje C# -Lo básico del lenguaje C# -Descripción de OpenGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


Historia de C#


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

C# Es un lenguaje orientado a objetos desarrollado por la empresa Microsoft.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

Presentado en el año 2.000 en la ciudad de Orlando en los Estados Unidos.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

El Common Languaje Runtime o CLR Es una máquina virtual en la que C# corre.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

El CLR es propiedad de Microsoft pero existe una versión libre llamada “Mono”


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

Usando “Mono”, los programas de C# pueden correr en Mac´s, linux y otros sistemas.


Lo bรกsico de c #


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

C# es un lenguaje que corre en una máquina virtual.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

Con lenguajes como C++ y C se hacen programas que corren directamente en hardware de una máquina específica.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

El hardware en el que corren estos programas se llama Central Procesing Unit o CPU que es el cerebro del computador.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

Todas las CPU`S tienen el mismo propósito: correr los programas que los programadores escriben.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

Los programas son solo listas de instrucciones.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

Las instrucciones que una CPU entiende son llamadas “Código”


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

El código de máquina de una CPU es poco probable que sea entendido por un tipo diferente de CPU.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

Los compiladores toman el código fuente legible, escrito en lenguajes como C++ y C y lo compilan en código de máquina.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

La máquina virtual de C#, el CLR tiene muchas ventajas.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

La principal de estas ventajas es que usted solo necesita escribir el código una vez y este se puede ejecutar en todas las Cpu`S que soportan el CLR


Descripci贸n de

Open Gl y Direct X3D


Open Gl y Direct X3D son las mayores librerías gráficas industriales que se usan hoy en día. Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


-Estas librerías son una forma estandarizada de hablar con el hardware subyacente.. Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


-Esa transformación de vértices 3D a cuadros 2D se conoce como Graphics Pipeline. Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

-Existen dos tipos de Pipeline. -La fixed Pipeline que no puede ser programada. -Y la Pipeline programada, que permite a ciertos estados del Pipeline ser programados usando shaders.


El Tao Framework es una colección de útiles librerías incluidas en OpenGL. Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


El Tao Framework también incluye muchas otras librerías útiles para el desarrollo de juegos. Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


M茅todos modernos de programaci贸n


-El pragmatic programing busca finalizar satisfactoriamente un programa dentro de un plazo deseado.

Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


Esto funciona mediante la comprensión inicial de las expectativas del programa final.

Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


Para escribir tan rápido como se pueda una versión básica del programa. Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


Esa versión funcional del programa es cambiada hasta llegar a cubrir los requerimientos originales.

Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


Las trampas de la programaci贸n de los videojuegos.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

Muchos desarrolladores inician su trabajo queriendo hacer un juego pero de repente se encuentran que están haciendo un Framework o un game engine.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

La programación pragmática ayuda a no caer en la trampa del framework.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

Esto se logra mediante el uso de dos principios de programación:

KISS y DRY.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

-KISS Significa

“Keep It Simple Stupid” (Mantenga esto simple y estúpido).

Y se propone hacer lo necesario para no complicar la programación de su juego.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

DRY Significa “Don`t Repeat Yourself” (No se repita usted mismo)


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

Si usted ve fragmentos de código repetido en todas partes, entonces el código debe ser consolidado o sintetizado.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

El menor número de veces que el código se repita, significa que un menor número de lugares del código necesitarán ser modificados cuando haga cambios.


Control del c贸digo fuente


Programación de videojuegos en C #

El control de código fuente hace seguimiento a todo lo que se teclea dentro del editor cuando usted está programando.

-Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


Programación de videojuegos en C #

-Cuando el código fuente es compilado, el código de máquina se produce de inmediato. -El código fuente es para los humanos y el código de máquina para el computador.

-Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


Programación de videojuegos en C #

El computador usa el código de máquina para ejecutar un programa.

-Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


Programación de videojuegos en C #

El control de código fuente es un programa que guarda todos los cambios que usted hace en el código fuente.

-Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


Programación de videojuegos en C #

Con el control de código fuente usted puede regresar a las versiones anteriores del código si cometió errores.

-Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


Programación de videojuegos en C #

Puede comparar la última versión del código con las anteriores para ver inmediatamente qué ha cambiado.

-Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


Programación de videojuegos en C #

-El control de código fuente también es una buena herramienta para hacer respaldos. -Guarda todo su código en un solo lugar y permite crear “Branches”.

-Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


Programación de videojuegos en C #

-Los “Branches” son una forma de guardar el programa en dos versiones separadas.

-Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


Programación de videojuegos en C #

-la primera es la copia de seguridad y la segunda, contiene los cambios de prueba para nuevas acciones del código.

-Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


Unit Testing


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

Cuando un programador escribe una nueva funcionalidad, por lo general escribe un fragmento de código para probarlo.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

-El Unit Testing es una forma inteligente de reunir esas pequeñas partes de código para probarlas.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

Luego se puede ejecutar cada vez que se compila el código.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

-El método general del Unit Test es escribir la prueba, actualizar el código, correr el test, y si este falla, modificar el código hasta que pase la prueba.


El Game Loop y las grรกficas


Existen muchos géneros de juegos pero todos están programados de una forma similar.

Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


La forma más importante en que el juego se comunica con el jugador es con la ayuda de la pantalla del televisor o el monitor del computador.

Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


-Es muy común escuchar acerca de la rata de cuadros (Frame-rate) en los juegos. -Una buena rata de cuadros es de 30 ó 60 por segundos.

Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


Un cuadro es el tiempo que pasa entre las actualizaciones de la pantalla.

Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


El programa del computador es el responsable de la actualización de la pantalla con nueva información en al menos 30 veces por segundo.

Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


-¿Cuánto tiempo tiene un computador para actualizar cada cuadro?

Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


-Si lo mínimo requerido es de 30 cuadros por segundo, entonces el tiempo que se necesita para actualizar cada cuadro es de 33 milisegundos.

Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


El computador tiene entonces, 33 milisegundos para pensar en lo que puede pasar en el siguiente cuadro.

Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


-Un computador puede hacer muchos cálculos en esos 33 milisegundos.

Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


Todos los juegos tienen un loop central llamado GameLoop.

Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


-Mientras el juego está corriendo, el loop central es llamado tan a menudo como es posible.

Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


El GameLoop tiene tres estados principales: El Primero, toma el estado de cualquier entrada (Vía game pad, teclado, etc).

Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


El Segundo, actualiza el estado del mundo del juego.

Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


Y el Tercero, actualiza todos los pixeles en la pantalla o redibuja las gráficas en la pantalla

Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop


Una mirada cercana al GameLoop


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

-El GameLoop no es solamente el responsable de la actualización de las gráficas en la pantalla. -Tiene otras dos tareas importantes para hacer.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

-Primero, debe tomar las entradas de los jugadores y, segundo, actualiza el mundo del juego


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

C# no tiene un loop propio por lo que algunas funciones del lenguaje llamado C son usadas para crear un GameLoop rápido que sea útil para la creación de juegos.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

Adicionalmente, algunas funciones de C son usadas para asegurar que el juego corra suevamente incluso en equipos que gestionan datos a diferentes velocidades.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

-El Tao framework tiene un control llamado SimpleopenGlControl. -Este control permite que OpeGL sea usado fácilmente dentro de la forma Windows.


El patr贸n b谩sico de un GameObject


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

-La mayoría de los game objects necesitan de al menos dos funciones:


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

Primero, una función de actualización donde el objeto pueda tomar una animación o cualquier cosa para cambiarla a medida que pasa el tiempo.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

-Y, segundo, la función render que es donde el objeto puede dibujarse el mismo en la pantalla.


Programación de videojuegos en C # -Historia del lenguaje C# -Lo básico de C# -Descripción de OpneGL y DirectX3D -Métodos modernos de programación -Las trampas de la programación de los videojuegos -El control del código fuente –Unit Testing –El GameLoop y las gráficas. –Una mirada cercana al GameLoop –El patrón básico de un GameLoop

-En C # esto puede ser descrito usando una interface como la siguiente: Public interface IGameObject { voidUpdate(double elapsedTime); void Render (); }

-Esto hará que cualquier cosa que se cree en el juego herede desde esta interface.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.