Community

General and Everything Else => The Games and other Sierra Adventure stuff => Topic started by: troflip on August 22, 2016, 03:31:14 PM

Title: Why do arrow keys behave the way they do?
Post by: troflip on August 22, 2016, 03:31:14 PM
They start and stop movement instead of the "if key is down, then move" behavior common today.

Was this some technical limitation back in the day, where the keyboard drivers only produced keydown events?

Or is there some gameplay reason why this is preferable?

Nearly everyone who's tried my game (that didn't play the quest games back in the day) is confused by the behavior.
Title: Re: Why do arrow keys behave the way they do?
Post by: MusicallyInspired on August 22, 2016, 06:06:53 PM
Not surprising as people nowadays are used to the console control behaviour. This didn't make sense back in the 80s and 90s when pressing down the arrow keys for so long would tire your fingers easily. I prefer the start/stop method myself for these games. Especially since walking isn't as fast in AGI/SCI as it is in a standard action console game for instance. Sure, you can speed it up. It's gotta be possible to give it press-and-hold behaviour though. Wouldn't is just be an alteration of the keyboard capture event?
Title: Re: Why do arrow keys behave the way they do?
Post by: troflip on August 22, 2016, 06:22:46 PM
I don't think SCI has a key up event. So when you press and hold a key, you only get a "key down" event, and then the repeat kicks in, so you get more "key down" events.

Now, since I've built my own interpreter, I can do whatever I want. My current plan is to offer both as options (with hold down to move as the default) - but I think I'll also need a "run" mode, otherwise it would get tiring as you said.
Title: Re: Why do arrow keys behave the way they do?
Post by: lskovlun on August 22, 2016, 08:25:55 PM
Now, since I've built my own interpreter, I can do whatever I want.
Isn't this better left to the game/framework? I mean, you can do
Code: [Select]
(ego setMotion: 0) in a suitable location to get that effect. Similarly for the "run mode" which would be better served with suitable graphics and step sizes.

EDIT: For the record, I prefer the original behavior.
Title: Re: Why do arrow keys behave the way they do?
Post by: MusicallyInspired on August 22, 2016, 10:07:53 PM
Doesn't the mouse have a button-up event? Keyboard doesn't have that?
Title: Re: Why do arrow keys behave the way they do?
Post by: troflip on August 22, 2016, 10:25:31 PM
Now, since I've built my own interpreter, I can do whatever I want.
Isn't this better left to the game/framework? I mean, you can do
Code: [Select]
(ego setMotion: 0) in a suitable location to get that effect.

I don't think so. There's a delay before the keyboard repeat clicks in, and those key repeats are buffered too. So that makes things pretty uncontrollable.
Title: Re: Why do arrow keys behave the way they do?
Post by: Peter on August 26, 2016, 06:05:02 PM
I also thought it was weird at first but now I like it because it makes it easy to type and walk at the same time.
Title: Re: Why do arrow keys behave the way they do?
Post by: lskovlun on August 26, 2016, 06:21:59 PM
I also thought it was weird at first but now I like it because it makes it easy to type and walk at the same time.
Surely that's only an advantage in AGI? Input dialogs are modal (i.e. stop animation activity) in SCI.
Title: Re: Why do arrow keys behave the way they do?
Post by: Kawa on August 26, 2016, 06:57:26 PM
Surely that's only an advantage in AGI?
(http://i.imgur.com/quTUM8L.png)
Title: Re: Why do arrow keys behave the way they do?
Post by: Peter on August 26, 2016, 07:50:40 PM
I also thought it was weird at first but now I like it because it makes it easy to type and walk at the same time.
Surely that's only an advantage in AGI? Input dialogs are modal (i.e. stop animation activity) in SCI.
You're probably right. I forgot not all games worked like that. Not a huge fan of modal input boxes for that reason.