Dedicated snap keys for each direction

Got a cool idea that should be in R'n'D? Let's hear it!

Moderators: Flumminator, Zomis

Post Reply
Anonycat
Posts: 47
Joined: Thu Mar 27, 2008 4:45 am

Dedicated snap keys for each direction

Post by Anonycat »

I'm sure you're familiar with levels that put you in a tight spot and force you to "Snap right...but don't dare move right or you die!" Have you ever accidentally reached for snap+right in those situations only to hit right a bit too early? If we had a dedicated key that registered a snap right at once (plus the other three directions), and could never be misconstrued as anything else, that would help.

The main reason I'd like these keys, though, is because most of my experience with the game has been making TASs with 1-Step mode. The new 3.3 release is largely an upgrade in facilitating this (for instance, it's much easier to push something and start moving perpendicularly on the very next frame) but now snapping things on the first possible frame is much less consistent. In 3.2.6 and before, I could issue a blank snap in the middle of a move, then keep pressing snap to iterate by 1 frame until I arrived fully in the next square, then (with the snap key still held) press the direction of choice for a delay-free snap, every time. Now, though, it waits for the move to complete in full before accepting any input, so that I'm left to try and time two keys at once, which usually succeeds anyway but there's the possibility of registering snap before step (wasting a frame, which may seem minor but it's just plain sloppy from my perspective) or step before snap (obviously not what's desired) and each miss requires a rerun of the tape. The UI could be better in this regard, and the first thing that comes to mind is having a single key to register both controls at once.
User avatar
Holger
Site Admin
Posts: 4073
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Post by Holger »

Such dedicated snap keys for each direction should be easy to add, to make TAS runs easier! Most probably I won't add this to the normal game control keys, as this would probably confuse most people. Instead, I could add it either to the "shortcut keys" menu, or add it to the setup config file only. In all cases, I think I will only support the first player -- should be sufficient, shouldn't it?

About the changes in 1-step mode, I thought that I have mainly fixed bugs there and added convenience (by allowing going on by one frame using the snap key without direction key), but I agree that from a TAS point of view the changes also have their disadvantages.
Anonycat
Posts: 47
Joined: Thu Mar 27, 2008 4:45 am

Post by Anonycat »

Null snaps for single-frame advance have been in since well before the current release--it's just that before, if you were pressing in a direction you couldn't move, it would remain unpaused and keep playing until the first chance you could move in that direction, and you could cancel the wait and return to pause by snapping. However, there's another bug I just found: in the Supaplex engine, it's impossible to place bombs without leaving 1-step mode. Apparently you can't place bombs in SP until there's no input whatsoever for a certain amount of time (enough for Murphy to return to facing down), and there's now no way to increment with a 0x00 input frame. I can't see any reason why a null snap could ever matter gameplay-wise, so I'd suggest that if a frame would have a null snap as input (i.e. if action ^ KEY_BUTTON_1 == MV_NULL), it should be treated as exactly MV_NULL.
User avatar
Holger
Site Admin
Posts: 4073
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Post by Holger »

Haven't checked those issues from your last post yet, but I'll do!

Until then, please have a look at the new version 3.3.0.1 (containing configurable, combined snap+direction keys) I've just built and released for you, and please let me know if it works the way it should! :-)
Anonycat
Posts: 47
Joined: Thu Mar 27, 2008 4:45 am

Post by Anonycat »

I first tried it and found that it didn't work (the attempted snaps ended up being full steps), but I mapped the keys to KP4/6/8/2, which I would later discover to conflict with player 2's controls. After moving those controls off of the keyboard, they work just fine.

I also made a first attempt at filtering out input frames of 0x10 and replacing them with 0x00 (to make it possible to place SP bombs in 1-step), and failed miserably, achieving nothing but a full lockout of all controls. I take it the HandleKey function is the wrong place to hook into something like that. Maybe I'll look over the diff and see if I learn how to add a fifth key, for "step frame without input."
Post Reply