Skip to main content

Key Bindings

Nothing is more frustrating than being unable to set the controls of your newly bought game to your liking. I tried out Dead Space two weeks ago. The first thing I always do in a 3D game is rebinding all my actions to the numpad. I've played like that for over ten years. So it annoyed me greatly that I can not rebind any key to the numpad. Bloody hell!

No problem I thought I'll plug in my gamepad and play with that. Only to see that my character keeps on turning. The same problem occurred with the new Batman game. Looks like these games only work with an Xbox 360 controller. No, I'm not gonna spend €30 on a controller for a game I spent €5 on. At least Batman: Arkham Asylum worked flawlessly with the mouse & keyboard. But too often console games are ported in a hurry. Sometimes the port is done so lazily that even the on screen commands aren't changed. If you're playing with a keyboard you'll see "Press x on your controller".

I could use an external interface program that catches the keys and sends them to the game as a different key. But I really can't be arsed to spend an hour rebinding my keys while I could use that time to play a game that does allow me to bind my keys wherever I want.

Some games set a nice example. I could bind all my actions to the numpad in World of Warcraft. I could even bind my actions to a combination of alt/ctrl and numpad. Binding control to my mouse thumb button gives me easy access to 36 actions. More then enough for any game. If your game needs more then you should take a good look at your interface.

Developers often seem to forget that not everyone plays like they play. Not everyone will play with an Xbox 360 controller or use the WASD key combos. Some people are used to play with an inverted Y-axis and have been playing that way since the nineties. And other gamers want to have a mouselook.

So please give the players the option to play how they like. A lot of people, including me, will not throw a decade of muscle reflexes overboard just to play your ten hour game. After all, is it really that hard to give us the option to bind actions to the numpad?

Comments

Popular posts from this blog

Civilization 4

Five years ago I gave the Civilization 4 demo a try. An hour later I gave up on it. Seeing the game with all its expansions packs on Steam for €11 made me give it another try. And 40 hours of playing later I'm glad I did! These days most strategy games seem to be only about one thing: killing as many enemies as brutal as you can. The trend has been to lower the "strategy" part in favour of more action. Base building? Games like Dawn of War 2 remove it to leave only the fighting.  Dawn of War 2 is a fun on its own but you can hardly call it a strategy game. Dawn of War 2 is more an action/RPG game than a strategy game. So amongst these so called strategy games it's great to see that companies still create more serious games. Civilization V is on the horizon and in the meantime we can still enjoy its predecessor and its many mods. Civilizations main selling point isn't the fighting. It's even an optional thing to do. Indeed, I won a "culture game...

EvoLisa - Comparing two images: performance tuning

It looks like the program is rather slow. Using DotTrace , I took a look at where the bottleneck is. The method that calculates the 'fitnesse', how closely the created image resembles the original image, is where most of the time goes to. Can we improve that? So what happens in this function? We compare each pixel of both images to compare their ARGB values. The better they match, the better the result! How can be compare this? First, I tried using the naive approach: compare each pixel using a bitmaps GetPixel(x, y) . Do that however, and you'll quickly see how excruciatingly slow that is. Especially considering that even with an image of 333x333 you're already comparing a million pixels each time you compare two images! So, instead I tried using a 'FastBitmap'. It's a project I found which wraps the Bitmap and provides much faster Get and SetPixel performance. Using this instead, the performance went up by an order of magnitude! But we can still do be...

EvoLisa - My own version

It's an old idea by now, can we recreate the Mona Lisa with fifty polygons by using random changes? The idea and original implementation by Roger Johansson can be found here . So, how does it work? You start with an source image. Then you create an empty image. We keep on doing small changes to this image. In my case this is one of these changes: Recolor our polygon Change the position of one of the polygon points Add or remove a new point to our polygon Add or remove a new polygon Switch two polygons After each action, we take a look and check if the newly changed image looks more like the original image by comparing each pixel. If it is, we continue using this one. If it's not, we discard the changes. Looks like a fun project! So I built my own version from scratch eight years ago, reusing some of the same ideas. Here's my result using the Mona Lisa: Mona Lisa with 50 polygons: You can see that it's the Mona Lisa but the details around the eyes and mou...