Saturday, June 23, 2007

Finger candy

My dream came true! Well, one of them, at least. Thanks to NewsForge, I found Vimperator today yesterday, and oh my it's sweet. It's an Iceweasel extension that provides a very Vim-like interface. It has a few rough edges, but is despite those a vast usability improvement... for me. I suppose it makes my Iceweasel unusable for pretty much everyone else (most people I know use Emacs or something else lacking a command mode), but that's a price I'm willing to let them pay. My browser is now almost completely keyboardable, and that in a manner that's often far quicker than using the mouse. If you're a Vim user, you really should check it out.

The most important missing feature became painfully obvious once I started writing this entry; Vim keybindings inside text fields. They're still not modal, which now that the rest of the UI is feels even more weird than before. I wish I knew more about the internal structure of Iceweasel, because I have no idea how difficult it would be do implement this, but I hope it will be one day.

Monday, June 11, 2007

B

I'm going to start writing about my little game project. As I've proven unable to keep quiet about it, I might as well use that to my advantage. Therefore, please comment, critique, suggest or complain about anything you feel isn't the way you'd like it to be or feel it ought to be.

Please note that I'm not making any promises, except that I will be taking all your feedback into consideration. If I like something you've written and it ends up affecting the game, you end up in the credits. Being an indie developer, that's the best I have to offer.

Also keep in mind that this is still rather early in the project, so don't expect fancy screenshots just yet. Just how early it still is will become clear in the coming months, and seeing as I'd rather over-deliver than over-promise, I'll try to puncture any expectations that might have arisen so far ^^

The completely uninspired working name for the game is Pod, which is now also a tag on this blog. Using this tag will give you quick access to all the relevant entries from now on. Just to get started, I'll post an entry I made to the internal milestone blog this past Saturday. This one is rather technical, but I'll be going into the game design and other topics in future entries, and possibly also posting additional internal entries.

Here goes:

I'm sitting at Compusphere listening to the streaming music compo and working on the core network code, built on top of enet. It's finally starting to turn into something implementable. Right now I'm trying to figure out where in the engine to put endianness conversion routines. Not the most fun you could have.

The goal for this milestone was to make something minimally demoable (to peers, not publishers) and I've reached the (possibly obvious) conclusion that a strictly multiplayer game can't be demoable in singleplayer. Therefore, I'm tearing apart my singleplayer demo and putting the network code in now. This means that all existing code (not that there's that much of it) will need to be moved onto the distributed event system, which will add further to the delay. Un-yay.

On the technical side, apart from the networking, I've replaced some hard coded stuff with actual level loading, split the game data into some sort of (hopefully usable) structure and started to integrate ODE via the Wendy wrapper interfaces. That last point has proven the trickiest by far and I finally understand the complaints of people integrating physics engines into games. Moving the game code to the latest version of the renderer was a very tasty piece of cake, however, so I guess the interfaces are starting to stabilise.

Design wise, lots has happened. The basic technology of the world is established, helping to explain why the gameplay looks the way it does and why certain things work and others don't. I've designed a few of the larger ships (ones players won't be flying, but will be fighting or be dependent on). I've also started sketching on the backstory. While it's technically unnecessary, it's something I really want to have, as I know it'll affect the design in interesting ways. I'm also thinking about ways to integrate a storyline into the game, despite it being exclusively multiplayer, but more on that later.

PS: The title is a reference to this entry. Planet readers should note that since the aggregator software is broken, it'll show up as new despite being six months old.

Brushed Metal is dead

...and not a day too soon, either. Die the death, horrible monstrosity.

Here is how it happened.

Or not.