Etiquetas

miércoles, 29 de agosto de 2012

Pacman!

En esta entrada explicare como "funciona" el juego Pacman... para esto utilizare un diagrama de arbol. Antes de comenzar a explicar, pondre una pequenia definicion de lo que es el PACMAN.

Pacman es un videojuego que aparecio aproximadamente en los anios 80's, fue un videojuego muy exitoso, ya que combinaba un formato humoristico y poco violento,
pero.. en que consiste el pacman?

Pues bien el pacman, como se puede apreciar en la imagen de arriba es un circulo amarillo, este aparece en distintos laberintos y debe comer todos los puntos que en el aparecen, este es el objetivo, dejar el laberinto limpio, para poder subir de nivel y poder aparecer en un nuevo laberinto. Aunque aqui no termina el juego ya que,  en cada nivel aparecen 4 fantasmas que recorren todo el laberinto para intentar comerse al pacman.

Bien esto es solo una breve explicacion para aquellos que no conocen el juego, para mas informacion vallan aqui.

Ahora si esta es mi explicacion:




1.Para comenzar me ubicare con imagenes, en este caso al inicio del juego, se debe tomar la decicion de a  donde ir, como vamos comenzando no hay peligro de perder, y tenemos dos opciones de movimiento.

Asi sera como nos ubicariamos en el diagrama, teniendo un nodo padre que es el inicio y nos muestra las dos posibles respuestas del juego, que se pueden tomar, las ramificaciones de este arbol se iran formando conforme se valla avanzando al objetivo, en este caso, devorar cada bolita y huir, para no perder ninguna vida.



2. Suponiendo que tomamos  el camiono a la derecha, en este siguiente paso se nos vuelven a presentar nuevamente las mismas opciones y una adicional que nos permitira regresar:

en el juego se veria masomenos asi:

3. Luego de seleccionar la direccion siguiente, se debe ir verificando que sea una solucion y que no me lleve a perder una vida, en este caso si mi siguiente movimiento es hacia arriba y nos topamos con lo siguiente:
nuestro algoritmo debera buscar un movimiento que me de una solucion y me permita seguir jugando y no morirme.

obtendriamos algo asi, en este caso el movimiento marcado con amarillo seria el que nos indica que hacia alla no debemos ir e iriamos acotando el camino, y el nodo marcado con rojo es el que se decidio tomar y que de nueva cuenta nos permite realizar mas movimientos.

Para cada movimiento se van realizando mas ramificaciones, pero cada vez que se valla a tomar una decicion debe verificarse primero si a donde se dirige no me llevara a la muerte, y se lograra conseguir la victoria, de no ser asi, estas ramificaciones deberan irse acotando.



Por ultimo les dejo el Link del juego :P por si les apetece jugar un rato xD 




Trabajo Grupal

En cuanto al trabjo grupal de elaborar un diagrama en donde se muestran todos los modulos que se tomaran en cuenta para la elaboracion del videojuego, mi aportacion fue crear el modelo del diagrama ademas de aniadir uno de los modulos en los que trabajare junto con algunos companieros de la clase.

Aqui anexo el link al diagrama:

Diagrama

Y tambien el link de la wiki, en donde se encuentran los equipos de trabajo:

jueves, 23 de agosto de 2012

Temas Selectos de IA- 2 Semana

Para esta semana mostrare una idea que tengo de como quedarian organizadas las tareas de cada uno de los equipos de trabajo, que se elaboraron anteriormente y su relacion entre ellos..

Mi diagrama seria el siguiente:


Desde mi punto de vista, en lo que refiere a las caracteristicas de los personajes y el diseno visual van de la mano ya que, dependiendo de lo que se quiera ver seran las caracteristicas.

En cuanto a equipamento se refiere, dependera de las caracteristicas de los personajes, ya que habra que ver como se manejaran las armaduras que use determinado personaje y si estas iran cambiando conforme el nivel del juego valla avanzando.

Un ejemplo de donde me gustaria basarme para la elaboracion del equipamento es el juego league of legends, en donde te va sugiriendo las armas que puedes ir utilizando en el transcurso del juego.


Lo mismo es aplicable para la musica, ya que habra que definir si esta ira cambiando conforme al nivel o dependiendo si se utilizaran distintos escenarios..





miércoles, 15 de agosto de 2012

Crear un videojuego?


En esta entrada pondre algunas posibles herramientas que nos pueden servir para el diseño y creación de videojuegos.

Empece por investigar en que lenguaje era posible esto y algunos de ellos son:
  • Python 
  • C++
entre otros, a estos podemos añadirles algunas API's para darle algunas mejoras a estos juegos.

Existen tambien las siguientes herramientas:

Unity

Unity es un ambiente de desarrollo integrado (IDE) para la creación de juegos 3D, video y otros contenidos interactivos tales como visualizaciones arquitectónicas en tiempo real. Los juegos producidos por Unity se pueden ejecutar en gran variedad de consolas y sistemas operativos tales como Windows, Mac, Xbox 360, PlayStation 3, Wii, iPhone/iPad, Android, Chrome, Flash y próximamente Linux.
Se puede decir que Unity es un ambiente de desarrollo de juegos que destaca por soportar múltiples plataformas para ejecutar los juegos creados, así como por la facilidad de uso y productividad de su editor.

Cocos2D

Cocos2d es un framework open source para crear juegos 2D. La versión original de cocos2d fue programada en Python, pero existen diversos ports a otros lenguajes y plataformas.


Entre las ventajas de cocos2d destacan las siguientes:
  • Fácil de usar. Su API es sencillo e incluye una gran variedad de ejemplos. Provee abstracciones de alto nivel para las tareas mas comunes.
  • Rápido. Cocos2d utiliza las mejores prácticas de OpenGL ES y estructuras de datos optimizadas.
  • Es software libre. Cocos2d está bajo licencia MIT, una licencia muy flexible que permite utilizarlo tanto para hacer juegos de código abierto como cerrado. Además puedes extenderlo e integrarlo con bibliotecas de terceros.
  • Comunidad activa. La comunidad de cocos2d es grande y activa, en los foros típicamente puedes obtener respuestas rápidamente.
Cocos2d para iOS utiliza las herramientas y lenguajes de esta plataforma (Objective-C, XCode), lo cual puede ser una ventaja si ya estás familiarizado con ellos o una desventaja si no te son familiares. Otra desventaja de Cocos2d es que a diferencia de las herramientas comerciales como Unity o Unreal, no posee un editor gráfico para animaciones o escenas.




Ref:

jueves, 24 de mayo de 2012

Semana 16

Esta es la entrada final para la clase de distribuidos y paralelos. Para esta entrada pondré un poco de  lo aprendido en clase, y en algunas de las practicas que realice junto con algunos compañeros de clase.

Primero que nada que esperaba de esta materia?

Pues de esta materia al principio no sabia mucho y me preocupaba demasiado! ya que para mi sentia que era todo completamente nuevo, ya a mediados de curso empece a entender algunas cosas y a trabajar con algunos de mis compañeros lo cual fue de mucha ayuda para mi... ya que me orientaba mejor en lo que se buscaba originalmente con el curso.
Que se realizo durante el curso?

Durante el curso se realizaron diversas investigaciones sobre aplicaciones, lenguajes, cluster y algoritmos los cuales nos podían servir para desarrollar nuestro propio cluster, Ademas de hacer las investigaciones también se trabajo bajo algunos tutoriales para realizar la conexión entre varias maquinas.

Que se aprendió?

Pienso que en esta clase aprendí algunas cosas sobre redes ya que en algunas ocasiones trabaje con mis compañeros del equipo cluster donde algunas ocasiones logramos hacer la conexión entre algunas maquinas. Ademas de esto aprendí muchos conceptos básicos sobre sistemas distribuidos y sobre algunas de las necesidades requeridas para utilizar algunas de las apps sobre las que investigábamos.

Problemas! :O

Algunos problemas que se presentaron durante este curso, en mi opinión creo que nos falto un poco mas de coordinación sobre el proyecto final, ademas de eso la comunicación entre equipos creo que no fue la ideal para realizar este proyecto ya que se requieren de muchas maquinas, ideas, etc...

 Conclusión

Pues aprendí que como grupo aun nos falta trabajar mas la organización y la comunicación entre todos. Pero en particular a mi gustaría volver a trabajar así, ya que tomamos un poco mas de experiencia en el área de trabajo en equipo.

Por ultimo dejo la liga a la wiki en donde se encuentran todas las documentaciones realizadas por mis compañeros y yo durante todo el semestre.


Nominaciones:

  • Carmen
  • Rodolfo

miércoles, 16 de mayo de 2012

semana 15

Esta semana elabore una investigacion acerca de lo que es el paralelismo y algunas dependencias que suelen darse al ejecutar procesos en paralelo.
Aqui dejo el link de la wiki en donde se encuentra la informacion documentada.






Nominaciones:


  • Raul
  • Carmen
  • Rodolfo

Referencias:
www.infor.uva.es/~bastida/Arquitecturas%20Avanzadas/General.pdf
msdn.microsoft.com/es-es/library/ms188611(v=sql.105).aspx


Laboratorio:


Para esta semana en laboratorio encontre una noticia que habla de como china reclama tener el primer lugar en top 500 por su supercomputadora Tianhe-1A que es capaz de realizar más de 2.500 billones de cálculos por segundo.
La Tianhe-1A es poco común porque une a miles de procesadores Intel con miles de tarjetas gráficas hechas por Nvidia.
Para mas informacion sobre esto aqui anexo el link sobre esta noticia:


http://www.bbc.co.uk/mundo/noticias/2010/10/101028_china_supercomputadoras_top500_en.shtml

Imagenes