Friday, September 6, 2013

Controls

If there's one thing that can ruin any platformer, it's bad controls. 

The most common problem I run into is that developers divide up the player's actions between too many keys. At most, you should only have to concern yourself with three "action" keys. (non-directional keys that are easily accessible and consistently used during gameplay) Any more than that and the player will either have to use their pinky finger, or move their hand around the keyboard, which can easily lead to missed keystrokes.

Keeping in mind that the jump key should almost never be assigned to pressing "up", this means that you only really have two "action" keys to work with if you want to keep the player's left hand stationary. (And accurate)

In Kurovadis, for instance, melee and ranged attacks were assigned to the two action buttons, rolling was assigned to up and down (which each behaved differently), both ranged and melee attacks had a charged version, and you could do a downward punch by pressing down and attack. In total, that's 7 actions on two action keys, 8 if you count the fact that holding the ranged attack button makes you strafe.

Now imagine if there was a button for melee, a button for stronger melee, a button for a downward attack, a button for ranged, a button for a stronger ranged attack, a button that toggled strafing, and a button for rolling, 7 keys keys all on the left side of the keyboard. As you can imagine, it would get tiring pretty quick, and chances are you would only use the normal melee and ranged attacks, because the other buttons would be too out of the way. Hell, I've seen games where there are five action keys lined up horizontally. It's as bad as it sounds.

Of course, this is all because of the keyboard. With a controller you can get away with a lot more buttons, but there's something to be said for simple and intuitive controls, and for someone like me, I generally need to optimize the control scheme for PC anyway.

This game's controls..

Which brings me to my current game and it's controls. The player has three actions they can perform.
-Weapon 1 (can assign any weapon or spell)
-Weapon 2 (can assign any weapon or spell)
-Back dash

The problem comes with the back-dash. With the two "action keys" taken up by the two attacks, I need to apply it to something else. Here are the options..

-Back-dash by pressing up. (up is not used by anything)
-Back dash by pressing down and jump (will remove the ability to jump while holding down, forcing the player to release down just before jumping)
-Replace one of the action keys with the back-dash, assigning the second attack to up+attack (removes the ability to use this attack while crouching, on controllers)
-In an X,C,V setup, assign back-dash to the spacebar. (won't interfere with finger placement as much because it uses the thumb, but may not be as comfortable for some people.)
-Another option would be to double tap jump. (sort of like Castlevania X/Rondo of blood)

Looking at the options, the up key seems like the most sensible choice, since it doesn't really interfere with anything important (Unless you're using a joystick, maybe). I would have used the up-key to activate objects or enter rooms, but something like that can be assigned to a less important button, such as enter. I suppose I'll see which I prefer as development goes on.


Baaack to work...Currently animating an enemy per-day.





67 comments:

  1. I think it's not really a problem to make special button for back-dash. I usually place such command on LShift, Space or Num 7 (I use Num4-Num6 as main buttons).
    Also, you can set back-dash (and normal dash if you have such) to direction button's double tap.
    And another one. About Down+Jump. It won't really force you to release it. Usually, if you press jump twice - first will start backdash and second will start a jump.

    ReplyDelete
    Replies
    1. The back-dash is based around the idea of moving backwards quickly yet maintaining your direction.

      With a double tap for back-dashing, you would have to double tap one direction (changing your facing direction), wait for the right distance, press the opposite direction, and then attack.

      With a button, you just press it and then press attack when you're at the right distance. Much easier to use.

      Delete
    2. That's so, but dodge most used from attacks anyway. And you can't change direction while attacking. So you always know if player is trying to dash backward.
      Well, special button for backdash is prefered anyway. It's 50-100ms faster to input.

      Delete
  2. Feels like you're on a friggen roll right now(too me at least).

    I'm thumbs up for the back-dash with UP button.

    ReplyDelete
  3. I actually think that pressing up for jump is the most intuitive way to go. Fighters have been doing that for a long while and it works perfectly well. For dashes, Shift seems to be much more intuitive than up or down, and the spacebar for jump.

    Also, instead of the arrow keys for movement ASDW is much preferable for me, with action keys on the right, since most people are accustomed to move with the left hand and do stuff with the right.

    ReplyDelete
    Replies
    1. Pushing up for jump is TERRIBLE for platformers. It's why you haven't seen it done in any platformer since the shitty Amiga platformer days.

      Delete
  4. I personally have never had a problem with games that use four buttons; I usually use two fingers, and assigning two keys per finger works pretty well.

    But of the possibilities you listed, I'd probly go for either backdashing with space or backdashing with up.

    ReplyDelete
  5. I don't back dash, run in and tank it!

    ReplyDelete
  6. I think you sohuld follow the control scheme on Unholy Sanctuary. That game allowed you to change the controls however the (released version) controls are all set in the ASZX square (yeah the A and the S are a bit too much). However the game also features a backdash that is used by the shift key. I think either shift or spacebar would be good options for that.

    ReplyDelete
  7. Backdashing with up sounds kind of unintuitive to me, but I also think that it would be easier to use when I get accustomed. I hardly ever use backdash in most sidescrollers, and that's messed me up in more than one castlevania boss fight.

    Down+Jump sounds more intuitive, but also harder to activate. Can you backdash out of attacks, like how Metal Gear Rising let you dodge-cancel? That would be totally awesome. It's always frustrating when I hit dodge and the character just stands there with their weapon out and lets the monsters smack them in the face.

    I'm really finding these updates interesting, I hope you keep blogging about this new project.

    ReplyDelete
    Replies
    1. You can crouch during an attack (into a crouching attack), jump during an attack, and dash from an attack.

      It's more or less my intention for limitations to interfere with the player as little as possible.

      Delete
    2. Thats interesting. One of my favorite parts of the Castlevania 2D series is all of the fun different ways you can cancel attacks. SotN had aerial attacks cancelling on landing. Aria/Dawn of Sorrow added in being able to backdash cancel your grounded attacks, which you could then either cancel into another grounded attack (which was not dash cancellable) or a jump (which could lead to bursts of aerial attack (land cancelled) -> grounded attack (backdash cancel) -> jump -> etc). One exception to the land cancel aerials in the Sorrow games where large weapons (greatsword/axes/whips/spears/etc) which would have slow start up and a greater attack arc/range, but did not cancel on landing (although you COULD immediately backdash cancel).

      The REALLY fun part is when later on in the game you unlocked the ability to have two different equipment slots you could swap on the fly. The swap wouldn't actually stop the animation for an ongoing attack, but what you COULD do is swing with a large weapon in the air, instantly swap off to a lighter weapon, and then have your large weapon animation cancel on landing. And then you could instantly attack from the ground (either with the lighter slot weapon or by swapping back into the larger weapon on landing), backdash cancel the attack, and then jump cancel, lol.

      That trick specifically wasn't as powerful as it sounds on paper, but it was a ton of fun to figure out and to have that little added mobility.

      Delete
  8. Move with WASD, action keys are IJKL... We'll say K is jump, L is Weapon 1, I is weapon 2, and J is backstep...

    IMO, they shouldn't be using both weapons at once when they're jumping unless they're chargable... and if you're gonna have that style of gameplay, maybe you actually wanna design for controller instead of keyboard and adopt a control scheme similar to the Megaman ZX games or something.

    ReplyDelete
  9. as long as a controller works im satisfied, customizable buttons obviously a plus.

    ReplyDelete
  10. If possible, I think pressing down, and then back would work well for backdashing on a controller.

    ReplyDelete
    Replies
    1. Then you wouldn't be able to turn while crouched.

      Delete
    2. What if the back dash only works when you press down then back really fast like a hadouken, while pressing down then back slightly slower will let her turn while crouched? Then again, I guess if there are times you want to crouch and turn really fast to attack low or something, you might just back dash right into the enemy.

      Delete
  11. I'm partial to 'shift' for run or a dash and 'z' 'x' 'c'. then of course directional key. but I really hate directional up for jump

    ReplyDelete
  12. Down+jump wouldn't be a bad choice.

    I'm also down with XCV+space because I commonly use that when I'm playing platformers on the keyboard.

    Double+tap jump could be interesting too. Depending how long you allow for input, you could have some creative ways for players to avoid attacks (they'd be able to dodge a horizontal attack and then a vertical one if they timed it right) but then things like a regular double jump wouldn't be feasible.

    ReplyDelete
  13. You do have your thumb, and for something like backdash, a single dedicated and easy to access key like space (or, slightly more awkwardly, shift) seems like a way to go. For quick GTFO escapes.

    ReplyDelete
  14. i think the space button should be the back-dash, it seems like the best place for it without having to many buttons and maybe you should put in a "slide" (jump while crouching like the DS/GBA castlevania games) as well? :3 oh and a random q but what is everyone fav castlevania game? mine is the very first i played being lament of innocence :3

    ReplyDelete
    Replies
    1. The first I played is my fave, Super Castlvania IV on the snes, and may I say that reading your comment makes me feel old.

      Delete
  15. I can picture playing on keyboard with Z, X, Left Shift, and Spacebar all being used as action buttons without too much trouble.

    When emulating I sometimes use Numpad 0 too. I can see it as a backdash as thematically it makes sense in my head because it's near the arrow keys which are your primary grounded movement options.

    ReplyDelete
  16. Customizable controls. Everyone wins.

    ReplyDelete
    Replies
    1. http://imgur.com/gallery/EgxVf6C

      Delete
    2. Well, yes and no.

      Yes controls should always be re-bindable, but no it isn't an excuse to assign actions to 6 different buttons when they could be assigned to 2.

      I do still need to take the time to implement customizable gamepad controls one of these days, though.

      Delete
    3. I really hope you get that working so I can start playing your games again, heh...pressing 2 arrow keys and another button makes my new computer get confused >.>

      Delete
  17. Pressing the up directional command to do a dash backward feels very counter-intuitive to me. A number of games have commonly used shift for this very function, but I can agree that it's a bit out of the way as far as key placement.

    I can very much agree with using the spacebar, though, or with holding down and hitting jump.

    ReplyDelete
  18. Have you played/heard of Dungeon Fighter Online? It's a beat'em up mmo.

    The controls are like from a fighting game. And there's a lot of skills so there's a lot of key combinations.

    There's 4 buttons used in the combinations: Normal attack, special attack, jump and some special action button.

    Because there's so many skills, many combinations require you to doubletap direction keys. Example: Up, forward, forward, special attack.

    Well, you should just check Dungeon Fighter Online wiki for all the skills key combinations. They seem to have videos of what the skills look like too.
    (btw Slayer is the coolest class ever)

    ReplyDelete
    Replies
    1. That kind of thing makes more sense for game's with multiple special attacks or skills. This game doesn't have anything like that. (Eroico had a move that was executed via the basic hadouken combination, though)

      Delete
  19. For as much as I might also get on the "customiseable controls" bandwagon, down+jump seems to be a relatively intuitive setup for backdashing.

    Whatever it is, it'll be great if we know that it's there... this coming from a guy who didn't know Kurovadis even *had* a melee button until I saw a video walkthrough.

    ReplyDelete
  20. Are you unable to let us map the controls?

    ReplyDelete
    Replies
    1. No, it has mappable controls. But limiting the number of keys you have to use is a different thing entirely.

      Delete
  21. What about having a double tap to dash? so pressing forward or back twice, it wouldn't be a proper backdash but it should be fairly simple and not add unnecessary buttons.

    ReplyDelete
    Replies
    1. To quote my first response,

      "The back-dash is based around the idea of moving backwards quickly yet maintaining your direction.

      With a double tap for back-dashing, you would have to double tap one direction (changing your facing direction), wait for the right distance, press the opposite direction, and then attack.

      With a button, you just press it and then press attack when you're at the right distance. Much easier to use."

      Delete
  22. Double tap works in fighting games because you can't manually change the direction you are facing. In a platformer you can.

    ReplyDelete
  23. Hey Kyrieru, have you already checked out Vita Great Escape? It's a RoR sidescroller that just came out, and it has great controls and mechanics. I think you will be very interested in trying it out if you haven't already! It's DLSite ID is RJ120676

    ReplyDelete
    Replies
    1. Yeah, bought it, played it, was really disappointed.

      The gameplay was adequate and the graphics were great, but the H content was awful. A lack of enemies, and only really like 3 H animations considering how many were re-used. Pretty disappointing.

      Delete
    2. I haven't played the full game yet, and it's true that the work in the h-department was lazy, however the gameplay was fun and i'm glad to know more people are starting to make an effort to create unique and fun eroge games, instead of more CG galleries, RPG Maker games or MGC rip-offs.

      Delete
  24. WTB web trap situation which sees the PC partially cocooned.

    ReplyDelete
  25. What about pressing both attack buttons at the same time, a la old NES games?

    ReplyDelete
  26. You could assign backdash to the Left Shift, so they can just use their pinky finger or shift a finger to it. Most people wouldn't have a problem using that. If you're giving the character a backdash, may I suggest unique attacks during a backdash?

    ReplyDelete
  27. Can you add an option to pay using Stripe for those of us who refuse to use Paypal?

    ReplyDelete
    Replies
    1. I wouldn't but I wouldn't really know how to implement it. I may look into that sort of thing in the future.

      Delete
    2. Yea, I've had problems with them lately. Not that I trusted them much before, but they're the big guy.
      But especially after seeing what happened to Kajio...it'd be good to have alternatives. Never know, one day they might cut you off as well.

      Delete
  28. This is kind of off topic, and maybe you already know about it.

    http://www.youtube.com/watch?v=MoZlMGU99qk

    Looks like Unity is going to get in house tools to manage 2D development. I'm all giddy about this so I thought I would share ^_^

    ReplyDelete
    Replies
    1. Well, the thing about my games is that at their core they are actually very simple in terms of mechanics. At this point I can more or less do anything I need to with GM, and it supports pretty much every kind of export available, so I don't really see myself using anything else in the near future.

      However, if I use unity, it will be because I'm taking a shot at 3d games, which will happen at some point.

      Delete
  29. I wonder if you've considered controller support... and the bags of troubles that brings. Ability to map keys in settings is also an option. For dashes, if you wanted to remove the three key rule, you could use ZXC for what you need and A/D for quick dashes left or right, incase someone needs to dodge an attack behind them.

    ReplyDelete
  30. Simple solution: up, left shift, and space all work for backdash, with checkbox options for crouch+jump backdashes. The checkbox means that you wouldn't need to figure multi-key rebinds, just have the checkbox be for 'jump key plus crouch key equals backdash'.

    The three key rule is, by the by, absolute brilliance. Ignore any and everything telling you otherwise. Left-shift or space for commands that aren't going to be used constantly (NOT jump or basic attacks, of course) would be possible, but it'll potentially cramp someone's hand up after too long. SDF rather than XCV might make SPACE a bit easier to hit, as it'd be less hand-clutter, or ASD if you want the LSHIFT key and SPACE key to both be accessable... but the issue is that keyboards have differing designs as well when it comes to such keys, so it may not work out either way...

    I think UP for backdash will do nicely, though-- maybe SPACE for action-key. UP seems unintuitive at first glance... but so did the UP/DOWN roll buttons for Kurovadis, which was actually brilliantly fluid control. I mean, you could always have any non-bound key backdash, so someone can hit the ANY KEY to backdash. Would make missed keystrokes useful, but that's probably a bit too strange of a design idea.

    By the by, amazing work on Kurovadis and Erico-- not only are they leagues above any existing H-game around in their atmosphere, control, fun-factor, sound, etc. etc.... but their gameplay is solidly on-par with the gameplay of the classics that their gameplay draws from. In Kurovadis, especially, though, the profound sense of control is so tangible that you get the same sense of awe at your own movement as not just Mario games, but even something more in-line with, say, Mirror's Edge. It's just fun to -move-, and that's hard to pull off without just making a character super-powered or the like. I mean, nothing, from the camera to the invincibility frames to the hitboxes of enemies, has any even remote lack of polish. There's never a moment where you feel like [you,] the creator has become sloppy or left something unaccounted for. Enemy variety, combat mixups, AI, I mean, it's absolutely incredible just how high you set the bar for your quality.

    There are less than 10 games that I've played for over 200 hours, and Kurovadis is certainly solidly one of them. Erico was a wonderful display of just how engaging you can make melee combat, but I just relate a bit more to a female protagonist. ^^

    I'd suggest selling t-shirts or something, but... it occurs to me that such miiiight not be the best idea for H-games... Still, there's likely something that you could sell as swag to fans, maybe some art posters or something? Donations are all well and good, but maybe something to entice some of the tighter purse-stringed fans to chip in could go a long way-- indie development's tough work.

    ...see, this is why I didn't comment when Kurovadis first came out-- babbling for days here... ._.

    ReplyDelete
    Replies
    1. Haha, well, that's some pretty high praise.

      I'm looking forward to when I eventually do a sequel to Kurovadis, so I can flesh it out a it more. There are quite a few mechanics that I was unable to implement at the time.

      For instance, if there's one thing that wasn't great about Kurovadis, it's that it had the foundations of a game with exploration, but didn't actually have all that much, and was pretty linear.

      Delete
    2. I've done bits of programming, made some tiny games, edited sprites, animated objects, done some minor sound editing, and even made, like, 3 non-hideous drawings... all of which are tasks of monumental effort, patience, and practice-- I greatly respect the sheer amount of energy that goes towards even attempting one, to say nothing of managing not just all of them, but all of them brilliantly and to the point of completing a full game.

      Talent isn't what makes such remarkable projects come to fruition, it's pure willpower; the drive and dedication to just work at everything to the best of one's ability, and, if that's not enough, to even work at having a /better/ best of one's ability.

      But enough, before I simply start transcribing inane fan-girl screeching... yes, I do rather see, to a degree, what you mean about the lack of exploration, despite the groundwork. Having that 'feel' of exploration, in my experience, curiously didn't negatively affect the game-- despite being linear, it never quite felt like you were trapped in a series of events... perhaps the overall atmosphere made those mechanics 'fit', despite being technically superfluous to a linear game? The only notable exception I can really point out would be the laser weapon's location lacking an accompanying boss... but I still actually wrote that off as just 'get the final weapon before the final boss as to have time to use it', or even just as a 'stylistic curve-ball'. It didn't even strike me as due to time constraints or to end the game sooner, as it game itself just felt immense for its kind.

      Irrelevant question to anyone, though: what is 'url' for in the 'reply as' section? Is that for non-listed contact means? I mean, clearly, I'm going some weird inverse route of anonymity here, but I must find the button-intents...

      Delete
  31. Still don't know what's wrong with up for jumping. Seems the most natural pick to me, down you crouch, up you jump.

    ReplyDelete
    Replies
    1. You must remember that Kyrieru isn't making a brawler of a fighting game: it's a platformer, and in any decent platformer the jump is in the action buttons instead of the up key, because it's more comfortable to use and prevents missjumping.

      Delete
    2. It makes for imbalanced hand-to-action distribution. If, say, a console game made you jump by pressing in the thumbstick you use to move, that's uncomfortable for the same reason-- too much crowding on the same area. That's why A-button is oft used, or, in games where one must move, jump, and shoot at once, it's even mapped to a trigger. Now, while such was inevitable for classics on the NES or the like, they still tried to be reasonable (hitting B to fire whilst A was needed to jump in Megaman was still easier than trying to use Up to jump whilst hitting B to fire, if you've ever played around with emulator gamepad bindings).

      As you don't backdash /while/ moving, but /instead/ of moving, it would fit the up key a bit better than jumping, from a standpoint of ergonimics, if not necessarily intuitivity.

      Delete
  32. Up for jumping is awkward when you're trying to do back and forth wall jumping and other difficult platforming bits. And is ridiculous on joysticks. Always have hated up for jumping in any game. Especially with joysticks.

    ReplyDelete
  33. Down + Jump seems sketchy. Losing the ability to jump while ducking as you mention doesn't seem as bad as players forgetting during tense moments that this activates the back-dash, putting you into potentially more trouble when what you really wanted was to jump.

    If Up isn't doing anything right now, but might be used for navigating through doors/portals/screens/whatev, why not key the back-dash to Up + Jump? Sometimes, you'll accidentally change areas when you meant to dodge, but the player is achieving the goal of avoiding the attack either way.

    ReplyDelete
    Replies
    1. My only complaint towards the down + jump schema would be that the similar feel to Castlevania controls would have veterans attempting to slide-kick... only to move in the opposite of their expected direction.

      Although, that really just makes me wonder at the possibility of having a slide-kick to match the back-dash, now...

      Delete
  34. I bought both Eroico and Kurovadis.

    I bought even Nagai Yamiji (author should thank You for that).

    I tried more games from links to the right - all greatly inferior to Your ones.

    I will CERTAINLY buy your next game, so keep up good work !

    ReplyDelete
    Replies
    1. I...
      I....
      I.........
      I am ching ching

      Delete
  35. Äähhmm . . . I really don´t want disturb but . . . do you know perhaps when could come the next demo ?? -°.°-

    ReplyDelete
  36. Hmm, don't really know, to be honest. Not for a while yet, anyway.

    ReplyDelete
    Replies
    1. I was wondering, are you planning on updating Eroico some day? I really felt dissapointed that the ghost didn't have an h-animation or CG, and there were some bugs that never got fixed, like that an escape bar appeared when the vampiress bit you, and some more i don't quite remember.

      Delete
    2. Yeah, I didn't mind too much but I was a little disappointed when I let the ghost girl kill me just to have a normal game over... she was cute.

      Delete
    3. Oh god, you guys. She's a ghost, let her rest in peace.

      Delete
  37. Have you played the second TouhouVania game?
    That used down+jump for a small backwards jump, double tapping jump would also make Sakuya (the player character) toss a knife for some quick damage.

    ReplyDelete