Etiquetas

Mostrando entradas con la etiqueta Temas Selectos de IA. Mostrar todas las entradas
Mostrando entradas con la etiqueta Temas Selectos de IA. Mostrar todas las entradas

jueves, 15 de noviembre de 2012

Tarea 14.

Para esta entrada se nos pidio trabajar con texturas y darles color..

Pues inicialmente comencé a trabajar con python, investigue algunas cosas y encontré que me podía ayudar con la librería Tkinter, y este fue el primer intento que tuve :P  un ejemplo sencillo.

Este es el código: ** **



Después pedí ayuda a la doctora:

**
**
Este  es el resultado del código anterior:

También intente darle un poco de movimiento, intentando cambiarle el ruido que se le había dado inicialmente, pero con eso tuve complicaciones, y a la falta de tiempo no pude solucionar el error que me marcaba. :/

masomenos intentaba lograr algo así..

jueves, 8 de noviembre de 2012

Tarea

Para esta entrada se nos encargo que realizáramos una interacción entre algún dispositivo externo y un juego.

En este caso yo utilice un demo de un juego que tenia, el cual consiste en una pelotita rebotando de un lado a otro y uno debe cuidar que no caiga de la barrita.




Y este es el código del juego, ya con la conexión al arduino:
**********
**********
Y acá esta el código que le puse al arduino:
**********
**********


En si lo que hace es que cuando uno deja caer la pelotita de la barra se enciende un led que indica que esta cayo.
Acá un Demo:


************
************




Aportacion de esta semana:
Estoy trabajando en un mapa.. aun esta en proceso pero esto es lo que llevo :)




Referencias:

jueves, 1 de noviembre de 2012

Reporte.

Retos de Usabilidad en el ambiente de trabajo Ubicomp

Interaction Group, Software Center, Samsung Electronics Co, Ltd

Introducción.-

En este estudio nos habla de como se han estado desarrollando distintas maneras de interactuar el ser humano y las maquinas, nos dice que se esta tratando utilizar diferentes escenarios para que el usuario interactue con una serie de dispositivos ubicados en su entorno.

Nos habla también de las como las pruebas de Usabilidad se han vuelto fundamentales para la evaluación de productos y sistemas desde 1980.

En este articulo nos habla de como se busca proporcionar un marco de pruebas de usabilidad para el ambiente Ubicomp.


Desarrollo


El area de la computacion ubicua fue propuesta por Mark Weiser a principios de 1990. Un principio que maneja Weiser es que las computadoras no deben ser demasiado explicitas en el camino del usuario y el objetivo de este, si no que debe servir al usuario como si no existiera.

Ubicomp ha sido aceptado como un nuevo paradigma informático, mas computadoras móviles y sistemas informáticos integrados en objetos están siendo constantemente introducidos. Ademas con esto vienen nuevos estilos de interacción y técnicas están continuamente propuestos como paradigma de interacción sobre el ambiente ubicomp.

Las aplicaciones dentro de ubicomp implican mucho mas que interacción. Esto porque esta situados dentro de entornos físicos y cambian la forma en que las personas interactuan con este ambiente.

Al trabajar con la usabilidad tradicional IHC ha ido produciendo que al diseñar interfaces se tomen en cuenta diversos factores humanos.  Aunque debido a esto las necesidades y demandas de diseño se concentran en interfaces de computadoras de escritorio, y hasta ahora no hay cuestión si estos marcos de usabilidad se pueden aplicar al nuevo paradigma de interacción que vallan mas allá del teclado, ratón y pantalla.



Un caso de estudio es el inicio del Proyecto Futuro el cual tiene por objeto establecer un solido, seguro y fácil de usar concepto de red domestica que estará basado en breves tecnologías  de alcance in-alambrico.
Los estudios de usabilidad para este proyecto están basados en escenarios definidos, que se llevaron acabo antes de que se diseñara la arquitectura, esto para obtener una retroalimentacion temprana para las aplicaciones propuestas y servicios para el usuario final.


Conclusiones


La computación ubicua trae una nueva forma de interactuar con los ordenadores liberando así al usuario de estar sentado frente al ordenador de escritorio.






Avances de esta semana

no tengo avances el estúpido mapa se borro >.>  <,<  X____________X

jueves, 25 de octubre de 2012

Movimientos con Blender

En esta semana segui trabajando con blender, en esta ocacion trabaje con movieminetos.
Para esto utilice el trabajo que anteriormente habia utilizado (la botella) y le fui dando movimientos.


Primero utilice una de las vistas para que me permitiera ver la vista de cada vector y asi poder darle un mejor movimiento mas real.



Después de  esto fui seleccionando por cuadros y dentro de cada uno añadi un movimiento diferente,
y este es el resultado que obtuve! :)


Y como avance de esta semana eh estado trabajando sobre algunos mapas, que espero poderlos tener terminados para la semana siguiente, ademas de que se esta organizando una reunión para trabajar en grupo sobre el proyecto.


jueves, 18 de octubre de 2012

Mas Blender! :D

Para esta semana se nos pidió que trabajáramos sobre blender elaborando algún objeto que tuviera que ver con el videojuego que se esta realizando grupal mente.

Para esto yo intente realizar una botella.. ( que principalmente lo había pensado como una simple botella en el camino, pero después pensé que podía utilizarse como algún tipo de poción).

Creo que antes ya había hablado de blender, así que omitiré la introducción a lo que es.. xD

Bien, para iniciar con mi botella estuve haciendo un mugrero primero! xD y borraba y volvía a poner figuras y así hasta que por fin obtuve algo. Inicialmente utilice un cilindro esto para hacer el cuerpo de la botella.. de ahí fui seccionando para poder ir dando la forma a lo que buscaba..

note se que a un lado hay una figura que no se que onda! xD 

Despues de esto seleccione de nuevo solo la parte superior y reduje el ancho del cilindro... y alargue un poco.. y asi repetidamente hasta que obtuve la figura de la botella..

Aqui parece un frasco de medicina o algo así :p



Y este fue el resultado que obtuve


Botella! :D
Y le agregue una textura y esto fue lo que obtuve:




jueves, 11 de octubre de 2012

Cubo Blender

Esta semana ami me toco trabajar en el diseño de un cubo 3d y movimiento, para esto estuve trabajando con blender.

Si queremos instalar Blender ponemos en terminal:

sudo apt-get install blender

En base al ejemplo base que se incluye en blender que es el diseño de un cubo empese a trabajar con el movimiento de el mismo.


El movimiento del cubo lo maneje en 50 frames en donde en el primer frame colocamos el cubo en una posicion en el eje X y en el frame 10 lo colocamos en una posicion menor a la del frame uno, esto da el efecto de que el cubo cae asi mismo para el movimiento en el eje Y solo colocamos el cubo en otro frame en una posicion diferente, al presionar play veremos el movimiento del cubo.

Este es un pequeño video de lo que estuve haciendo con el cubo, se pueden hacer otras cosas mas con blender como el giro de objetos y cambio de forma etc.

Referencia:

jueves, 20 de septiembre de 2012

Procesamiento de lenguaje natural


Esta semana se trabajo en lo que es comandos atraves de voz y texto junto con la entrada anterior la cual no pude terminar por lo que utilizare un juego de código libre para trabajar en esto.

Esta ves trabajare en windows y la librería que encontré es pyspeech para documentación puede revisar la siguiente liga :)

Documentación

Lo que yo trabajare sera agregar otras pelotas al juego el código es el siguiente:

import sys
sys.path.insert(0, "..")
import pilas
import speech
pilas.iniciar()


def eliminar_caja(caja, pelota):
 caja.eliminar()

def agregar(A):
 pelotas = pilas.actores.Pelota * 2
 A.append(pelotas)
 return

def main():
 pilas.actores.CursorMano()
 A= []
 var = speech.input ("Salir")
 if var == "Salir":
  agregar(A)
 caja = pilas.actores.Caja(x=200)
 caja.radio_de_colision = 1
 caja.aprender(pilas.habilidades.Arrastrable)
 caja.aprender(pilas.habilidades.PuedeExplotar)

 pelota = pilas.actores.Pelota(x=-200)
 pelota.radio_de_colision = 1
 pelota.aprender(pilas.habilidades.Arrastrable)

 pilas.mundo.colisiones.agregar(caja, pelota, eliminar_caja)

 pilas.ejecutar()

main()


pilas.actores.CursorMano()
 A= []
 var = speech.input ("Salir")
 if var == "Salir":
  agregar(A)

Aquí con la librería pyspeech se manda a llamar de nuevo a la función donde se crean las pelotas y se agrega una nueva.

En cuanto al trabajo grupal estuvimos usando el programa Tiled para el diseño del mapa, aun esta en proceso.

jueves, 6 de septiembre de 2012

Automated planning and scheduling

Planeacion Logica Adaptativa

Se refiere a la creacion de estrategias o secuencias de accion que por lo general son utilizados por agentes inteligentes, robots, etc..



Para esta tarea elegi el problema de como seleccionar la ropa adecuada para un dia soleado, o uno lluvioso, etc,



Para esto es necesario verificar las condiciones climaticas del dia, ya que si en dado caso de que haga mucho calor y se seleccione un par de prendas que sean muy calurosas (chaquetas, bufandas, etc) para el usuario sera muy molesto cargar con esto o estar muriendo de calor. Entonces lo ideal es buscar la mejor combinacion de la ropa que se desea llevar durante el dia.



Referencias:
http://en.wikipedia.org/wiki/Automated_planning_and_scheduling
http://es.wikipedia.org/wiki/Control_de_versiones



Y para el trabajo en equipo trabaje con algunos companieros para elaborar un diagrama de secuencia, para esto nos basamos en el codigo que elaboro el companiero Ever en python.

diagrama


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: