Monday, August 08, 2005

Thoughts On UI

Famous last words: I think the UI for Vyde will be pretty simple. I'd like to keep user interface elements to a minimum in favor of context-sensitive elements that appear in response to actions on the environment.

I liked the approach that Molyneux took with Black & White. Everything was very intuitive, and the gesturing interface was actually pretty cool, though I'm not going to attempt that in Vyde.

At its heart, Vyde will be a platformer. The character will need to be able to move left, right, up, and down. In that respect, I see the player's movement happening in a fashion similar to, say, Mega Man. To that end, I don't see a need for any more keys than WASD.

Haven't decided on jumping yet. Either the character will need to jump and be unable to scale background walls (ala Diggles), or the character will be able to jump, and therefore require another way to climb to higher places or descend gently to lower places.

Now that I think about it, the ability to rappel downward and ropeclimb (grapple) upward is appealing. I always loved Bionic Commando, and the physics of it are probably not that hard (Worms did this also).

Let's stick with that idea for a moment: Worms made use of a grapple gun by allowing the user to choose a direction with the mouse, thus firing the gun in that direction. The player in Vyde could use the same interface, and a grapple gun could be a primary tool for use in exploration. This could be restrictive though, unless care is taken to allow the player to climb on top of a ledge that had been attached to from underneath. The game will probably have one-way surfaces, but most of "earth" in the game will be solid from all directions. Only grappling to the left or right side of a floor tile will permit climbing to the top of that tile. Here's my first piece of published concept art. :)

Anyway, I feel the keyboard will be pretty straightforward. The mouse will play an equally important role. It will symbolize what the player is interested in and provide a context-sensitive interface to all the actions he can perform. I'm fond of radial interfaces: I'll probably put together a prototype of one soon. The context menu will likely appear in response to the right mouse button. Right-clicking objects in the environment (or the environment itself) will permit various actions, whereas right-clicking on the player character will produce a context menu for selecting items or opening dialogs, like an inventory screen. On the other hand, if I choose to use the right mouse button as a secondary action key, then a well-placed keyboard key could bring up the context menu instead.

Here's a kicker: Vyde will likely demand its own window system. Not only will there be the requisite "New Game, Continue Game, etc." dialog, but we'll need an options screen, a map, and a dialog to control the economic aspects of a factory. I can't say I'm thrilled about writing an entire window system; there may be others out there I can use instead of making my own. But I've had some experience with event-driven UIs. Might not be too difficult if I'm willing to sacrifice some complex layout facilities.

I wonder if XUL could be used here? Hm...


Post a Comment

<< Home