jueves, 15 de noviembre de 2012
jueves, 8 de noviembre de 2012
Respuestas auditivas y visuales
Las respuestas visuales y auditivas siempre están en un juego ya que representan gran parte del juego ese tipo de estímulos para el usuario.
Código:
Código del juego:
Código del arduino:
Imágenes:
La interfaz donde se pueden observar todos los componentes arrastrables con los cuales se realizan diferentes acciones, los cuales pueden ser bombas, cajas, pelotas y bananas. Dependiendo que se seleccione y lo dirijamos al mono este realizara una acción diferente y mandara un mensaje distinto para cada actor, también se prenderá un led de color rojo o verde dependido el actor que usemos.
la interfaz con todos sus objetos disponibles que podemos usar o arrastrar hacia el mono
Cuando usamos el actor de la banana el mono emite un sonido de risa y sonríe y manda un mensaje de "rico!" y prende un led de color amarillo ya que es algo bueno y no lastima al mono
Al arrastrar una bomba hacia el mono y golpearlo el mono emite un sonido de un grito, la bomba explota y esta emite el sonido de una explosión también el mono manda un mensaje de "muero" y por lo tanto prende un led de color rojo ya que se le hace daño al mono.
Cuando se arrastra una caja de madera en el juego igual que en la bomba el mono emite el sonido de un
grito y manda un mensaje de "oouuuch!" y prende también un led de color rojo
Y por ultimo al golpearlo con una pelota se emite un sonido de risa y también manda un mensaje diferente que dice "jajaja no me hace nada!" y se prende un led de color amarillo ya que la acción que se realiza no le causa daño al mono.
La conexión del arduino
Led rojo encendido cuando se le hace daño al mono
Led amarillo encendido cuando interactuamos con el mono de manera amistosa
Vídeo:
En el vídeo se muestran los mensajes lanzados por el mono y se escuchan los diferentes sonidos que se emiten en el juego dependiendo la acción que se realice
jueves, 1 de noviembre de 2012
Métodos de evaluación
de Desempeño Humano-Sistema de Sistemas Inteligentes
Abstracto
Los sistemas de inteligencia están en aumento la meta para las actividades humanas es un bucle
o debe ser por la eliminación, sino más bien crear una asociación humano-sistema
con mayores capacidades que los componentes individuales. Nosotros actualmente podemos
ver los sistemas inteligentes, los
operadores o supervisores de estos sistemas como componentes separados y la realización
de evaluaciones en el mismo sentido. Para que los sistemas inteligentes sean
más útiles y aceptables debemos tener en cuenta el "Sistema" como una composición de los comportamientos del software, posiblemente incrustada en un
componente físico como un robot y la interacción humana con este componente ya
sea virtual o física.
Enfoque
La IHC tradicional tiene un enfoque centrado en el usuario
mientras que otros en el campo de la automatización se han centrado en un solo
sistema de enfoque. Estamos adoptando una visión de entrada en la información. Es necesario
determinar la información del usuario tiene que entender lo que el sistema
inteligente está haciendo y cuando sea necesaria su intervención y qué información se necesita para hacer cualquier
intervención tan eficaz como posible. La parte final del el problema es en
realidad llevar a cabo la intervención evaluar correctamente la situación y dar
consejos a una acción necesaria para el sistema inteligente. Proponemos seis emisiones diferentes en la evaluación
que debe considerarse para evaluar los sistemas inteligentes de interacción:
- La información necesaria para el ser humano capaz de determinar que una intervención es necesaria?
- La información que se presenta es de forma adecuada?
- Es el lenguaje de interacción es eficiente tanto para el humano y el sistema inteligente?
- Son interacciones manejadas de manera eficiente y efectiva, tanto desde el usuario y el sistema?
- La arquitectura de interacción escala a múltiples plataformas y contraindicaciones?
- Apoya la arquitectura de la interacción en evolución desde las plataformas?
Evaluaciones de la usabilidad de los productos de software
de escritorio utilizan tres indicadores: eficacia, eficiencia y usuarios
satisfechos. Debido a la naturaleza dinámica del sistema inteligente se separa
en dos piezas de evaluación, obteniendo la información adecuada para el usuario
y el rendimiento real del usuario en el
sistema de interacción.
Metodologías de evaluación
Información de presencia y presentación
Para determinar si la información necesaria se presenta en
la forma correcta que se está personalizando en una metodología de evaluación
de conciencia situacional. La conciencia es el conocimiento de lo que está
pasando a su alrededor. La consecuencia de esta definición es que se puede entender
qué la información es importante, a fin de adquirir conocimiento de la
situación. A nivel del conocimiento de la situación se tiene la base de
percepción de la información en su entorno. Dos niveles de conocimiento de la
situación es la capacidad de comprender múltiples piezas de información y
determinar los objetivos que el usuario desea alcanzar. Una persona alcanza el
tercer nivel de conocimiento de la situación si esta es capaz de predecir
futuros acontecimientos y las dinámicas de la situación sobre su comprensión de
la situación actual.
Rendimiento de la interacción
La evaluación técnica global de conciencia situacional, es
una herramienta que fue desarrollada como un instrumento de medición para esta
metodología. Esta herramienta utiliza un análisis de tareas dirigidas a
construir una lista de requisitos de conciencia situacional para un dominio o
para los objetivos particulares. Estas consultas se construyen a medidas de los
tres niveles de situación de conciencia. Búsquedas similares a la colocación de
vehículos en un dominio de conducción mediría el nivel de conciencia.
La presencia de evaluaciones de información y la
presentación son centradas en el usuario. Las evaluaciones de desempeño de
interacción que deben tener en cuenta el rendimiento tanto entre la humana y del
sistema inteligente. Este tipo de evaluación puede llevarse a cabo como una
típica evaluación de IHC. Elaborar un conjunto de tareas construidas y explicadas
al usuario. El usuario es dirigido a utilizar la interfaz para realizar cada
tarea la experiencia del usuario puede confundir esta evaluación. En general los usuarios deben ser elegidos de una
población representativa de usuarios y dando la misma cantidad de entrenamiento
como a todos los usuarios se le daría. La medida de efectividad tiene dos
componentes el usuario que da la ejecución de la interacción correctamente y el
sistema respondiendo correctamente a esta interacción. Asimismo la eficiencia
métrica sería la suma del tiempo del usuario para la interacción y el tiempo
del sistema para que se lleve a cabo.
Apoyo a la escalabilidad y evolución
Las interacciones deben ser evaluadas utilizando la
información de presencia y presentación, y métodos de rendimiento. La
información que se muestra en cada caso y la presentación de dicha información necesita
una conciencia de evaluación. Las medidas de desempeño que sirven para garantizar
que el usuario puede identificar la interacción dentro del tiempo apropiado.
Esto será crucial si un número de plataformas heterogéneas se están utilizando.
En el caso de varias personas que interactúan con el sistema simultáneamente,
será interesante determinar cómo mostrar esa información y qué efecto tendrá
esto en la interacción.
La evaluación de la interacción de apoyo para la evolución
es más difícil, los sistemas inteligentes evolucionan y son capases de llevar a cabo más
tareas con éxito y la comunicación con usuarios en otros niveles. Esto sin duda
hará necesario volver a examinar el lenguaje de interacción, pero la
información que se necesita tiene que ser examinada también. En un nivel más
sólido de autonomía podría apoyarse como la utilización eficaz de más abstracciones
en el primer nivel de la información presentada.
Metodologías de evaluación de los diferentes roles
Las cinco funciones definidas aquí, supervisor, operador, mecánico,
compañero de equipo, y las visitantes, tienen diferentes requisitos de
información e interacciones diferentes. ¿Es factible utilizar el mismo tipo de
evaluación para medir el desempeño de todos los roles? Esperamos que el
supervisor, operador y mecánico tengan acceso a una pantalla de información
especializada del sistema inteligente. Esta pantalla puede ser una estación de
trabajo un ordenador portátil o un dispositivo de mano pequeño. Sin embargo esta pantalla dará adecuada situaciones de conciencia
a los usuarios.
Referencia
jueves, 25 de octubre de 2012
Animación en blender
En esta semana intentare mover el objeto modelado en blender de la semana pasada que fue una pistola la cual modifique y agregue mas detalles para que se viera mejor con la misma técnica que utilice la para modelar la anterior.
Lo que realice para poder mover esta ves la pistola y simular el movimiento de esta cuando se dispara
fue que al momento de volverla a modelar la separe por partes y así poder seleccionar la parte que deseo mover.
lo que fue necesario mover para la simulación fue la parte superior de color plateado y el gatillo de la pistola haciendo un movimiento hacia atrás y que regresara.
Para lograr esto agregue un "path" el cual es un camino que recorre la imagen o la parte que deseas mover
diseñando el recorrido dándole forma al "path" seccionando las aristas del mimo poniéndolas en las prisiones mas convenientes para el movimiento que se desea hacer
El inconveniente que tuve fue que mi computadora se traba al rende rizar y ver el movimiento de la pistola en una imagen mas clara y solo pude ver la animación en la visión 3d
jueves, 18 de octubre de 2012
Modelando pistola con Blender
Para modelar la pistola use la técnica de modelación sobre
la imagen que consiste en poner de fondo
la imagen que se quiere modelar y empezamos a agregar un cubo el cual le vamos
dando forma arrastrando las aristas del cubo seleccionando y dando la forma de
los bordes del objeto, al realizar esto copiamos una parte del cubo anterior y
lo extendemos hasta donde sea necesario y realizamos la misma acción modelando
las esquinas del cubo en la forma del objeto.
Al acabar una sección del objeto agregamos otro cubo en cual
empezaremos a realizar la misma acción,
cuando agregamos un nuevo objeto en la modelación es necesario pasar a la vita
3d para modelar el ancho y que quede del mismo tamaño que los cubos anteriores.
Al terminar de modelar todo el objeto seleccionamos áreas
para poder pintarlas de diferentes colores o poniendo las texturas en el objeto
ya modelado.
Como avance del proyecto modele una moneda la cual nos serviría para comprar cosas o que sean items recolectables en el trayecto del juego, así como la pistola también se puede usar en las armas del personaje.
jueves, 20 de septiembre de 2012
Interacción en juego de pelotas
La idea principal del juego de las pelotas es que puedas mover las pelotas arrastrándolas con el puntero haciendo que choque con las de más pelotas en la ventana rebotando en las paredes de la ventana.
El juego se desarrollo con el Motor Gráfico Pilas Engine, el cual hace uso de diferentes librerías básicamente junta todas estas y facilita su uso ya que pilas se encarga de la administración y todo lo necesario, las librerias usadas mas importantes son:
- Pygame: para la manipulación de los personajes, imágenes, etc
- Pyqt: para el manejo de las interfaces gráficas
- PyBox2d: para el manejo de la física de los juegos
Código:
Vídeo:
Interacción con voz
La intencion es cambiar la gravedad de la ventana por medio de comando de voz con la libreria PYSpeech que hace uso del motor de reconocimiento de voz incluido en Windows.
Al parecer la mezcla de esta librería y l motor de voz de Windows realizan un buen trabajo tomando en cuenta que la mayoría de de los programas usan apartados para el reconocimiento de voz están entrenados.
Las opciones para mover la gravedad son:
- La gravedad sea en la parte superior dela ventana
- La gravedad sea en la parte inferior de la ventana
- La gravedad sea en la parte izq.
- la gravedad sea en la parte der.
- O que la gravedad sea nula o 0
Código:
Interacción por texto
Otra opción que fue mas que nada como algo extra fue que la gravedad se moviera por medio de comandos escritos en el cual indicaras hacia donde dirigir la gravedad con las mismas opciones que en el ejemplo anterior con el cual se movía por medio de comandos de voz.
Código:
Vídeo:
jueves, 6 de septiembre de 2012
Planificación y programación automática
La planificación y la programación automática es una rama de la inteligencia artificial que se refiere a la realización de las estrategias o las secuencias de acción, por lo general para su ejecución por los agentes inteligentes , robots autónomos y vehículos no tripulados . A diferencia clásica de control y clasificación de los problemas, las soluciones son complejas y deben ser descubiertos y optimizado en el espacio multidimensional. La planificación se relaciona también con la teoría de decisión .
En los entornos conocidos con los modelos disponibles, la planificación se puede hacer fuera de línea. Se pueden encontrar soluciones y evaluados antes de la ejecución. En ambientes dinámicamente desconocidas, el estrategia a menudo necesita ser revisado en línea. Soluciones suelen recurrir a iterativo de prueba y error, comúnmente se observan en los procesos de inteligencia artificial. Estos incluyen la programación dinámica , el aprendizaje por refuerzo y optimización combinatoria . Idiomas utilizados para describir la planificación y la programación son a menudo llamados lenguajes de acción .
Ejemplo de la vida real:
En una tienda de autoservicio es importante la planificación del acomodo de los productos de venta, para que el consumidor los pueda localizar fácilmente.
La planificación para dicho procedimiento requiere de un acomodo especifico como son algunos ejemplos:
- Frutas y verduras
- Lácteos
- Carnes frías
- Enlatados
- Limpieza
- Panaderías
- Farmacia
- Ropa
Las frutas y verduras, se acomodan por categorias especificas separando principalmente por frutas y verduras las cuales se acomodan dejando juntos los diferentes tipos del mismo producto, dejando separadas las verduras que necesitan de agua y refrigeración para mantener el buen estado.
Lácteos, debemos acomodarlos en un área especifica de la tienda donde se cuente con refrigeración, los productos son acomodados por categorías poniendo juntos todos los productos del mismo tipo pero de diferente maraca.
Carnes frías, estos productos se deben acomodar también en refrigeradores separando los direfentes tipos de carnes de res con sus diferentes tipos de cortes, pollo, también con sus diferentes tipos de piezas, puerco y sus diferentes tipos de cortes , mariscos y sus derivados , entre otros.
Enlatados, se deberán acomodar por verduras y los distintas marcas del producto, legumbres también con sus distintas marcas disponibles, chiles en conserva y los distintas presentaciones y atunes dejando junto con las demás marcas disponibles en la tienda.
Limpieza, se deberán separar por jabones en polvo, jabón líquido, detergentes, desodorantes, aerosoles, escobas, trapeadores, desengrasantes entre otros, estos a su vez deberán acomodarse por marcas diferentes del mismo producto.
Panadería, deben acomodarse en una área exclusiva de la tienda, acomodando primero el pan en barra con sus diferentes tipos y marcas disponibles, acomodando después el pan dulce en los diferentes estantes,los pasteles juntos en un área exclusiva con refrigeración.
Farmacia, los acomodaremos por orden alfabético y las diferentes marcas de los productos en los estantes de la tienda.
Ropa, se acomodaran por categorías que son niños, damas, caballeros y ropa interior, a su vez se clasificaran por marcas, tallas, colores y ropa de temporada.
jueves, 30 de agosto de 2012
Semana 3
Blattle
ship
Como
se juega?
Consiste
en dos tableros que forman una maris bidimencional de 10x10 con ancho
de la letra A hasta la J y de alto del 1 al 10, en el cual colacas 5
barcos en cualquier parte de dicho tablero ya sea en posicion
horizontal o vertical mas no en diagonal.
Lo
barcos son de diferentes tamaños los cuales abarcan diferentes
casillas en el tablero teniendo:
2
barcos de 3 espacios
1
barco de 4 espacios
1
barco de 5 espacios
1
barco de 2 espacios
Una
vez todas las naves han sido posicionadas, se inicia una serie de
rondas. En cada ronda, cada jugador en su turno indica una posición
del tablero de su oponente. Si esa posición es ocupada por una parte
de un barco, el oponente indica averiado (toque o tocado) y el
atacante marca con rojo esa posición, con un pin. Cuando todas las
posiciones de un mismo barco han sido dañadas debe indicarse
hundido dando a conocer tal circunstancia que indicará al atacante
la importancia de la nave destruida. Ahora bien, si la
posición indicada, efectivamente, no posee un barco alojado, se
indica con agua, y será marcada con un pin blanco.
Quien
descubra primero todas las naves será el vencedor, pero en caso de
que el participante que comenzo la partida hunda el barco en su
ultima jugada, el otro participante tiene una ultima posibilidad para
alcanzar el empate.
jueves, 23 de agosto de 2012
Física del juego en 2D
En el diagrama se explica la física del juego con la cual
el personaje interactúa:
Espacio:
Todos los fenómenos ocurren dentro de un espacio, que no es más
que un sistema de coordenadas. Es tarea del desarrollador que el sistema de
coordenadas del espacio corresponda al de la pantalla.
Cuerpo:
Todos los cuerpos dentro de
un espacio tienen propiedades físicas. En el caso de 2 dimensiones, tenemos la
masa y tenemos la inercia. La masa es la cantidad de materia en el cuerpo, por otro lado, la inercia representa la cantidad de
fuerza que hay que aplicar en el cuerpo para que éste rote sobre su centro de
gravedad.
Forma:
La forma es la figura que adopta el cuerpo. Esta figura
puede ser un círculo, un rectángulo o un polígono convexo. En todos los casos
la forma tiene un “offset” que es el centro de gravedad del cuerpo.
Física rogdoll:
El significado de Ragdoll proviene
de las palabras inglesas rag doll (muñeco de trapo). Como su
nombre lo indica, éste es un procedimiento de animación y técnica de simulación
para mostrar el movimiento de una persona como si estuviera muerto.
El sistema interpreta las características del
cuerpo como una serie de huesos rígidos conectados entre sí, poniéndole
bisagras para simular las articulaciones. La simulación modela lo que ocurre
con el cuerpo cuando se cae al suelo, como si fuese un muñeco de trapo.
Junta:
Las juntas proveen restricciones al movimiento de los
cuerpos. Un caso que ya mencionamos es el de la barra fija a la pared mediante
un clavo. Otro caso puede ser limitar el ángulo de movimiento de esa barra.
Otro caso puede ser conectar dos engranajes. Existe una diversidad de juntas
para múltiples necesidades.
Motor
físico:
Es un
código de programa usado para simular la Mecánica newtoniana en el
ambiente.
Detector
de colisiones:
Se
utiliza para resolver el problema de determinar cuándo es que dos o más objetos
físicos en el ambiente se cruzan entre sí.
Bibliografías:
jueves, 16 de agosto de 2012
Herramientas para desarrollo de Video-juegos 2D
Como desarrollar un videojuego?
Lenguajes de programación hay muchos y de muchos
tipos, secuenciales “C,BASIC”, orientados a objetos “C++, Java, C#”, basados en
objetos, para bases de datos, lógicos, funcionales, etc; cada lenguaje se usa
para algo pero es a través de ellos que nos comunicamos con la computadora.
Algunos ejemplos de lenguajes usados en las consolas
de videos juegos y pc son:
Para el Ps3 se programa en Cg, una versión de C que le
permite a los desarrolladores enfocarse en el área de 3D, junto con una versión
modificada de Open Gl llamada Open Gl ES. Sony le provee a los desarrolladores
que lo soliciten su kit de desarrollo para Ps3, el cual cuesta alrededor de
$10,000 dolares-
En 360 se programa con C# y el XNA (el cual tu puedes
descargar gratuitamente desde la página de microsoft y hacer tus propios
juegos, claro que es una versión recortada aunque se pueds pagar por la versión
completa) y también permite C++. Como IDE se utiliza el visual studio, el cual
es una verdadera maravilla y utiliza Directx que es la librería gráfica
propietaria de microsoft.
Para portatiles como el DS y el PSP se usa
principalmente C y C++ junto con un poco de ensamblador.
Para celulares se utiliza Java el cual es muy popular debido a su alto nivel de portabilidad.
Para celulares se utiliza Java el cual es muy popular debido a su alto nivel de portabilidad.
En la computadora se utiliza principalmente C++ o en
su defecto C# si son juegos de windows actuales.
Muchos engines estan programados con C++, como el Unreal.
Muchos engines estan programados con C++, como el Unreal.
Así que como ves lo importante para aprender a
desarrollar juegos es conocer C, C++ y C# (si son para 360 o para compu),
conocer bien las librerías gráficas (ya sea Directx u Open Gl).
Pygame es un conjunto de módulos del lenguaje de programación Python que permiten la creación de videojuegos en dos dimensiones de
una manera sencilla. Funciona como interfaz de las bibliotecas SDL, y está orientado al manejo de sprites.
Dada la simplicidad de Python, se pueden crear
prototipos y desarrollar rápidamente. Esto se puede comprobar en las
competiciones que se disputan en
línea, donde es cada vez más usado. Los
resultados pueden llegar a ser profesionales.
Pygame también puede utilizarse para crear otros programas multimedia o interfaces gráficas de usuario.
Algunos motores graficos:
Este motor gráfico para XNA, está alojado en codeplex, así que además
del instalador podrás obtener incluso el código fuente por si tenéis que
adaptarlo.
La lista de características que incluye es enorme, como muestra os dejo
alguna de ellas:
- Editor visual de interfaces gráficas de usuario
- Editor visual de escenarios
- Sistema de scrpiting en C#
- Físicas de la librería JigLibX integradas
- Sistema de animación de personajes XNAnimation integrado
Motor grafico Sun Burn
Se puede desarrollar aplicaciones con algo más de ayuda, la lista de
funcionalidades que se incluye:
- Iluminación dinámica y sombras
- Texturas con mapas difuso, de relieve y especular
- Soporte sólo para windows
Cry Engine 3
Motor grafico con una licencia especial para estudiantes, y ahora, lo
ofrecen totalmente libre, para poder aprender a usar y dar rienda suelta a
nuestra imaginación
Referencias:
Suscribirse a:
Entradas (Atom)