Está en la página 1de 56

Videojuegos y

Ciencias de la
Computacin
MARTIN CRUZ OTINIANO
MARIO VSQUEZ ALVARADO
CARLOS ZRATE FLORIAN
Martn Cruz Otiniano
- INTELIGENCIA ARTIFICIAL
- ESTRUCTURA DE DATOS
- PROGRAMACIN ORIENTADA A OBJETOS
Primeras impresiones
Primeras impresiones
Qu dificultades
tuve?
Conocimientos en:
Adaptarse al framework
Renderizado
Simular la fsica
Hacer movimientos reales en los
personajes
Algoritmos de IA
Decisiones luego de
la experiencia
En serio las Ciencias de la Computacin se aplican en el
desarrolllo de videojuegos?
Claro que si!
Inteligencia Artificial
Modelos en lenguaje de programacin
Estructura de datos
Teoria de la computacin
Sistemas operativos
Redes
Metodologa en ingeniera de software
Tecnicas en construcciones de programas
Etc
Inteligencia artificial
Pathfindig (busqueda de caminos)
Agentes inteligentes
Maquinas de estados finitos
Redes neuronales
Algoritmos genticos
Agentes inteligentes
Un agente inteligente es una entidad que percibe
y acta sobre un entorno de forma razonada.
Autonoma: Acta por cuenta propia
Inteligencia: Cerrada o adaptable (aprendizaje)
Actividad:
Reactivo: Acta despus de algn suceso
producido en el entorno.
Proactivo: Decide actuar antes de que se d un
suceso
Sociabilidad: Se comunican con el usuario u
otros agentes
Cooperacin
Pathfindig
Son algoritmos que buscan un camino
existente entre un nodo inicial y nodo
final de un grafo.
Se tiene en cuenta un coste entre nodos
(distancia, dificultad del terreno)
Algoritmos tpicos: Dijkstra, escalada,
primero el mejor
El A* nos garantiza el camino ptimo.
Dijkstra A*
Probando Pathfinding en una aplicacin real
Demo Aprils Quest
Eso es todo?
Estructuras de datos
Es una forma de organizar un conjunto de
datos elementales con el objetivo de facilitar su
manipulacin.
Vectores y Matrices.
Listas, Pilas, Colas,
rboles, Grafos,
Tablas Hash, Mapeos
Usos:
Ordenamiento
Bsqueda
Crear nuevas estructuras
Sistemas de partculas
Explosiones
Lluvia
Fuego
Niebla
Agua (explosiones)
Pasto
Gear of War
Ejemplo de Sistema de Partculas
UDK (Unreal Developer Kit)
Editor de Escenas
UDK (Unreal Developer Kit)
Editor de Escenas
Algo ms?
Programacin orientada a objetos
Herencia
Polimorfismo
Encapsulamiento
Modularidad
Abstraccin
Paso de mensajes
Patrones de diseo
Los patrones de diseo son la base para la
bsqueda de soluciones a problemas
comunes en el desarrollo de software.
De creacin
Singleton
Prototype, etc
De estructura
Facade: Agrupa funcionalidades
MVC (Modelo Vista Controlador), etc
Y la Computacin Grfica?
No necesitamos reinventar lo que ya esta hecho, pero si podemos
crear nuevas tecnologas que superen las actuales.
Mario Vsquez Alvarado
- INTERACCIN HUMANO COMPUTADOR
Interaccin
humano
computador (HCI)
Definicin
reas que involucra
Objetivos
Componentes
Dispositivos de
Interaccin
Evolucin de los mandos de
consolas de videojuego
Dispositivos de
interaccin
alternativos
Armas:
Duck Hunt
Volantes:
Gran Turismo
NASCAR Thunder
Pads:
Dance Dance Revolution
Guitarras / teclados / bateras:
Guitar Hero
Convenciones
en el diseo de
videojuegos
Conjunto de pautas,
elementos y acciones a
seguir, que se establecen
para el buen diseo de
videojuegos.
E
l
e
m
e
n
t
o
s
Bsico
tiles
De estilo
Barra de vida Power up
Hechizos mgicos Boss (jefes)
Elementos bsicos
Elementos tiles
Herramientas Personalizacin
Miradas rifle
Adquirir poderes
de enemigo
Combos
Introducidos por Double Dragon y
Renegade se hicieron ubicuos en los
de pelea a partir de Street Fighter II.
Fue el factor diferenciante de DD.
Ahora permiten nuevos niveles de
habilidad.
Reencarnaron en los fatalities de
Mortal Kombat.
Elementos de estilo
Otros elementos de estilo:
Vehculos.
Reacciones en cadena.
Manipulacin del tiempo (bullet time)
Comunidades en lnea (Logros).
Diseo de
interfaces para
videojuegos
Ideas errneas
acerca de la
usabilidad en
videojuegos:
La usabilidad no es un tema, los
videojuegos se supone que deben ser
desafiantes.
Las tareas del usuario pueden ser
indeterminadas, el usuario debe poder
hacer lo que quiera en un videojuego.
Basta con que guste al desarrollador o
diseador.
Buenas ventas = buen diseo (?)
Nadie se quej = buen diseo (?)
Diseo de interfaces
para videojuegos
Objetivo de diseo:
Facilitar el trabajo creativo
proveyendo las mejores
herramientas.
Maximizar el tiempo insumido en
diversin.
Llevar al usuario a un estado de alta
involucracin (inmersin)
Como construir un
juego usable?
Enfocarse en el usuario: lo que precisan
hacer y como puede el sistema
ayudarles a hacerlo.
En realizar un anlisis de tareas.
Elegir funciones del sistema que
ayudan a la tarea.
Elegir una interfaz inicial para cada
funcionalidad.
Evaluar la interfaz y el diseo.
Algunos principios de diseo
El teclado es rpido pero
implica memorizacin, lento
recordar.
El ratn es la mejor opcin
para apuntar cosas en
posiciones arbitrarias
Los joysticks deben usarse slo
cuando mejoran el realismo.
Teclado, ratn, joystick
Diseo de pantalla
No enfocarse en la apariencia,
enfocarse en la entrega de
informacin.
Error de diseo comn: abrir
una ventana o dilogo para
cada tarea o aspecto de cada
tarea (priorizacin y balance).
conos vs. palabras
Los conos son mejores como
objetivos del ratn.
Los conos son muchas veces
arbitrarios y carentes de
sentido.
Mecanismos
Todas las tareas de alta frecuencia
deben disponer de mtodos
simples
Toda tarea debe disponer de un
nico mtodo
El mismo objetivo se debe realizar
de igual forma, siempre
Objetivos similares deben tener
mtodos similares
Distinguir entre objetivos de bajo
nivel y objetivos de alto nivel
Aprendizaje
Creencia: el sistema es fcil de
usar o de aprende, nunca ambos.
Hecho: ese balance no es siempre
cierto
Pocos, simples y rpidos controles
mejoran el aprendizaje y el uso.
Mtodos simples y consistentes,
tambin.
Funciones de personalizacin
pueden incrementar costos de
aprendizaje.
Errores de usuario
Los errores de usuarios
presentan una dificultad de
diseo importante.
Los errores deben ser
prevenidos.
Los mensajes de error deben
ofrecer claves de cmo
solucionarlos.
Permitir el reintento por parte de
los usuarios.
Algunas mejoras posibles
Introducir IA
Que sea, de vez en cuando, ms
inteligente que el usuario. O al
menos un poco inteligente.
Estrategias de mkt
menos fantasiosas
Reviews ms fidedignos.
Evitar el loading.
siempre
Es molesto para el jugador.
Algunas mejoras posibles
Aumentar la inmersin, aumentar la fsica, no imponer restricciones
absurdas (muros invisibles)
No agregar elementos que no corresponden a la imagen mental del juego.
Fomentar el realismo en ese contexto.
Evitar ngulos de cmara cinemticos, mejorar la actuacin de voz, etc.
Algunas mejoras posibles
Manejo respestuoso de la dificultad: velocidad, precisin.
Abandonar las cajas (crates).
Carlos Zrate Florian
- GEOMETRA
- FSICA
- CLCULO DIFERENCIAL
Geometra
El desarrollo de videojuegos hace uso de prcticamente todas las reas de
las matemticas (desde trigonometra, lgebra, estadstica o clculo), pero
una de las reas que ms suele mencionarse es la geometra.
Los videojuegos necesitan posicionar objetos en el espacio 2D o 3D. El
motor grfico debe gestionar por tanto la posicin, orientacin y escala de
estos objetos (y sus cambios a lo largo del tiempo) a travs de clculos que
implican la geometra.
La mayora de API (Application Program Interface)s y motores grficos que
trabajan con grficos 3D, proveen de herramientas para hacer estos
clculos de manera mas fcil, sin embargo siempre ser necesario
implementar nuestros propios algoritmos.
Geometra
V(difx,dify)
= tan^-1(dify/difx)
m= (dify^2 + difx^2)^-2
U = (difx/m, dify/m)
= ngulo de rotacion del arma.
U = Vector unitario para la direccion
del disparo.

Clculo diferencial
Fsica
Bullet
Fsica
Box2D
Videojuegos y Ciencias de la
Computacin
MARTIN CRUZ OTINIANO - @marccss_
MARIO VSQUEZ ALVARADO - @warddiuz
CARLOS ZRATE FLORIAN - @carmanuelz

También podría gustarte