Floaty controls FAQ.

A place where you can chat about anything that isn't to do with games!
Post Reply
zaphod
Posts: 629
Joined: Wed Feb 09, 2005 7:33 am
Contact:

Floaty controls FAQ.

Post by zaphod »

Many people complain about such a thing, and yet many od not notice. Is it real? If so, what is the cause?

It definitely is real, and there are three things that mess emulation players up.

1) Input lag. In a real arcade game, the inputs are ALWAYS mapped directly to a region of IO memory. clicking a switch directly twiddles a bit in memory. The game program simply polls this emory location once per vblank, and decides to act on it. This creates very tight control. Older games, like SPace Invaders, has very floaty control frm te getgo because they were early efforts.

Now we wish to emulate the arcade. You have to map external inputs to emulated I/O memory. This is not possible to do in real time.WIth keyboard input, you have a keydown event detected by the keyboard. The keyboard encoder encodes this, send it over the keyboard line, and the decoder on the motherboar dconverts this back into a keydown event, which is then recieved by the program, which is then checked to make sure it corresponds to one of the game's keys, and if so, it updates the emluated I/O meory. ANd tha'ts damn hard to do in less than one vblank.

USB joypads aren't much better. Again, we have two conversions to deal with, though it's easier to check a usb devices inputs and map them quicker. And if we are converting a controller with a usb converter, it's even worse. we have to translate the controller's protocol, which is often an encoding of it's own with modern consoles. Again, we lose one vblank or more here usually.

2) Emulation lag. This is worse on some emulators and platforms than others. it's simply the delay between when the PC recieves the input and the emulated memor map is updated. emulation deficiencies can increase that significantly, and that's probably what is happening with the Raizing games. ANother source is if the input handler is relying on hardwar einterrupts, and the interrupts aren't properly emulated, then that can throw things off. A frame here, a frame there, and we are running on ice skates

3) Timer imprecision. Since PC operating systems have this annoying habit of multi-tasking, and PC clocks are often unstable, and pc devices use interrupt request lines of their own, sometimes keyup/keydown events get delayed on their way from the keyboard decoderto the program because another interrupt is happening first. and this delay is not very consistent. This results in messing up your tap-dodges. you often won't move at all or will move too far.

Emulation is a wonderful thing, and for many game types the imprecision and lag dont' affects you too much once you adjust, but for modern shmups, it makes a difference. Play on a real PCB< or a good consoel port for a better experience.

Old consoles (atari 2600, etc) handled inputs the same way that arcades did. Newre ones (psx) need to use an encoded protcol to send more button events than they have wires to send them on. But with highly optimized hardware, the controller lag on a modern console is minimal, and since many arcade plaforms themselves have 1 frame of sprite lag, no one notices anything wrong with the ports control.
User avatar
Ganelon
Posts: 4413
Joined: Tue Feb 01, 2005 1:43 am

Post by Ganelon »

Wait, what about just plain 'ol poor control algorithms that are either inefficiently coded or feature a delay that couldn't be removed without affecting other factors in movement (like acceleration and deceleration) or just the plain fact that the programmers didn't know how to code well?

After all, poor controls in the early 90's on 16-bit systems was solely due to a lack of good control-to-movement algorithms. That's why you have for example on the Genesis very responsive games like Aladdin and very sluggish games such as Normy's Beach Babe-o-Rama around the same time in the same genre.

However, some games like Castlevania retained stiffness to adhere to series traditions even though its sister series like Contra showed that fluid controls could already be achieved and used instead.
User avatar
FatCobra
Posts: 1796
Joined: Mon Feb 14, 2005 9:55 pm
Location: Tampa, FL

Post by FatCobra »

Don't forget the Mario series!

SMB1's controls were a little stiff when it came to jumping. SMB2, SMB3, and SMW improved the controls greatly.

Also, try playing the Nes Zelda after playing the GBA or SNES Zeldas. Who'd knew the granddaddy of the series had such clunky control? (Due in fact that Link could only move in 4 directions)
Shmups: It's all about blowing stuff up!
User avatar
D
Posts: 3805
Joined: Tue Feb 01, 2005 3:49 pm
Location: Almere, Netherlands
Contact:

Post by D »

My vote goes to Mortal Kombat 4 for N64

It's almost like you have to predict what someone else is going to do.................
User avatar
dai jou bu
Posts: 590
Joined: Sat Apr 16, 2005 10:05 pm
Location: Where hands connect

Post by dai jou bu »

I get that lag sometimes. It really sucks when it happens while you're fighting the last boss in Ys Felghana where I expected my avatar to jump over the boss' flame attack but ends up running into them instead. Also happens sometimes when I'm playing a fighting game and I input some commands a little bit too "soon" for the PC to process, and my character ends up standing there for 1 second and I end up having to redirect my character's momentum somewhere else.

I've gotten used to it somewhat.
zaphod
Posts: 629
Joined: Wed Feb 09, 2005 7:33 am
Contact:

Post by zaphod »

Way to be off topic, peoples. :)

SUre, bad codign in games can cause lag. Spae invaders is a PRIME example here. it controlls very badly, and that's not the emulators fault, the real hardware is just as bad.

My point was that even when the real game is perfect (as is the case in most modern shmups) that the emulation process introduces many more problems that mess with the response time and precision.
User avatar
Davey
Posts: 1605
Joined: Tue Jan 25, 2005 10:02 pm
Location: Toledo, OH

Post by Davey »

The device itself plays a big role, too. Using Mars Matrix as a test case, I find Happ PS2 stick -> USB converter -> emulator more responsive than DC Arcade Stick -> DC. But maybe it's all in my head.
zaphod
Posts: 629
Joined: Wed Feb 09, 2005 7:33 am
Contact:

Post by zaphod »

the lag could be in the dc arcade stick, but it's more likely to be in the port itself, unless you feel it's similarly unresponsive in ALL DC games..
User avatar
Davey
Posts: 1605
Joined: Tue Jan 25, 2005 10:02 pm
Location: Toledo, OH

Post by Davey »

In general, the DC stick just doesn't feel as responsive as the Happ stick, despite the fact I use the Happ stick in emulation and the DC stick only on the DC. Obviously, I could provide a better argument if I were comparing a Happ competition stick on a PC with a Happ competition stick in a cab, but unfortunately I don't have that option.
User avatar
BrianC
Posts: 9065
Joined: Wed Jan 26, 2005 1:33 am
Location: MD

Post by BrianC »

D wrote:My vote goes to Mortal Kombat 4 for N64

It's almost like you have to predict what someone else is going to do.................
I didn't know the N64 one was like that, I thought it got positive ratings. The first GB Mortal Kombat has terrible lag, though.
User avatar
Ganelon
Posts: 4413
Joined: Tue Feb 01, 2005 1:43 am

Post by Ganelon »

zaphod wrote: My point was that even when the real game is perfect (as is the case in most modern shmups) that the emulation process introduces many more problems that mess with the response time and precision.
Of course. But would you be asking then? Everything you mentioned is already undisputed fact from the creators of the emulators themselves...
User avatar
Dandy J
Posts: 726
Joined: Fri Feb 25, 2005 6:02 am

Post by Dandy J »

Aside from hardware or software-based input lag, 'floaty controls' brings one thing to mind:

The shmup portion of The Adventures of Batman & Robin for the Genesis.
zaphod
Posts: 629
Joined: Wed Feb 09, 2005 7:33 am
Contact:

Post by zaphod »

You'd be suprized at the number of people who say things like
"the lag is correct to the arcade, because the orignal hardware has 1 frame of sprite lag!"

I understand what's really going on, and am simply trying to put it into terms others can understand.

I am in no way bagging on the emualtors. I'm just explaining why they seem so lifelesss compared to the real thing on occasion.

A faq isn't me asking a question, it's me answering a frequently asked one. hence the "Floaty Controls Faq" :)
User avatar
D
Posts: 3805
Joined: Tue Feb 01, 2005 3:49 pm
Location: Almere, Netherlands
Contact:

Post by D »

what about internet lag?
I just don't understand.

we have lag with wires of controllers/converters, but what about the internet.

How can you play against a human opponent in a fighting game on the internet?
User avatar
Ex_Mosquito
Posts: 590
Joined: Tue Jan 25, 2005 11:17 pm
Location: United Kingdom, Newport S.Wales

Post by Ex_Mosquito »

i ALWAYS thought there was lagg in emulators but people were always saying there wasnt, glad i wasnt going mad. Thats why i never use usb converters, i'd prefer to hack a pad. Worst example of emu lagg i've found is on Air Gallet on finalburn pro on the xbox, omg its SOOO laggy totally unplayable.
My Arcade 1-Credit Replays
http://www.youtube.com/user/exmosquito
Post Reply