Duda sobre los pads

Started by Mr Matsusaka, April 06, 2010, 10:52:29 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

hombre, esa resistencia no se ve afectada con la presion... es lo mismo que los controles remotos, tienen la misma pintura conductora... es cierto que tiene un valor de resistencia... pero no son analogicos... son pulsado o no pulsado...

yo no creo que devuelvan valores analogicos... lo que deben hacer los juegos es medir cuanto tiempo estan pulsados y en consecuencia, a medida que el contador de pulsaciones (asi como un if (key(blah)) tecla_blah++; else tecla_blah=0; ) simula presion pero no es presion es tiempo, lo que sucedes es que cuando apenas pulsas el boton pulsas y soltas muy rapido, cuando queres ejercer presion mantenes pulsado el boton mas tiempo... pero a mi no me consta que esto lo haga el pad, yo creo que es el juego...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Mr Matsusaka

Quote from: BoMbErLiNk on April 07, 2010, 06:58:53 PM
Un segundo, hats te devuelve 0 en el mando de Saturn ??

No, uso un mando tipo dual
Este:


Y me sale a 0...
El de Saturn lo acabo de probar ahora y tambien me da 0. He probado otro mando mas y me sale 0 tambien. Es posible que me de el fallo por estar programando en Linux? Ya probare mañana en Windows a ver si saco algo en limpio...

FreeYourMind gracias por tu codigo, mañana cuando me despierte y ande mas fresco le hechare un vistazo.

BoMbErLiNk

Pues si que es raro, que tal si los catalogaras por número de botones ?

--
Splinter lo que dices del tiempo esta bien, pero el mando si reconoce diferentes niveles, ahi tienes el ejemplo de la membrana, los mandos digitales no la necesitan, no tiene sentido ponerla para que no haga nada, hay folletos promocionales de pads clonicos que aseguran tener botones analogicos como el mando de ps2, de declaraciones oficiales de desarrolladoras como Konami hablando de ello y de como iban a utilizarlo en Metal gear solid 2 en los inicios de vida de la consola.

Hablaban de acciones como el apuntado inteligente, pulsando y manteniendo ligeramente el boton apuntas, si lo sueltas no llegas a disparar y vuelves al estado sigilo, si apretas más fuerte (sin soltar el boton) disparas, en este caso podrias tirarte 20 minutos manteniendo ligeramente el boton y apretar más fuerte que seguiria disparando en cualquier momento, de ser un simple contador no podrias hacer esto y después de pasarme todos los juegos de la saga, este apuntado es vital manejarlo bien.

SplinterGU

esas membranas las he visto incluso en pads de ps1... y tambien en el viejo spectrum...

sinceramente creo que es mas bien un truco... las membranas esas solo son un plastico con pintura conductora...

pero bueno, a mi me gustaria ver una especificacion tecnica real y no un comentario de una wiki o un foro...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

BoMbErLiNk

#34
El tema de la sensibilidad de botones lo puedes ver documentado en las SDL lib de ps2, tampoco digo que las membranas lo hagan todo, es solo una parte de un sistema muy ingenioso que usaron (quizas por eso creas que hay truco).

Aquí hay una explicación sobre ello :
http://www.gamesx.com/controldata/ps2pad.htm

Mr Matsusaka

He hecho pruebas en Windows y el resultado varia ligeramente. El mando de las setas me devuelve un valor para los hats de 1 (???). El resto de mandos que solo tienen una cruceta el valor que devuielve es 0, igual que Linux.

El numero de axes si me los hace bien.

Este es el codigo que uso:

[code language="bennu"]   pad_1_analogs = joy_numballs(0);
   say ("balls");
   say (pad_1_analogs);
   pad_1_analogs = joy_numaxes(0);
   say ("axis");
   say (pad_1_analogs);
   pad_1_analogs = joy_numhats(0);
   say ("hats");
   say (pad_1_analogs);
[/code]

Como digo los axis si estan bien, pero los hats me devuelve valores raros y ademas varian segun el SO.

BoMbErLiNk

Si, el 1 que te devuelve es el de la cruceta como POV cuando hay varias setas, en lugar de averiguar cuantas setas hay, sabes que hay setas porque el hat se pone a la cruceta solo cuando las hay.

Quizas podrias usar este metodo en windows y otro menos preciso en linux como el de los botones

Mr Matsusaka

Bueno, despues de hacer ciertas pruebas he llegado a la conclusion de que con las funciones actuales es imposible adivinar con el 100% de garantias cual es el boton start... Existe otra manera si obviamos las setas, y es asignandole el boton start al codigo que sigue al ultimo gatillo, pues hasta donde se siempre es asi.

Sin embargo tampoco he encontrado forma de saber que codigo de tecla tienen los gatillos sin pulsarlos previamente.

La momia que fuma

Splinter, por el Metal Gear Solid 3, doy fe notarial de que los botones se comportan como analógicos reales, lo que ya no se es si es por arte de magia potagia o como xD

Lo que es curioso es que se aprovechó en muy pocos juegos que yo sepa, solo me viene a la mente el Metal Gear y creo que en algún GTA se notaba al conducir si pisabas "a fondo" el acelerador o suave (Quiza se use en mas juegos de coches, pero nunca fui de juegos de conducción)

FreeYourMind

Os haceis un lio con la sensibilidad de los botones... Porque no jugais al World Heroes de Neo Geo, si le das rápido al boton das puñetazos rápidos y flacos y si le das con fuerza o despacio das un puñetazo fuerte, esto del 'tacto' de los botones no es nuevo ni tampoco de la era de lo analogico...

La momia que fuma

Quote from: FreeYourMind on April 08, 2010, 10:19:00 PM
Os haceis un lio con la sensibilidad de los botones... Porque no jugais al World Heroes de Neo Geo, si le das rápido al boton das puñetazos rápidos y flacos y si le das con fuerza o despacio das un puñetazo fuerte, esto del 'tacto' de los botones no es nuevo ni tampoco de la era de lo analogico...

A ver, eso que tu dices si que es lo que comentaba Splinter de usar contadores de tiempo, en realidad no te esta midiendo la fuerza con la que le das al boton ni mucho menos, sino el tiempo...si aprietas fuerte siempre vas a pulsar sin darte ni cuenta unas decimas de segundo el botón mas tiempo que si le quieres dar flojo.

Sin embargo, siguiendo con el ejemplo que ponía antes, el del acelerador en un juego de coches, puedes estar el tiempo que quieras con el botón pulsado y en el momento que te de la gana, y sin haberlo soltado en ningun momento, cargarle mas fuerte para pisar a fondo, y el juego lo detecta y actua en consecuencia. Eso es lo que digo yo que hace el mando de Ps2, y eso no se puede hacer con botones de los de toda la vida por muchos trucos de programacion que uses...

Del mismo modo, en el Metal Gear 3 recuerdo que podias agarrar por sorpresa desde atras a los enemigos (con cuadrado si mal no recuerdo), los podías retener el tiempo que quisieses, y en el momento que apretabas fuerte el boton los degollabas con el cuchillo.

SplinterGU

yo tengo los pedales de la ps2... y ninguno de los juegos da carreras que tengo hacen lo que dicen... cuando pisas, pisas, sea a fondo o no...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

La momia que fuma

Los pedales ya no se, estabamos hablando del dual shock 2, pero lo puedes ver definitivamente, si tienes a mano el Metal Gear 3, con esto:

En las escenas cinemáticas hechas con el motor del juego, se puede hacer zoom con triángulo, y se aprecia perfectamente como el botón es análogico o al menos se comporta como tal, cuanto más aprietas mas se acerca el zoom (Y con "más" me refiero a presión, no a tiempo, claro xD).

BoMbErLiNk

O con un video  ;D
www.bombergames.net/gta.wmv

Voy apretando de menos a más, en el segundo 13 ya apreto a fondo que es cuando el coche hace BRUUUM y acelero de verdad y NO se trata de la aceleración del coche al mantenerlo pulsado durante un rato, ni de la inercia, ni de nada, porque puedes hacer un arranque rápido si presionas fuerte desde el inicio.

(casí atropello al poli, EY EY EY)

FreeYourMind

Tener Hardware que complementa la aceleración de un coche en un juego de coches es tan viejuno como la vida de los juegos en si :)

No os perguntais porque el coche de Cruisn' USA en mame no para en direccion firme si no tocais la setas del teclado izq. y derecha para poder mantenerlo ? (Una pesadilla por cierto).

El Out Run arcade que utilizaba la tecnologia 'Force Feedback'

http://en.wikipedia.org/wiki/Force_feedback#Games

O el juego Cabal, que tenia un trackball para dar volteretas, que en las versiones piratas desaparecia la opcion de dar volteretas porque les faltaba esta pieza hardware :) Aunque lo adaptaron despues a un boton, ya que no gusto mucho la idea.

El hardware para hacer cosas especiales en juegos, como medir la intensidad que uno le da a los botones no es nada nuevo, los mejores ejemplos los tenemos en las recreativas.