Archive for June, 2009

AZERTY keyboards are better :)

Thursday, June 25th, 2009

Oh you gotta love those absolutely non provocative titles.

I only use AZERTY keyboards. I’m useless with a QWERTY (or worse, the swiss QWERTZ). Each time people tried to use my PC in the office, they sat down, typed for 10 seconds, stopped, looked confused, looked down at the keyboard… and asked me why the hell I wasn’t using a “normal” keyboard.

So, for the records: the AZERTY keyboard (or at least the AZERTY layout, I guess none of you still looks at the keyboard while typing, right?) is more efficient for coding, because it gives you the best of both worlds:

- if you want to type a number, you can use the numeric keypad on the right. Sorry guys, I know a lot of you hate it and just never use it, but hey, I grew up with this thing typing hexadecimal numbers from source code published in magazines. Trust me: for entering a lot of numbers at the same time, nothing beats the keypad.

- if you want to type a bunch of symbols widely used while programming, like:

& ” ‘ ( ) - _ = ! :

…well they are all available without pressing SHIFT. All of them. Compare this to the QWERTY layout which “wastes” keys by having “redundant” direct entries for all the numbers. Forcing you to press SHIFT much more often than AZERTY users.

So, AZERTY, less SHIFT pressing, better.

What do you mean you’re not convinced ?!

OMG I’m a geek

Thursday, June 18th, 2009

Yesterday I woke up from what must be the geekiest nightmare ever.

In the dream, I was back to my old Atari ST days. A friend of mine was at home, using my ST to watch demos and play games. Suddenly he complains that the drive doesn’t work anymore, and that all the disks he tries are failing. I check it out, and I realize that the moron managed to insert 2 floppies at the same time in the drive! Shivers down my spine: it’s the 2 disks of Blood, and I’m starting to panic because he may just have killed my only copy. I painfully remove the 2 disks from the drive, then put one disk back to check everything still works. I reset the ST by pressing the small button in its back. The drive starts reading the disk sectors slowly… one at a time… tac… tac… tac… Something’s wrong. The frequency of the “tac” sounds is too low, like one per second. Should be much faster, like when booting Return To Genesis, here it sounds like the horrible Atari ST version of Out Run, which was loading for ever, super slowly. tac… tac… tac… I’m white with fear, the asshole killed my ST ?! tac… tac… tac… It loads ad infinitum, nothing happens… the thing is dead… tac… tac… tac…

The dream blends out, reality blends in. I emerge from that nightmare. Slowly.

Something is still wrong. I still hear the drive.

tac… tac… tac…

Half asleep I turn my head towards the noise.

And I see that loud, annoying, fucking alarm clock that my girlfriend recently bought in a cheap chinese bazar. Tac… tac… tac… tac… tac… That thing makes the same noise as an Atari ST floppy disk controller, and it took a nightmare for me to realize it.

Some KP screenshots & a gameplay code rant

Thursday, June 18th, 2009

Some screenshots of what has been going on in the KP world recently:

I know, not really next-gen looking. But hey, that’s fixed function pipeline and I’m the only “artist” involved, so back off. Currently trying to do nice looking explosions without killing the fillrate.

Also trying a “boss fight” against an helicopter. It’s a 2-parts fight where you have to finish it off by deflecting mortars shot at you from the helicopter - a bit similar to what Hibana was doing to missiles in Nightshade.

At Grin, one guy once told me something like “trust me, you don’t want to implement gameplay code in C++”. He meant we should only do it in LUA. I think I disagree. Using a scripting language does not necessarily translate to better gameplay, as the recently released Grin games unfortunately proved. For me, using LUA gave me the feeling I was programming with my left hand, while the right one was tied in my back. No power, and kind of awkward. Using C++ and having access to the full engine anytime gives me a lot more freedom and a lot more control. Going back to C++ gameplay code after one year of LUA in Wanted is incredibly liberating.

As for the argument that LUA scripts give faster iteration times because you can reload them without leaving the engine, well, there is some truth to this but it comes with the proverbial grain of salt. If you put your gameplay code in a separate DLL, there is not much difference in the end between your “game” and, say, a custom format plug-in for Flexporter. Remember Flexporter? Did you have to shut down 3DS MAX to compile your plug-in and try your changes? Nope, you just had one button to press in Flex. How long did it take to recompile your custom format plug-in? Exactly : something like 2 seconds. Iteration times for developping your own format plug-in in Flex were super fast. Well there is no difference with KP. Flexporter is the game engine, the format plug-in is Konoko Payne. It does not compile as quickly as a real Flexporter format plug-in because, of course, there is more code in a “full” game, but the idea is the same, and the iteration times are fast. Sometimes way faster than what we had at Grin. cialis