jueves, 22 de noviembre de 2012

jueves, 15 de noviembre de 2012

Imitación computacional de texturas naturales


La idea de la textura era hacer un cielo animado
el cielo seria un recorrido de colores
por ejemplo



en el programa hace un recorrido de azul dejando el texto en blanco
para la simulación o animación de estrellas

asi en la cadena de texto se le incluye un random que imprima un punto
y por lo tanto simulara una estrella



Simulación de las stars :P


Se alcanzan a ver muy leves los puntos


código


from Tkinter import *

def onclick():
   pass

root = Tk()
text = Text(root)
i=1
while i > 100:
   text.insert(INSERT, "       \n  ")
   i = i+1

#text.insert(END, "         .    ")
text.pack()
i=1
while i > 100:
   p=i+".0"

   text.tag_add("here", p, p)
   text.tag_config("here", background="blue", foreground="white")

    i=i+1

#text.tag_add("start", "2.0", "1.13")
#text.tag_config("start", background="darkcyan", foreground="white")


for i in range(100):
        x1=random.randint(1,100)
        y1=random.randint(1,100)
        ad.create_oval(x1, 10, y1, 10,width = 0, fill = white)


root.mainloop()


Este fue el primer código sin recorrido


from Tkinter import *

def onclick():
   pass

root = Tk()
text = Text(root)
i=1
#while i > 100:
text.insert(INSERT, "                                       .                    .                    . \n  ")
text.insert(INSERT, "      .            .               .  \n  ")
text.insert(INSERT, "          .                .                 .              .  \n  ")
text.insert(INSERT, "     .          .                         .      .   \n  ")
text.insert(INSERT, "       \n  ")
text.insert(INSERT, "  .      \n  ")
text.insert(INSERT, "       \n  ")
text.insert(INSERT, "        \n  ")
text.insert(INSERT, "               .                   .                    .   \n  ")
text.insert(INSERT, "             .    \n  ")
text.insert(INSERT, "      .                   .                  .                .  \n  ")
text.insert(INSERT, "        \n  ")
text.insert(INSERT, "  .     \n  ")
text.insert(INSERT, "        \n  ")
text.insert(INSERT, "       \n  ")
text.insert(INSERT, "        \n  ")
text.insert(INSERT, "       \n  ")
text.insert(INSERT, "        \n  ")
text.insert(INSERT, "    .   \n  ")
text.insert(INSERT, "        \n  ")
text.insert(INSERT, "       \n  ")
text.insert(INSERT, "      .  \n  ")
text.insert(INSERT, "       \n  ")
text.insert(INSERT, "        \n  ")
text.insert(INSERT, "       \n  ")
text.insert(INSERT, "        \n  ")
 #  i = i+1

#text.insert(END, "         .    ")
text.pack()
text.tag_add("here", "1.0", "2.0")
text.tag_add("here", "2.0", "3.0")
text.tag_add("here", "3.0", "4.0")
text.tag_add("here", "4.0", "5.0")
text.tag_add("here", "5.0", "6.0")
text.tag_add("here", "6.0", "7.0")
text.tag_add("here", "7.0", "8.0")
text.tag_add("here", "8.0", "9.0")
text.tag_add("here", "9.0", "10.0")
text.tag_add("here", "10.0", "11.0")
text.tag_add("here", "11.0", "12.0")
text.tag_add("here", "12.0", "13.0")
text.tag_add("here", "13.0", "14.0")
text.tag_add("here", "14.0", "15.0")
text.tag_add("here", "15.0", "16.0")
text.tag_add("here", "16.0", "17.0")
text.tag_config("here", background="blue", foreground="white")
#text.tag_add("start", "17.0", "18")
#text.tag_config("start", background="darkcyan", foreground="white")
#text.tag_add("start", "2.0", "1.13")
#text.tag_config("start", background="darkcyan", foreground="white")


for i in range(100):
        x1=random.randint(1,100)
        y1=random.randint(1,100)
        ad.create_oval(x1, 10, y1, 10,width = 0, fill = white)

root.mainloop()


Aportación Grupal


he estado investigando la interacción entre objetos y monos, restricciones
creando varias capas en el tmx y cada capa asignando valores

Ejemplo
este es una parte del código del juego


   LAYER_PISABLE = 0
    LAYER_SUELO = 1
    LAYER_OBJETOS = 2
    LAYER_OBJETOS_SUPERPUESTOS = 3
    LAYER_CIELO = 4



 def es_pisable(self,fila,columna):
        #si se intenta mover fuera del mapa, no se permite
        if ((fila >= self.height) or (fila < 0) or (columna >= self.width) or (columna < 0 )):
            return False
        else:
            return not (self.capas[Mapa.LAYER_PISABLE][fila][columna])

jueves, 8 de noviembre de 2012

Respuestas visuales, auditivos y táctiles

Arduino de toques

Como funciona?

A través de una resistencia que varia su valor dependiendo de la luz recibida, aprovecharemos dicha variación para hacer un programa que encienda o apague una serie de LED dependiendo de si hay más luz o menos luz,


Material necesario para este proyecto:
1 x Arduino Uno
1 x Protoboard
1 x LDR(Resistencia de luz)
1 x Potenciómetro 10kΩ
5 x Diodos LED
5 x Resistencias 220Ω
1 x Resistencia 1KΩ
1 x Cables
1 x Transformador




Esquema del circuito Eléctrico



Conexión en la protoboard


Programación


//Aquí almacenamos los datos recogidos del LDR:
int valorLDR = 0;

//Decimos que pines vamos a utilizar para LED
int pinLed1 = 12;
int pinLed2 = 11;
int pinLed3 = 10;
int pinLed4 = 9;
int pinLed5 = 8;

//Y que pin para la LDR
int pinLDR = 0;

void setup()
{
  //Establecemos como salida los pines para LED
  pinMode(pinLed1, OUTPUT);
  pinMode(pinLed2, OUTPUT);
  pinMode(pinLed3, OUTPUT);
  pinMode(pinLed4, OUTPUT);
  pinMode(pinLed5, OUTPUT);

  //Le decimos que vamos a usar una referencia externa
  analogReference(EXTERNAL);

}

void loop()
{
  //Guardamos el valor leido en una variable
  valorLDR = analogRead(pinLDR);

  //Y comenzamos las comparaciones:
  if(valorLDR >= 1023)
  {
    digitalWrite(pinLed1, LOW);
    digitalWrite(pinLed2, LOW);
    digitalWrite(pinLed3, LOW);
    digitalWrite(pinLed4, LOW);
    digitalWrite(pinLed5, LOW);
  }
  else if((valorLDR >= 823) & (valorLDR < 1023))
  {
    digitalWrite(pinLed1, HIGH);
    digitalWrite(pinLed2, LOW);
    digitalWrite(pinLed3, LOW);
    digitalWrite(pinLed4, LOW);
    digitalWrite(pinLed5, LOW);
  }
  else if((valorLDR >= 623) & (valorLDR < 823))
  {
    digitalWrite(pinLed1, HIGH);
    digitalWrite(pinLed2, HIGH);
    digitalWrite(pinLed3, LOW);
    digitalWrite(pinLed4, LOW);
    digitalWrite(pinLed5, LOW);
  }
  else if((valorLDR >= 423) & (valorLDR < 623))
  {
    digitalWrite(pinLed1, HIGH);
    digitalWrite(pinLed2, HIGH);
    digitalWrite(pinLed3, HIGH);
    digitalWrite(pinLed4, LOW);
    digitalWrite(pinLed5, LOW);
  }
  else  if((valorLDR >= 223) & (valorLDR < 423))
  {
    digitalWrite(pinLed1, HIGH);
    digitalWrite(pinLed2, HIGH);
    digitalWrite(pinLed3, HIGH);
    digitalWrite(pinLed4, HIGH);
    digitalWrite(pinLed5, LOW);
  }
  else
  {
    digitalWrite(pinLed1, HIGH);
    digitalWrite(pinLed2, HIGH);
    digitalWrite(pinLed3, HIGH);
    digitalWrite(pinLed4, HIGH);
    digitalWrite(pinLed5, HIGH);
  }

}


En el programa se lee el valor del sensor
Si el valor es mayor o igual a 1023 no se activa ninguna salida
Si el valor es mayor o igual a 823 se activa una salida
Si el valor es mayor o igual a 623 se activan dos salidas
Si el valor es mayor o igual a 423 se activan tres salidas
Si el valor es mayor o igual a 223 se activan las 4 salidas

Aqui se realizo primero con leds, según el sensor detecte proximidad se empezaran a encender los led
una vez funcionando solo es cuestión de quitar los leds y poner el transformador

básicamente simularíamos las maquinitas de toques, donde los leds serian el regulador(potencio metro) y el transformador para dar una descarga fuerte

Aqui un diagrama no muy complejo

Ejemplo del funcionamiento en arduino







Aportación al proyecto
En esta parte se siguen incorporando mas mapas ya que se a tenido muchos problemas en la carga del juego ya que aveces no detecta las rutas de las imágenes aunque estén en la misma carpeta

también se están descargando mas sprites y personajes




Para la interacción con el jugador
Con los compañeros ya se acordó que se hiciera un movimiento random de los personajes y que al acercarse a ellos se pueda interactuar 


jueves, 1 de noviembre de 2012

Cuestiones de usabilidad en sistemas inteligentes



Ingeniería de usabilidad para la Web adaptable

http://www.springerlink.com/content/c87l5h7872762163/fulltext.pdf

Primero que es usabilidad?

Podemos definir la usabilidad como la medida en la cual un producto puede ser usado por usuarios específicos para conseguir objetivos específicos con efectividad, eficiencia y satisfacción en un contexto de uso especificado

La usabilidad, hace referencia, a la rapidez y facilidad con que las personas llevan cabo sus tareas propias a través del uso del producto objeto de interés, idea que descansa en cuatro puntos:

  • Una aproximación al usuario: Usabilidad significa enfocarse en los usuarios. Para desarrollar un producto usable, se tienen que conocer, entender y trabajar con las personas que representan a los usuarios actuales o potenciales del producto.
  • Un amplio conocimiento del contexto de uso: Las personas utilizan los productos para incrementar su propia productividad. Un producto se considera fácil de aprender y usar en términos del tiempo que toma el usuario para llevar a cabo su objetivo, el número de pasos que tiene que realizar para ello, y el éxito que tiene en predecir la acción apropiada para llevar a cabo. Para desarrollar productos usables hay que entender los objetivos del usuario, hay que conocer los trabajos y tareas del usuario que el producto automatiza, modifica o embellece.
  • El producto ha de satisfacer la necesidades del usuario: Los usuarios son gente ocupada intentando llevar a cabo una tarea. Se va a relacionar usabilidad con productividad y calidad. El hardware y el software son las herramientas que ayudan a la gente ocupada a realizar su trabajo y a disfrutar de su ocio.
  • Son los usuarios, y no los diseñadores y los desarrolladores, los que determinan cuando un producto es fácil de usar.


¿Por qué es importante la usabilidad?

El establecimiento de unos principios de diseño en ingeniería de usabilidad han tenido como consecuencia probada:


  1. Una reducción de los costes de producción: los costes y tiempos de desarrollo totales pueden ser reducidos evitando el sobre diseño y reduciendo el número de cambios posteriores requeridos en el producto.
  2. Reducción de los costes de mantenimiento y apoyo: los sistemas que son fáciles de usar requieren menos entrenamiento, menos soporte para el usuario y menos mantenimiento.
  3. Reducción de los costes de uso: los sistemas que mejor se ajustan a las necesidades del usuario mejoran la productividad y la calidad de las acciones y las decisiones. Los sistemas más fáciles de utilizar reducen el esfuerzo (stress) y permiten a los trabajadores manejar una variedad más amplia de tareas. Los sistemas difíciles de usar disminuyen la salud, bienestar y motivación y pueden incrementar el absentismo. Tales sistemas suponen pérdidas en los tiempos de uso y no son explotados en su totalidad en la medida en que el usuario pierde interés en el uso de las características avanzadas del sistema, que en algunos casos podrían no utilizarse nunca.
  4. Mejora en la calidad del producto: el diseño centrado en el usuario resulta en productos de mayor calidad de uso, más competitivos en un mercado que demanda productos de fácil uso.


¿En qué momento se ha de considerar la usabilidad?

La usabilidad debería ser considerada en todo momento, desde el mismo comienzo del proceso de desarrollo hasta las últimas acciones antes de hacer el sistema, producto o servicio disponible al público.

Antes de iniciar el proyecto es esencial tener una idea acerca de las características de los usuarios y de los aspectos del producto de mayor interés y necesidad. Teniendo en cuenta estas consideraciones de forma temprana se ahorra tiempo y dinero, dado que la posterior implementación de nuevos aspectos o nuevas interfaces de usuario implican un enorme esfuerzo adicional. Incluso una vez que el producto está en el mercado se debería preguntar a los usuarios acerca de sus necesidades y actitud respecto del mismo.


Usabilidad web

Un sitio web con usabilidad es aquél que muestra todo de una forma clara y sencilla de entender por el usuario. Aunque es imposible crear un sitio que sea claro y eficiente para cada usuario, el diseñador debe esforzarse para mostrar las cosas tan claramente como sea posible, de tal modo que reduzca al mínimo cualquier aspecto que pueda ser confuso.

Yendo un paso más adelante, el pensar en los errores que pueden ocurrir cuando un usuario está interactuando con un sitio web y desarrollar maneras inteligentes de manejar estos errores se llama diseño de contingencia, y juntos diseño de usabilidad y de contingencia pueden dar lugar a un usuario satisfecho con su experiencia en un sitio web.


Para ello se deben hacer estudios de las personas que van a utilizar el sistema

Por ejemplo

Si se va a crear una página para niños, el contenido de la página debe de ser muy llamativo para que al niño le provoque un interés

Otro ejemplo seria paginas para adultos, ya que algunos cuentan con problemas visuales, esto se soluciona con iconos muy grandes, que es lo que está pasando en la actualidad, todo es icono y lo más grande posible y entendible


Todo esto no se puede incorporar a la vez por que como el usuario puede ser sordo, mudo, ciego, daltónico, etc, nunca vas a satisfacer a todos los usuarios a la vez

Entonces tienes que crear el entorno lo más aceptable posible


Resumen. El documento describe un enfoque de usabilidad para el diseño
y la evaluación de los sistemas adaptativos basados en páginas web, centrándose en cuestiones prácticas.
Se presentará una lista de métodos, teniendo en cuenta un enfoque centrado en el usuario.
Después de haber introducido las peculiaridades que caracterizan a la evaluación de la adaptación de sistemas basados en Web, el capítulo describe las metodologías de evaluación siguiendo
las fases temporales de la evaluación, según un enfoque centrado en el usuario. Tres
fases se distinguen: fase de requisito, la fase de evaluación preliminar, y fase de evaluación de la final.
Además, cada técnica es clasificada según un conjunto de parámetros resalte la explotación práctica de esta técnica.
Para cada fase, se describen las técnicas adecuadas, dando ejemplos prácticos de
su aplicación en la web adaptable. Una serie de cuestiones que se plantean cuando se describen un sistema adaptativo, y posibles soluciones


Aporte grupal

Ahora toco Re-diseñar los mapas e incorporarlos al juego
con sus respectivas restricciones






miércoles, 24 de octubre de 2012

Movimiento natural de modelos

Seguir objeto en blender

Para el seguimiento se creo un objeto path el cual sera el riel o el patrón a seguir de la cámara

para el seguimiento en juego se me ocurría usar el modo de juego de mario o call of duty en el cual si vas avanzando que las propiedades de la cámara sean back(código)  esto es que la cámara este detrás del personaje, si llega a topar/interactuar con algún objeto, que realice el recorrido de la piedra hasta quedar en una posición donde se logra ver al personaje y al objeto




Les dejo el link por si quieren descargar mi piedra con recorrido de cámara

http://www.mediafire.com/?c1xbb9nhp4slgma

Aquí un vídeo de como la cámara sigue el vector


Aporte Grupal

Mi parte era crear algunos mapas nuevos

aquí les dejo unas imágenes
para descargarlos están en el grupo de Facebook

Otro



jueves, 18 de octubre de 2012

Modelado tridimensional de objetos

Modelado de objetos


En este caso se modelo una montaña de piedras que puede servir como obstrucción  ambientación o recurso para el personaje en el juego 
A continuación la piedra terminada
En diferentes ángulos 




Esta fue la primera piedra modelada
y ya solo se crearon algunas mas para encimarlas



Aportación del juego

Incorporar blender en el mapa (tmx) del juego

Basicamente .tmx no es más que un archivo XML que contiene todo los datos de nuestro mapa. Solo deberemos leer el archivo XML desde nuestro juego (casi todos los lenguajes tienen bibliotecas para trabajar con XML) y usar los datos como creamos convenientes

También les dejo unos recursos de piedras en tmx :D

Aquí les dejo una pagina para poder hacer objetos para el mapa 2D y algunos ejemplos
http://razonartificial.wordpress.com/category/recursos/

jueves, 11 de octubre de 2012

Gráficas Computacionales


Bucket Fill


El bucket fill hace un recorrido  en este caso esta rellenando una figura de un color, es parecida a la cubetita del paint
El recorrido seguirá hasta que se tope con algún color diferente y entonces  deja de colorear 

Una pequeña imagen

Este es el código con algunos comentarios
que pueden remplazar algunas partes o si lo toman como ayuda tal vez les pueda funcionar



  1. from Tkinter import *
  2.  
  3. class PaintBox( Frame ):
  4.    def __init__( self ):
  5.       Frame.__init__( self )
  6.       self.pack( expand = YES, fill = BOTH )
  7.       self.master.title( "BuketFile :D" )
  8.       self.master.geometry( "500x250" )
  9.  
  10.       self.message = Label( self, text = "Presiona para colorear la figura" )
  11.       self.message.pack( side = BOTTOM )
  12.      
  13.       # crea Canvas
  14.       self.myCanvas = Canvas( self )
  15.       self.myCanvas.pack( expand = YES, fill = BOTH )
  16.  
  17.       # dibuja evento de Canvas
  18.       self.myCanvas.bind( "<B1-Motion>", self.paint )
  19.       self.myCanvas.create_oval( 10,10, 100,100, fill = 'gray' )
  20.       self.myCanvas.create_rectangle( 300,200, 100,100, fill = 'gray' )
  21.      #buket()
  22.      
  23.  
  24.    def paint( self, event ):
  25.       x1, y1 = ( event.x - 4 ), ( event.y - 4 )
  26.       x2, y2 = ( event.x + 4 ), ( event.y + 4 )
  27.       #if x1 ==10 and y1==10:
  28.       for x1 in range(100):
  29.          for y1 in range(100):
  30.             self.myCanvas.create_rectangle( x1, y1, x2, y2, fill = "red")
  31.        #while event.x > 0:
  32.         #    x1++
  33.          #   while event.y > 0:
  34.           #     y1++
  35.                
  36.  
  37.    #def floodfill_queue(self, target, repl):  
  38.     #if target != self.color:  
  39.      #   return  
  40.  
  41.     #q = [self]  
  42.     #while q:  
  43.         #n = q.pop(0)  
  44.         #n.color = repl  
  45.         #for x in [n.west(), n.east(), n.north(), n.south()]:
  46.             #if x.color == target:  
  47.                 #x.color = repl  
  48.                 #q.append(x)        
  49.    #def buket(self,event):
  50.     #  if event.x ==10 and event.y==10:
  51.      #    while event.x > 0:
  52.       #      while event.y > 0:
  53.        #         paint()
  54.        
  55.    
  56. def main():
  57.    PaintBox().mainloop()
  58.  
  59. if __name__ == "__main__":
  60.    main()

Aporte al Juego


Este juego me pareció muy interesante 
ya que lo que vamos a hacer es muy parecido y podría ayudarnos a mejorar mucho
nuestro juego


También trataremos de tomar algunas ideas que se nos puedan olvidar
o poder aportar ideas a ellos para que su juego pueda mejorar mas

Otro también seria este videojuego en 3D ya que aporta algo de física
tanto interacción con los objetos como saltos y cosas parecidas


.

jueves, 20 de septiembre de 2012

Manejo de objetos por voz


Principalmente mi proyecto era de manejar el juego por voz y texto pero me faltaron algunas cosas, así que les dejare la lógica y el código solo faltaría incorporarlo :P

bueno empezaremos con el texto aquí veremos como usar en python una cadena de texto y detecta palabras claves dentro de la cadena

import sys, re
n = raw_input("Digite:")
if n.find("arriba")>=0:
          #En el juego, ir hacia arriba;
   else:
           #otra condición :P;

aquí podemos poner "quiero ir hacia arriba" y si el código encuentra "Arriba" ejecutara la acción aquí unas capturas de pantalla


Aquí pasaremos al manejo por voz
aquí les dejo les dejo el código

import speech

while True:
    phrase = speech.input()
    speech.say("You said %s" % phrase)
    if phrase == "turn off":
        break

en esta parte la unica acción a ejecutar sera que toda la voz que detecte la mande a un cuadro de texto
el cual sera el cuadro de texto que hicimos anteriormente

les dejo un vídeo para que vean como funciona

.

y ya seria todo, en la semana les subo el juego ya funcionando al 100%
y les dejo el código para que lo copien, perdón para que aprendan

Aportación al videojuego
sigo con la interaccion del mapa y del personaje
poniendo limites y rangos

jueves, 13 de septiembre de 2012

Interacción entre objetos

Animación de Bolas




Básicamente Es la animación de las bolas
te da la opción de animar cuantas bolas quieras
el punto es que las bolas choquen entre si
el código esta un poco largo, el principio del  código yo no lo codifique
me lo paso un profesor, esta parte solo crea las bolas
y yo solo programe los rangos ya que animabas las bolas y se salían del cuadro
así que tenias que dar rangos o valores para que se mantuvieran dentro del cuadro y luego ya una vez dentro del cuadro que chocaran entre ellas

Este proyecto fue codificado en C#.net
les dejo un link por si lo quieren descargar y probarlo :D

http://www.mediafire.com/?y5t2at2madpl72t




Proyecto de naves



Este juego es solo de darle al ovni!!
que nunca se muere, pero te da puntos cada que le atinas
la forma de mover la nave es simple
puedes hacerlo con los botones o con el teclado
a continuación les dejo el código echo en visual.net
y les dejo un link por si lo quieren descargar y probarlo :D

http://www.mediafire.com/?eggmq2c68rfrhkg



Aportación al vídeo juego

De momento he estado intentando meter al personaje al mapa del juego

Ya contamos con un personaje que interactúa con algunos objetos
y el mapa del juego
pero ambos fueron creados por separado
aparte de que ambos fueron creados en diferentes dimensiones
pero he tenido algunos problemas ya que el código en python tiene algunos errores
y los estoy intentando solucionar

ya solucionando lo del código intentare re-dimensionar ambas cosas para poder meter al personaje en el mapa y poder empezar a diseñar(terminar mapa y poner limites) el juego



jueves, 6 de septiembre de 2012

Resolver un problema por lógica



bueno a continuación veremos como resolver un cubo rubik por lógica!!



Básicamente los puntos para resolver un problema generalmente podrían ser los siguientes


1.-Enfocarte en este asunto con claridad. Este es el primer componente y el más importante para                                             resolver problemas.

2.-Debes entender el problema. Una vez que estés enfocado, debes analizar el problema. ¿Cuáles son los componentes del problema? ¿Qué aspectos son vitales para solucionar el problema y cuáles son superfluos?

3.-Planifica una estrategia. Cuando ya tengas un buen entendimiento del problema, empieza a planificar una solución.

4.-Ejecuta tu estrategia. Una vez que traces los pasos lógicos hacia tu resultado deseado, ¡ejecútalos!

5.-Evalúa los resultados. Al terminar de llevar a cabo tu plan, considera los resultados. Lo mejor sería que hayas podido resolver el problema.

6.-Evalúa y ejecuta. Tal vez sea necesario intentarlo varias veces para poder lograr resolver el problema.


Obviamente estos pasos tratarlos de generar en tu mente y no estar a prueba y error en la vida real
por que existen muchas personas que tratarían de probar cosas ilógicas por ejemplo que pasa si salto de un barranco puedo volar solo con mi cuerpo?, pues no!!!, ni que fueras superman o algo así!!

Entonces por ejemplo en un caso de tomar la decisión de pasarse un semáforo en rojo seria:



la aportacion al proyecto seria la historia

Había comentado que fuera Fime completamente y tener cada edificio como nivel! y cada monster del castillo(edificio) seria el encargado de ese edificio con nombre cambiado por ejemplo juan lopez, el nombre en el juego seria johnny lopez

también habrá zombies en el camino a los edificios y tendrán como trucos(tipo la flauta de mario bros) pero en vez de flauta sera un barco que te subirá o pasara de nivel sin cruzarlo, se planea que ese truco sea random del lugar donde aparecerá también las vidas tendrás que pagar por ellas y a la quinta vez la vida sera infinita hasta que se pague

espero y se entienda la idea

sino comenten para modificar o agregar


Y si el proyecto lo podíamos hacer para ipad/iphone!!!!

jueves, 30 de agosto de 2012

Estrategia Carta Blanca


Carta blanca



Objetivo

Crear cuatro pilas de 13 cartas, una de cada palo, sobre cada carta de inicio. Cada pila se debe formar empezando por la carta más baja (as) y terminando con la más alta (rey).


Estrategia

Alguna estrategia para poder ganar seria analiza detenidamente antes de realizar cualquier movimiento, por que no siempre las cartas más obvias son las mejores.
Tener al menos 3 o 4 movimientos siguientes a cada jugada por que pueden cambiar mucho la jugada siguiente.
Debes darle prioridad a la liberación de los Ases ya que este es la base, especialmente si están seguidos de muchas cartas y tratar de llevarlo a las casillas base tan pronto estén libres.
Mantén las casillas de intercambio libres o tratar de mantener varias libres por que mientras menos de ellas tengas libres, menores serán tus posibilidades de maniobrar con las cartas y la capacidad de maniobrar libremente es clave para ganar en este juego.
Trata de que no exista ningún otro movimiento antes de ocupar las casillas de intercambio.
Intenta dejar libre una columna tan pronto puedas ya que las columnas libres son más útiles que las casillas de intercambio, ya que pueden utilizarse para mover una secuencia completa de cartas como si fuera un solo naipe.
Si es posible trata de ocupar las columnas libres con secuencias que comiencen con un rey.
y tratar de no llevar todas las cartas a las casillas base o por lo menos llevarlas niveladas(tener la misma cantidad) ya que es posible que todavía te sean útiles en algunas maniobras claves.


Actividades del proyecto


Diseño Visual/Gráfico

Se tiene planeado hacer Fime completamente y tener cada edificio como nivel!
también habrá zombies en el camino a los edificios y tendrán como trucos(tipo la flauta de mario bros)
que te subirá o pasara de nivel sin cruzarlo, se planea que ese truco sea random del lugar donde aparecerá y sobre las vidas, se tendrá que pagar por cada vida

Este es un diseño explicado breve mente antes de sacar una versión mas segura a la posiblemente usada
el diseño beta esta en el facebook para evitar copyright o evitar problemas :P

hasta el momento para realizar el mapa tenemos planeado que sea con el  Liberated Pixel Cup


Diseño de Personajes

se tiene planeado lo ya mencionado antes

-Barra de vida
-Barra de Ataque
-Barra de experiencia
-Barra de nivel

El personaje solo se podrá mover con el teclado en 4 direcciones

y usar el mouse para seleccionar los items

la cargar armas se manejara por items pero nada mas cierta cantidad y para poder tener una arma nueva tendrá que dejar un espacio libre para poder tenerla

están algunas características pendientes, tenemos la idea pero estábamos viendo si se implementaran o no






jueves, 23 de agosto de 2012

Diseño/Características de personajes


Diagrama













Sobre las relaciones mi parte (Personajes) requiere mucho de la historia ay que puede variar
por ejemplo puede ser medieval, fantasía, infantil, etc.....

Los personajes tendrán:

-Barra de vida
-Barra de Ataque
-Barra de experiencia
-Barra de nivel

El personaje solo se podrá mover con el teclado en 4 direcciones

y usar el mouse para seleccionar los items

Tendrá posibilidad de cargar armas pero nada mas cierta cantidad y para poder tener una arma nueva tendrá que dejar un espacio libre para poder tenerla

jueves, 16 de agosto de 2012

Algunos Programas Para Hacer VideoJuegos :D

Construc




¿No sabes programar, y queres diseñar tus propios juegos facilmente? Construct te ayuda a construir y desarrollar un completo y entretenido entorno en el que podrás incluir personajes, crear una historia y contagiar a tus amigos con tu juego personal.

Construct, tiene que reconocer que aunque no haga falta tener amplios conocimientos , lo que si hay que tener es mucha paciencia y dedicación.

Multitud de personajes, objetos, paisajes y escenarios te esperan dentro de este entretenido programa, sacale el mejor partido y crea por ejemplo un juego sobre tu clase, donde los personajes sean tus amigos del colegio


Para gráficos 3D 2D, Modelador de Objetos
Para hacer el modelado, los grandes diseñadores utilizan 3D Studio Max, Maya, SoftImage

3D con el programa AutoDesk Maya.


Game Maker:

La estructura de los juegos se organiza por objetos, en los que podremos poner lo que sucede cuando se produce un acontecimiento externo. Se puede por ejemplo desencadenar una serie acciones cuando pulsemos una flecha de dirección, que consistirán en mover dicho objeto hacia donde corresponda con la velocidad y comportamiento que le digamos. Por otro lado, podremos hacer que si dicho objeto colisiona con otro, éste se detenga. Estos comandos tan simples y peregrinos se pueden replicar hacia casi cualquier cosa, por lo que hacer un jueguecillo interesante es coser y canta

 


Tipo de juego: Practicamente cualquiera
Web: http://www.yoyogames.com/
Precio: 25$ (18€) Versión Standard, Freeware versión Lite.
Licencia comercial: Si.
Plataforma: PC, MacOS


 RPG Maker

RPG Maker permite realizar juegos de rol occidental con gráficos old-school y sistemas de combate por turnos (aunque hay métodos para hacer también un action rpg). Su terrible facilidad unido a la cantidad de webs y material de apoyo que existe lo han hecho muy conocido desde que apareció la primera versión hará ya una década.



Tipo de juego: JRPG / Action Rpg
Web: http://www.rpgmakerweb.com/
Precio: 60$ (43€) Versión VX ó IG Maker / 30$ (21€) Versión XP / Version Trial
Licencia comercial: Si
Plataforma: PC

jueves, 9 de agosto de 2012

Buenos días a todos!!!,
Menos a todos aquellos que hacen los programas que cuando los acabas de instalar tienes que reiniciar la PC, para ellos NO!!!