Archivo de Matematicas y Videojuegos

6. Cinemática y motores de física

Posted in Matematicas Aplicadas 2009-2 with tags on octubre 10, 2009 by 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

Posted in Matematicas Aplicadas 2009-2 with tags on septiembre 26, 2009 by 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

Posted in Uncategorized with tags on septiembre 10, 2009 by 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

3. Funciones – Matemáticas Aplicadas

Posted in Matematicas Aplicadas 2009-2 with tags on septiembre 5, 2009 by tongoxcore

En esta clase se muestran las funciones, dando un repaso de las propiedades de éstas como dominio, imagen y el tipo de función que es.

Las funciones si bien son utilizadas para distintos tipos de cosas, en la clase se dio énfasis al movimiento de los componentes del mundo en el videojuego, ya que necesitamos necesitamos un movimiento curvo de los componentes, y que éstos no sean tan lineales, como en los shooters de naves.

Además se muestran distintos tipos de funciones como:

  • Función lineal
  • Función cuadrática
  • Función exponencial
  • Función logarítmica
  • Función raíz
  • Función polinómica
  • Función racional

Descargar clase.

Descargar funciones hechas en GNU Octave.

Por ejemplo, podemos ver en el super contra 3 un movimiento logarítmico:

logaritmo

En este otro ejemplo podemos notar que si se dispara dando distintos valores para la función «exponencial» que define el movimiento de la bala se pueden tener algunos efectos muy buenos. 🙂

raiz

Finalmente se deben tener bien en cuenta unos puntos:

  • Para diseñar funciones que definan el movimiento, éstas se deben parametrizar a las coordenadas del «mundo», por ejemplo si se utiliza el mundo como la pantalla del computador, éstas se deben parametrizar a las coordenadas de éstas.
  • Si deseamos hacer movimientos en videojuegos 3D, las funciones son las mismas que para 2D, ya que lo que se hace es trabajar sin un eje, generalmente sin el eje y.

2. Geometría Analítica – Matemáticas Aplicadas

Posted in Matematicas Aplicadas 2009-2 with tags on agosto 24, 2009 by tongoxcore

En esta clase se hace un recuerdo a la geometría analítica y se trabaja con ella para mostrar diversos problemas, fáciles de resolver, y típicos en el diseño de videojuegos 2D, como lo son movimientos básicos.

Contenidos:

  • Sistemas de coordenadas.
  • Punto y traslación.
  • Recta y movimiento rectilíneo.
  • Teorema de Pitágoras y distancia.
  • Pantalla en videojuegos 2D.

Al final de la presentación se muestra la Tarea 1, donde deben aplicar todos los contenidos que se vieron en clases y algunos otros que se dejaron planteados.

Descargar clase

star force

Además comenzamos a utilizar el software matemático GNU Octave para visualizar la función de la ecuación de la recta, aplicada básicamente al movimiento rectilíneo en enemigos.


x=0:.001:1280;
m=-1.5;
n=1200;
y=m.*x+n;
plot(x,y), grid on

Grafico Movimiento rectilineo

01010100010011110100111001000111010011110101100001000011010011110101001001000101

1. Introducción – Matemáticas Aplicadas

Posted in Matematicas Aplicadas 2009-2 with tags on agosto 10, 2009 by tongoxcore

Bienvenidos al curso Matemáticas Aplicadas para Diseño de Videojuegos del Instituto Arcos.

En esta clase introductoria se da una breve descripción del papel de las matemáticas en el diseño de los videojuegos, y de la importancia que éstas tienen, ya que en base a principios matemáticos se han creado diversas aplicaciones usadas por diseñadores y programadores.

Descargar clase

Adhiero unos ejercicios introductorios, tipo secundaria, para soltar un poco la mano y recordar algunos conceptos matemáticos claves. Estos se analizarán en clases.

Descargar Ejercicios

prototype

01010100010011110100111001000111010011110101100001000011010011110101001001000101