Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Mensajes - Martinez

#16
Off-topic / Crysis supera el millon de copias vendidas
02 de Febrero de 2008, 04:25:52 PM
Todos los dias se aprende algo. No sabia la otra definicion de nicho.
#17
Off-topic / Crysis supera el millon de copias vendidas
02 de Febrero de 2008, 04:06:46 PM
Los juegos con el tiempo se olvidan, por lo que pasado un año lo mas probable es que una persona se compre un juego que acaba de salir que un juego que tiene un año pero que ya puede jugar. Si realmente necesita jugar actualizara su ordenata para ello.

Yo no digo que sea o no sea un exito, pero si no me dices cuanto ha costado hacerlo (pagar a los trabajadores,pagar licencias, crear el soporte, publicidad, distribucion...)  te dire si es un exito. Y no creo que el juegecito haya salido por menos de un millon de dolares.

Otra cosa es decir que el juego es bueno o malo, hay no me meto. Hay peliculas/series/programas que son vistas por mucha gente pero por eso no le convierte en buena pelicula/serie/programa. Y como ejemplo "Ciudadano Kane" que fue un fiasco economico grandisimo pero con los años ha sido considerada la mejor pelicula de la historia (no es que lo diga yo).

CitarAhora, no es malo que un producto esté enfocado a un nicho concreto...

Nicho???
#18
Off-topic / Crysis supera el millon de copias vendidas
02 de Febrero de 2008, 01:32:55 PM
Vender mas de un millon de copias es un exito dependiendo de lo que te costo hacerlo. A lo mejor para quien lo hizo es un exito pero para quien puso la pasta a lo mejor si no ha sacado la rentabilidad deseada lo considera fracaso. Yo creo que si sale para consola vendera mas que para PC, porque se supone que si sale es xq funciona cosa que en el PC depende que ordenador tengas.

Desconozco la terminologia de la industria del videojuego pero si consideras un hardgamer a un tio que juega mas de 20 minutos al mismo juego eso ha existido toda la vida, por lo menos antes cuando te comprabas un juego era para echarte unas horillas. Vamos yo personalmente no me gasto 20 euros en un juego para jugar 20 minutos. En todo caso seria que los casual gamers estan creciendo, pero claro depende de lo que se considere hardgamer.
#19
Programación gráfica / Problemas controlando GluLookAt
02 de Febrero de 2008, 01:05:14 PM
Los tres parametros (con sus componentes x,y z que hacen 9 parametros) son la posicion, donde mira y "donde esta arriba"(Up). El problema es el vector Up, ese vector le indica la rotacion de la camara, imagina que tienes una camara de fotos, no es lo mismo cogerla en horizontal que cogerla en vertical. Eso es lo que indica el vector Up.

Esto:
glLookAt(0,0,10, 0,0,0, 0,1,0) es parecido a glLookAt(0,0,10, 0,0,0, 0,-1,0)
solo que en esta ultima lo ves boca abajo.

El problema es cuando se da el caso:

glLookAt(0,10,0, 0,0,0, 0,1,0) aqui es cuando hace cosas raras. Tienes que evitar este caso o poner el siguiente:

glLookAt(0,10,0, 0,0,0, 0,0,1)  o 1,0,0 o 0,0,-1 .......


Segunda cosa:

Para rotaciones utiliza coordenadas circulares (2D) o esfericas (3D). En las circulares son asi:
x=R*sin(ang) y z=R*cos(ang) donde ang es un angulo en radianes.

Y si quieres rotar sobre el mismo plano debes usar la misma componenete y en los vectores pos y dir.

glLookAt(0,10,0 sin(ang),10,cos(ang),  0,1,0);

De esta forma nunca se dara el caso de error de arriba. Recuerda que ang es en radianes.
#20
Programación gráfica / Ayuda con Transformaciones en openGL
01 de Febrero de 2008, 09:14:14 PM
Esta definido en glext.h, pero mejor usa esta forma:



void MultMatrix(GLdouble *m, GLdouble *v)
{
   GLdouble r[4];
   for(int i=0; i<12; i+=4)
       r[i]=   v[0]*m[i]
               + v[1]*m[i+1]
               + v[2]*m[i+2]
               + v[3]*m[i+3];
   r[3]=1; // Este componente tiene que valer 1 sino esta mal si se usa en
              // en glVertex4dv(r);

   memcpy(v,r,sizeof(r));

}

.........
glPushMatrix();
       glLoadIdentity();
       glRotatef(90,0,0,1);

       glGetDoublev(GL_MODELVIEW_MATRIX,matrix1);
glPopMatrix();

.....


El error lo tenias en  for(int i=0; i<4; i+=1) r[i/4]....

Si cambias el for cambia el r. XDXD.

Nos vemos, Matrinez.
#21
Proyectos / Aquarotation, juego flash...
01 de Febrero de 2008, 10:55:43 AM
Juad juas "the hexagon", jeje. Vaya mareo se debe pillar el pavo, todo el dia dando vueltas. Esta muy bien, buen trabajo.
#22
Programación gráfica / Ayuda con Transformaciones en openGL
01 de Febrero de 2008, 09:04:57 AM
Las multiplicaciones hay que hacerlas con la matrix transpuesta. Te pongo un codigo de ejemplo

Nota: otra forma de hacerlo en mi segundo post. Esta forma necesita glext.h

void MultMatrix(GLdouble *m, GLdouble *v)
{
   GLdouble r[4];
   for(int i=0; i<12; i+=4)
       r[i/4]=   v[0]*m[i]
               + v[1]*m[i+1]
               + v[2]*m[i+2]
               + v[3]*m[i+3];
   r[3]=1; // Este componente tiene que valer 1 sino esta mal si se usa en
              // en glVertex4dv(r);

   memcpy(v,r,sizeof(r));

}

//........

glLoadIdentity();
GLdouble matrix[16];
glGetDoublev(GL_TRANSPOSE_MODELVIEW_MATRIX,matrix1);
// .......

glPushMatrix();
  glLoadTransposeMatrixd(matrix);
  glRotatef(180,0,1,0);
  glGetDoublev(GL_TRANSPOSE_MODELVIEW_MATRIX,matrix1);
glPopMatrix();

GLdouble v1[]={-2,-1,0,1};

MultMatrix(matrix1,v1);
//....
glVertex3dv(v1);
//.....




Puedes trabajar con floats, solo tienes que cambiar los tipos y las funciones por glGetDoublef, glVertex3fv.
#23
Proyectos / KOBOX - ¡Déjalo K.O!
01 de Febrero de 2008, 08:49:26 AM
Oki vale. Pero habia un error porque aparecia el reloj contando cuando estaba combatiendo y se reseteaba cada vez que actualizaba la pagina de tabla de entrenamiento. Ahora solo muestra el tiempo que queda y no corre.  :P  :P Eres rapido solucionandolo !!

POR UN MINUTO estube el 1º!!! Pero volvi al 4º puesto, y lo peor no me he enterado hasta esta mañana por que le di a combatir y apage.



EDIT: Ya se dnd esta el error. El javascript no tiene encuenta los segundos, por lo que si actualizas antes de que haya pasado un minuto parece que comienza la cuenta de nuevo. Realmente da la sensacion de que no actualiza.
#24
Juas juas yo pensaba que era para el juego!!! XDXD

Pero no me dijiste que lo segundo!! (creo que no llegue a entenderte). Bueno no iba mal encaminado con lo de las teorias de colas, ya que se usan distribuciones exponenciales, entre otras la de Poisson. Me alegro que lo hayas solucionado.

Nos vemos.
#25
Esto es de lo mas simple y menos estadistico:



vector<int> llegadas;

int min_cph=2, max_cph=4;

int nHoras=4, nClientes;

for(int h=0; h<Horas; h++)
{
    nClientes=rand()%(max_cph-min_cph)+min_cph // Un numero entre 2 y 4
   for(int c=0; c<nClientes; c++)
   {
       llegadas.push_back(rand()%60 + h*60); // Numero de 0 a 59 mas la hora
   }
}

// y ahora a ordenar!!!

bool cambio=false;
do
{
  cambio=false;
   for(int i=0; i<llegadas.size()-1; i++)
   {
         if(llegadas[i]>llegadas[i+1])
         {
              int aux=llegadas[i];
              llegadas[i]=aux;
              llegadas[i+1]=aux;
              cambio=true;
         }
    }
}while(cambio);





Puede que haya errores xq no le he probado. El numero de clientes por hora es aleatorio con un minimo y un maximo.
#26
Si lo he entendido bien lo que necesitas es aplicar la teoria de colas (suena raro pero es asi), estoy refrescando la memoria que hace tiempo que me examine. En resumen seria una probabilidad que aumenta cada tiempo, es decir "probabilidad de que llegue un cliente en el minuto 0 es 0.2344" que llege en el minuto tal es....

Lo miro y te cuento.


Otra cosa mas simple es generar un numero aleatorio de 1 a 60 tantas veces como clientes por hora quieras. Por ejemplo array de 2 horas con 4 clientes hora:

1 - 35
2 - 42
3 - 12
4 - 27
5 - 05 + 60=65
.....
#27
Proyectos / BUG BUG!!!!!!!!!!!!!!!!!!!!!!!!!!!
31 de Enero de 2008, 10:07:59 PM
Las horas de entrenamiento no estan bien, se resetean cada vez que le das a Tabla de entrenamiento. Puede que solo sea el javascript que se le ha ido la pinza, o que la BD no actualize. Para mas info ahora estoy combatiendo, a ver si puede ser por eso.
#28
Proyectos / KOBOX - ¡Déjalo K.O!
31 de Enero de 2008, 07:29:46 PM
Una cosa RobiHm podrias poner que las actualizaciones de los combates fueran cada 30 segundos y no cada minuto. Haria los combates mas interesantes y los usuarios estarian viendo el combate por lo que se pueden fijar en la publi y pinchar. Por que como hagan como yo que le doy a combatir y cambio de ventana pocos se fijaran en la publi.

No es algo que debas hacer ya, primero soluciona otros fallos o implementa nuevas cosas. Ya que creo que la visualizacion de los combates podria hacerse mas atractiva, poner mas comentarios ya que se vuelven monotonos... no se mas chorradillas como la puntuacion, el estado...
#29
General Programadores / Problemas con el input de SDL
31 de Enero de 2008, 07:15:52 PM
Segun esto: http://docs.mandragor.org/files/Common_libs_documentation/SDL/SDL_Documentation_project_en/sdlgetkeystate.html

se debe llamar a SDL_PumpEvents para actualizar el array de las teclas. SDL_PollEvent y SDL_WaitEvent lo hacen internamente por lo que no es necesario. Puede que sea eso, que a veces si esta actualizado y a veces no.

La verdad es que no entiendo el movimiento del PJ y por que compruebas todos los casos.
#30
Proyectos / KOBOX - ¡Déjalo K.O!
30 de Enero de 2008, 03:35:17 PM
Pa que contratas otra hora si ya tenias 7!!! Claro luego voy a entrenar y estan todos los gimnasios ocupados... si es que.... XDXD

Vaya pues a ver si te lo puede arreglar. Por cierto matriax cual es tu boxeador???





Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.