APLICACIÓN DE LA TEORÍA DE AUTÓMATAS A LOS VIDEOJUEGOS

9
Universidad Nacional De Trujillo Facultad de Ciencias Físicas y Matemáticas Escuela Profesional de Informática CURSO: TEORÍA DE LA COMPUTACIÓN Tema: Aplicación de la teoría autómatas a los videojuegos Integrantes: Poémape Vargas Oscar Rosas Aguilar Carlos Salazar Avalos Diana Silva Coronado Oskar Vásquez Alvarado Mario Villanueva Ruiz Mayra Ciclo: III Profesor: Rodríguez Melquiades José MAYO 2012

Transcript of APLICACIÓN DE LA TEORÍA DE AUTÓMATAS A LOS VIDEOJUEGOS

Universidad Nacional De TrujilloFacultad de Ciencias Fsicas y Matemticas Escuela Profesional de Informtica

CURSO:

TEORA DE LA COMPUTACIN autmatas a los videojuegos

Tema: Aplicacin de la teora de

Integrantes: Pomape Vargas Oscar Rosas Aguilar Carlos Salazar Avalos Diana Silva Coronado Oskar Vsquez Alvarado Mario Villanueva Ruiz Mayra Ciclo: III Profesor: Rodrguez Melquiades Jos

MAYO 2012

APLICACIN DE LA TEORA DE AUTMATAS A LOS VIDEOJUEGOS1. RESUMEN En este presente informe detallamos el empleo de los autmatas en una de sus variadas aplicaciones que posee para lo cual, hemos escogido la aplicacin a los videojuegos. Recopilando informacin de distintas fuentes, nos damos con la sorpresa de que los primeros usos de este tipo de aplicaciones se dieron en el campo de la aviacin en el cual se realizaban simulaciones de vuelo, de ah a lo largo de los aos vamos viendo como han ido evolucionando conjuntamente con los ordenadores, as como en el ao de 1962 aparecieron los ordenadores de la tercera generacin reduciendo as de manera considerable el tamao y su costo y de ah en 1969 con la aparicin del microprocesador se logro reducir el espacio que produca y aumentar el potencial de informacin que no se produca con los grandes ordenadores de los aos 50. Un videojuego no es nada mas que un software que dirigido para el entretenimiento del publico en general, en el cual interactan varios personajes por medio de un controlador que comnmente realizan acciones simples como saltar, correr, golpear etc. En algunos juegos vemos que la cantidad de movimientos realizados por el personaje son numerosas y en algunos casos los movimientos sueles combinarse prueba de ellos tenemos el juego de street figther. En los videojuegos lo que se trata de lograr es simular las acciones que se realizaran en la realidad y ver la interaccin con otros personajes, ahora en la actualidad vemos que las simulaciones de juegos cada vez son mas reales, las expresiones de los personajes se asemejan mas a las de un humano y con ello volviendo a los videgojuegos un entretenimiento para todo tipo de persona. Para esto, en el tema central hemos desarrollado un modelo matemtico definido por un autmata, que luego nos llevar a la construccin de un algoritmo y a su correspondiente codificacin. Finalmente, mostramos nuestra apreciacin crtica acerca del tema tratado y damos a conocer otras aplicaciones relacionadas con los videojuegos para los cuales es til la teora de autmatas.

2. INTRODUCCIN Antes del primer videojuego (Pong), existieron muchas y muy variadas mquinas recreativas que funcionaban basadas en principios elctrico - mecnicos. En el momento en que se crean maquinas autmatas para realizar labores sencillas, dio paso a que alguien pensara en que esta automatizacin, podra servir como medio de entretenimiento. Es difcil establecer cual fue la primera maquina destinada a entretener de manera automatizada, ya que existan muchas maquinas que, siendo destinadas para un uso en concreto, poda ser "adaptada" para entretener a la gente. Los primeros pasos de los actuales videojuegos se detectan en los aos 40, cuando los tcnicos estadounidenses desarrollaron el primer simulador de vuelo, destinado al entrenamiento de pilotos; estas simulaciones se basaban en estados y transiciones que variaban segn el manejo del piloto. En 1962 apareci la tercera generacin de ordenadores, reduciendo su tamao y coste de manera drstica y a partir de ah el proceso ha sido continuado. En 1969 naci el microprocesador, que en un reducido espacio produca mayor potencial de informacin que los grandes ordenadores de los aos 50. Es lo que constituye el corazn de nuestros ordenadores, videojuegos y calculadoras. En 1970 aparece el disco flexible y en 1972 se desarrolla el primer juego, llamado PONG, que consista en una rudimentaria partida de tenis o ping-pong. En 1977, la firma Atari lanz al mercado el primer sistema de videojuegos en cartucho (Atari VCS/2600), que alcanz un gran xito en Estados Unidos y provoc, al mismo tiempo, una primera preocupacin sobre los posibles efectos de los videojuegos en la conducta de los nios. Tras una rpida evolucin, en la que el constante aumento de la potencia de los microprocesadores y de la memoria permitieron nuevas mejoras, en 1985, la casa Nintendo lanz su primer sistema de videojuegos (Nintendo NES/FamiCom) que permiti la presentacin de unos juegos impensables nueve aos atrs. La calidad del movimiento, el color y el sonido, la imaginacin de los creadores de juegos, as como las diversidad de estados y transiciones posibles fueron tales que, unidos al considerable abaratamiento relativo de dichos VJ, a comienzos de los 90, se extendieron de manera masiva los juegos creados por las dos principales compaas, Sega y Nintendo, pasando en poco tiempo a constituirse en uno de los juguetes preferidos de los nios.

3. TEMA CENTRAL Un videojuego o juego de vdeo es un software creado para el entretenimiento en general y basado en la interaccin entre una o varias personas por medio de un controlador y un aparato electrnico que ejecuta dicho videojuego; este dispositivo electrnico puede ser una computadora, una mquina arcade, una videoconsola, un dispositivo handheld (un telfono mvil, por ejemplo) los cuales son conocidos como "plataformas". Aunque, usualmente el trmino "video" en la palabra "videojuego" se refiere en s a un visualizador de grficos rasterizados, hoy en da se utiliza para hacer uso de cualquier tipo de visualizador. Un personaje de video juego suele realizar varios movimientos simples como: saltar, correr, disparar etc. En algunos juegos la cantidad de movimientos por personaje es numerosa y suele combinarse. Por ejemplo, en el videojuego Street Fighter el jugador puede "golpear mientras salta", o "patear agachado en el suelo". En este ltimo caso, programar el comportamiento de un personaje se hace ms difcil a medida que crece el nmero de acciones involucradas. Veremos como gestionar un conjunto de movimientos mediante autmatas finitos. Pues bien, para eso se recurri a un autmata finito y considerarlo de la manera siguiente: AF = (Q, A, I, FT, F) Q: conjunto finito de estados A: alfabeto finito I: pertenece a Q estado inicial FT: QxAQ funcin de transicin F: Estados finales Para nuestros fines, el personaje es un AF. Q: Conjunto de estados que tienen asociados una animacin y una serie de atributos adicionales, como ejemplo, el estado Camina posee una animacin donde se puede observar al personaje caminar adems de tener asociado el tipo de movimiento que le permite desplazarse en pantalla y que guarda los valores de la posicin (hacia arriba, izquierda, derecha, movimiento tipo parablico etc).

Estados Un estado representa el comportamiento del personaje en un momento dado. Cada estado reacciona de manera diferente a los eventos (como la pulsacin de una tecla) y est asociado a una animacin diferente:

A: Conjunto de smbolos, cada smbolo de nuestro alfabeto se considera un evento, como ejemplo cuando movemos el joystick hacia arriba (EV_PU) u oprimimos un botn (EV_BA). I: Este es nuestro estado inicial, que en nuestro caso pudiese tener varios estados iniciales, para qu?, solo para iniciar cada vez con una animacin diferente de nuestro personaje. FT: QxAQ permanece intacta y nos permitir realizar el cambio de estado. F: Este estado finalmente, puede ser cuando nuestro personaje fue noqueado. Cuando comienza el juego estamos en posicin de combate (un estado), si pulsamos hacia arriba (un evento) comenzamos a saltar. Saltar ser nuestro nuevo estado, y en l tendremos una serie de posibilidades nuevas como realizar una "patada voladora". Este criterio se puede apreciar fcilmente mediante un diagrama de transiciones.

De la figura podemos deducir algunas caractersticas: El autmata no puede estar en mas de un estado al mismo tiempo. Los eventos relacionan a los estados entre s. No todos los eventos implican un cambio de estado, para este ejemplo un evento como "agachar" no tiene sentido mientras el personaje se encuentra en estado "salta". Ejemplo de AUTOMATA:

4. INTERPRETACIN Y/O ANLISIS PERSONAL Los autmatas en los video trata de simular el comportamiento de un agente que en ultimas es una comportamiento de un agente representacin de alguna faceta del ser humano o de su sociedad, entonces poder comparar estos modelos con interacciones de seres humanos con los mismos problemas nos puede ayudar a calibrar mejor los modelos. El problema de usar autmatas finitos para videojuegos se encuentra en las interacciones y estados que puede lograr tener el personaje del juego, esto produce que al momento de abstraer a grafica de estados llegue a ser demasiado extensa, dificultando su posterior codificacin en algoritmo (en el caso que se desee crear un videojuego), para resolver estos problemas es necesario ver otros conceptos. Entendiendo la complejidad de la realidad, es que el modelamiento de un videojuego pasa a transformarse en una nueva herramienta para el desarrollo de mtodos de mejor representacin de los sucesos, a travs de estados que los definen en un autmata. En los videojuegos se busca la simulacin de la realidad llevndolos a un personaje ficticio dentro de un contexto determinado, en este caso los autmatas ayudan a elevar el anlisis del programador ya que para que los personajes puedan realizar todos sus acciones tienen que pasar a diferentes estados y formas, ampliando la visin del mismo.

5. PROYECCIN DEL TEMA PARA OTRAS APLICACIONES 5.1 Simulacin de comportamiento para robots humanoides: Aunque esto no es un videojuego posee la misma estructura, pues se intenta dar a un concepto abstracto ejecuciones reales y su vez la interaccin entre el objeto y la realidad. En este caso veremos su aplicacin en un robot humanoides en un juego de ftbol. Simulacin de comportamiento para robots humanoides en un juego de ftbol, como observamos en el personaje de un videojuego; esta aplicacin puede ser tomado como un autmata de estados finitos no determinista (AFND) (ver figura).

Este autmata cuenta con seis estados y diez transiciones para poder lograr su objetivo (ver tabla)

5.2 Simulacin de explosiones: Para simular una explosin se necesita un grafo que tenga definida una presin en cada Vrtice. En cada paso de tiempo, se mira Vrtice por Vrtice y se compara la presin del Vrtice con la presin de sus vecinos. Luego se calcula un flujo de "aire" entre el Vrtice y el vecino y se lo utiliza para modificar sus presiones. El esquema es bsico e intuitivo: El nodo que tiene ms presin le entrega un poco a cada uno de los vecinos que tienen menos. Y as, paso por paso, se genera una frente de presin.

5.3 En la Biologa: Se pueden crear autmatas finitos como modelos por ejemplo de cmo responde una clula ante un estmulo. Tenemos un input que puede ser un qumico o algo similar, una serie de estados que pueden ser los estados de expresin de ciertos genes, o la produccin de alguna protena y adems ciertas probabilidades de transicin. En s, se piensa que una clula en su totalidad se puede modelar como un autmata finito no determinista. Para ciertos procesos celulares que requieren mucho control, como el crecimiento embrionario, se pueden usar autmatas finitos deterministas (como una simplificacin claro) para modelar los cambios de expresin de los genes que hacen que el proceso de gestacin se lleve a cabo.