New Blog

Publicado en Uncategorized el abril 16, 2011 por tongoxcore

Hace mucho tiempo que no posteaba aquí… me creé un nuevo blog, enfocado sólo al desarrollo de videojuegos.

Por sí a alguien le sirve, dijo el link:

http://tongoxcore.tumblr.com

9. Animaciones

Publicado en Uncategorized el noviembre 3, 2009 por tongoxcore

Animaciones !!!

Descargar code

8. Sistemas de reglas

Publicado en Uncategorized el octubre 24, 2009 por tongoxcore

En esta ocasión se habló de un método bastante ocupado en IA, que es conocido como el sistema de reglas y lo adaptaremos para la IA de los juegos de naipes.

La idea es simple, se crea un set de reglas y se crea un valor para dichas reglas. Por ejemplo para una mano, según diversas reglas y los valores, podemos lanzar la carta que nos sea más beneficiosa.

Si bien existen muchos juegos de cartas, generalmente la IA se realiza para juegos de casinos como el Black Jack y el Póker.

Descargar clase.
21blackjack

8. Manejador de Modelos y Picking Up.

Publicado en Uncategorized el octubre 19, 2009 por tongoxcore

En esta oportunidad diseñamos un manejador de modelos para administrar todos los modelos (aparte del escenario) que presenta un videojuego, como enemigos, aliados, el player, etc. Para esto se utiliza una estructura de datos llamada Dictionary ya que almacenaremos cada uno de los modelos en base a una clave, que es el id de objeto 3D.

Además, se muestra el concepto de Picking UP, que es cuando uno selecciona un objeto utilizando el mouse. Por lo que se continuó trabajando en el proyecto, y ésta vez se fue intercambiando el manejo del player entre distintos personajes, así si se selecciona otro modelo, se comienza a manejar ese modelo.

Finalmente, debido a la experiencia en el proyecto, se dedujeron algunos problemas importantes referente a DarkGDK, lo que hace disminuir considerablemente los FPS’s.

Descargar Clase.
Descargar Código

zombies

7. Diseño de Cámaras.

Publicado en Programacion Grafica II 2009-2 con etiquetas , , el octubre 11, 2009 por tongoxcore

En esta sección se habla sobre el diseño de cámaras, lo cual es algo muy importante a la hora de diseñar un videojuego. Para esto que necesitamos conocer algunos conceptos relacionados con las cámaras y algo de matemáticas, específicamente coordenadas polares y esféricas, por lo que en esta clase se mezcla lo teórico con lo práctico en el diseño de una cámara en tercera persona.

Contenidos:

  • Introducción al manejo de cámaras con DarkGDK.
  • Creación de una cámara en tercera persona.
  • Creación de una cámara con dinámica.
  • Manejo manual de una cámara.

Descargar clase.

Descargar aplicación

camera

7. Análisis de videojuegos de tablero

Publicado en Matematicas Aplicadas 2009-2 el octubre 10, 2009 por tongoxcore

En esta clase se muestra cómo representar un juego de tablero utilizando matrices, y los diversos problemas que nos podemos enfrentar a la hora de diseñar este tipo de videojuegos.

Entre los juegos de tablero a analizar están: OXO, buscaminas, tetris, solitario inglés y sudoku; para los cuales representaremos sus tableros utilizando matrices y las casillas tendrán diversos valores según las piezas o estados en que se encuentre.

7. Análisis de videojuegos de tablero

tablero

6. Cinemática y motores de física

Publicado en Matematicas Aplicadas 2009-2 con etiquetas el octubre 10, 2009 por tongoxcore

Hoy en día los videojuegos son cada vez son más realístas, es por ello que se necesita un componente que le dé este toque realista y éste es el motor de física.

En esta clase se da una muestra de la cinemática básica (materia de liceo) y cómo podemos utilizar estas fórmulas en videojuegos 2D simples. Además se muestra las funciones principales de un motor de físicas para videojuegos

Para entender a fondo la física en los videojuegos, se requieren cursos universitarios, es por ello que no ahondaremos más en el tema.

Descargar clase

motores de fisica

5. Vectores y Matrices

Publicado en Matematicas Aplicadas 2009-2 con etiquetas el septiembre 26, 2009 por tongoxcore

Matrices… ufff si bien tienen muy poco tiempo de historia (desde 1850), hoy en día son utilizadas a diario por todos, aunque muchas veces no las veamos: cuando trabajamos con excel o simplemente para administrar la información de mejor manera, cuando jugamos un juego de tablero, etc. Y en otras ocasiones están al frente de nosotros pero no las vemos: como en las imágenes, éstas están formadas por 3 matrices que representan el rojo (R), verde (G) y azúl (B).

En videojuegos, las matrices las utilizamos al diseñar videojuegos de tablero (OXO, buscaminas, sudoku, ajedres, etc.) y para diseñar el mapa de un videojuego 2D basado en tiles. Además como las tarjetas de video trabajan con matrices para administrar la información de cómo se verán los objetos 3D en pantalla, hoy en día algunos motores de videojuegos trabajan con matrices para determinar cómo se verá un objeto 3D en pantalla, como es el caso de XNA, así necesitamos la matriz de posición, la matriz de rotación, la matriz de traslación, la matriz de escalamiento y la matriz de vista, para determinar cómo veremos en pantalla a dicho objeto.

Descargar clase.

4. Trigonometria

Publicado en Uncategorized con etiquetas el septiembre 10, 2009 por tongoxcore

En esta clase se da una muestra del poder de los ángulos en el diseño de videojuegos, en conjunto con las funciones trigonométricas, ya sea para el diseño de movimientos 2D, como para el diseño de cámaras 3D o el movimiento de componentes en un mundo 3D.

Contenidos:

  • Ángulos: Unidades de medida.
  • Razones trigonométricas.
  • Funciones trigonométricas.
  • Coordenadas polares y esféricas.
  • Identidades Trigonométricas.

Descargar Clase

Lo importante de esto son las coordenadas polares y esféricas y su transformación a coordenadas cartesianas.

Las coordenadas polares no son más que un tipo especial de representar la posición 2D según un ángulo y una distancia a su origen, y su transformación a cartesianas es la siguiente:


x = r * cos( alpha ) + x0
y = r * sin( alpha ) + y0

La importancia radica en que podemos desplazarnos a una velocidad “r”, con un ángulo de orientación “alpha” desde una posición inicial (x0, y0), la cual cambiará en cada iteración del ciclo del videojuego; y así podemos modelar fácilmente un movimiento 2D.

Un ejemplo clásico de esto es el pool, cada bola según la fuerza y el ángulo de orientación con que haya sido colisionada, saldrá disparada a una cierta “velocidad” y a un cierto “ángulo de orientación”.

Kick-Shot-Pool

Por otro lado las coordenadas esféricas, sirven para representar en 3D la posición de un objeto según un ángulo en el eje XY llamado polar, un ángulo en el eje XZ llamado azimuth y la distancia al centro. Sus transformaciones a coordenadas cartesianas son las siguientes:


x = r * sin( polar ) * cos( azimuth ) + x0
y = r * sin( polar ) * sin( azimuth ) + y0
z = r * cos( polar ) + z0

Al igual que en las coordenadas polares, representamos a la posición (x0, y0, z0) como la posición inicial, la cual cambia en cada ciclo del juego y “r” es la velocidad de desplazamiento en 3D.

Así ocupando esta sencilla fórmula, podemos diseñar una cámara en tercera persona; pero si queremos diseñar una cámara moderna, necesitamos darle dinámica, esto quiere decir que no siga siempre al personaje a una velocidad constante, sino que cambie según los movimientos del player y así las velocidades de reacción varían. Un ejemplo claro de este tipo de cámaras lo encontramos en Dead Space.

dead-space-2

4. Diseño de Menú I y Manejo de Estados

Publicado en Programacion Grafica II 2009-2 con etiquetas , el septiembre 6, 2009 por tongoxcore

En esta clase se da una muestra al diseño de menús y la confección de los posibles estados que pueda tener el videojuego, los cuales son manejados principalmente mediante los botones del menú.

Además se muestra cómo utilizar algunas funciones básicas de DarkGDK.

Contenidos:

  • Revisión de diseños de menús.
  • Manejos de estados del videojuego.
  • DarkGDK: revisión de los comandos claves de Sprite, Input para el mouse y Music

Descargar Clase

En el código visto en clases se implementa el manejo de estados, y la estructura completa de la clase GameManager que es la clase manejadora del videojuego. Como se dejó de tarea el diseño de menús, éste se mostrará implementado la próxima clase.

Descargar código

Manejo de estados

01010100010011110100111001000111010011110101100001000011010011110101001001000101

Seguir

Get every new post delivered to your Inbox.