Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

turn based games should also have input buffering. Just because pokemon or whatever got away with not having it (probably because d-pad makes it harder to rapidly tap 2 buttons), doesn't mean you shouldn't have it

Hmm okay. But there are separate keys for diagonal movement so you don't have to press multiple keys, so I don't really understand the issue completely. 

I did notice that if I hold down a side key and press an up or down key quickly while moving, oftentimes it gets ignored. I don't like that and I can see how that's a problem if the character is quickly moving around the map and you want to quickly steer where he is going.

But that's if you are already moving. If you are just starting to move, I'd think people would deliberately select a key for whatever direction they are going.  And everything happens immediately after you decide where to move, but I suppose that's the problem that needs to be solved.

So I guess the idea is to add a bit of time to accept more input before the character actually moves? Obviously, I can't have the player action change while the player is acting since it's turn-based.  I'm not super familiar with this but reading

https://gamedev.stackexchange.com/questions/43708/fighting-game-and-input-buffer...

It seems 5-10  frames is natural for fighting games at least. 

(1 edit) (+1)

one way to do it:

make a que data structure
every input event, if the player presses a movement key, it gets added to the end of the data structure
every "turn", if the data structure has any keys in it, it pops off the first one, and does that turn
so if i rapidly press 81616416494816 in less than a second, I can sit back and watch as the player character slowly does all those moves.

you can add limits do this, like only allowing the que to have a max of like 3.