3D Workflow

Written by MentalFish. Posted in Computer Graphics

As an interaction designer with a wide range of experience with 3D software, I frequently see the need of a better interface and workflow in these applications. I do not mean I have the best shortcut configuration, theme or icon design to offer, but I am talking about the way in which polygons, bones and items in general are created and modified. Whether the s key or alt button is used to rotate the camera/view port is not important, as that is a matter of assignment and not a part of the fundamental workflow design of the application. In this day and age, no key/button/wheel/pen tip should be hard coded into the software’s core functionality anyway. If you want the pen tip pressure to control zooming, why not have the option of assigning it?

To start off with the more generic features and improvement of the workflow, we can take a look at the overall handling of items in a 3D scene. All 3D applications have some sort of hierarchy or scene graph in which all the content reside, and traditionally this is accessed through an Explorer like interface with expanding nodes in a tree structure. As an alternative or addition to the traditional tree structure of items and data, and the typical mode change via buttons such as: “edit bones” , I propose the introduction of an “immediate mode” with these default assignments:

  • Double click (or single click + modifier-key) on an item to enter the edit/modify mode of that item type, edit bones, edit mesh, and so on. No need to go to a drop down menu or keyboard shortcut to do this mode change.
  • Left mouse button (LMB) click and drag = translate the element you click on, regardless of it being a model, a vertex or bone. Move is move, no need to have different tools for moving models and vertecies.
    • To scale or rotate the item instead of moving it, hold down a modifier key for the duration of the scaling or rotation (alternatively go for sticky-keys as found in XSI).
  • Click and drag right mouse button (RMB) or LMB + modifier-key, you duplicate / extend the current selection as in a typical extrude edge operation, or duplicating/instance/clone a model if working on a pr model level.
  • Scroll wheel or scroll strip/circle on Wacom tablet + modifier key, is set to expand the current selection:
    • When a model (scene item) is selected, the selection will perform a spherical “grow selection”.
    • When only one polygon or point is selected it will do a radial selection growth from that point.
    • When a row of polygons are selected the scrollwheel will grow the polyloop selection (with a correct pattern if “every other” polygon is selected).
    • When an edge is selected it will grow the edge loop selection.
  • The scrollwheel operates the view-port zooming when a modifier-key is pressed down (the same modifier key that handles view-port translation and rotation)
  • Scroll wheel + modifier key will keep applying the last multiplication, so an extrude will be repeated for each step/click of the scroll wheel, and a model instance will be created for each scroll increment (“array clone”).
  • The alt key should by default be assigned as the “alternative mode” for the current event taking place. I.e. an extrusion of multiple polygons will toggle between uniformed extrusion and pr polygon extrusion (like bevel in LightWave). Another example can be when a model is RMB click-dragged and instantiated, it will make a duplicate (copy) of it instead of an instance. This could of course be assigned to a different key, but alt is the alternative key by definition.

These are some thoughts as of now, and I will keep on extending this blog entry with more ideas and illustrations as I get time to make them.

How to make games fun?

Written by MentalFish. Posted in Games

<rant mode=”on”>

I have a question to ask: Can a game with mediocre gameplay be saved by a grand story or cool graphics? In my book it is a big fat resounding NO. Can a game with no story or simple visuals still be fun? Most definitely yes, look at Tetris.

I can almost hear someone coming in shouting “But Tetris has a story!”. If you want to make a philosophical point and argue that the blocks are representing something more than just falling game mechanics, then sure, you can make the case that Tetris has a story to tell. What about to the wooden tilt-maze game, is there a story being told when you tilt the board to avoid the holes? Is the metal ball a character in a story about not falling into the pits of eternal doom and gloom? If so, then it is the player’s imagination that is creating and telling the story, not the game itself. “But the story is the catalyst for this imagination”, could be true, but even so, it is not the story the game creator was thinking of telling, they created a pure game mechanic in which people can add their own imagination.

David Lancaster has grabbed up Unity and posted 2 videos on YouTube of his process of how to make a fun game. A highly pragmatic approach to game design and development.

Not just talking the talk, but also walking the walk:what-makes-a-game-fun-1what-makes-a-game-fun-2

I am not against stories being told in the games medium, nor that the visuals should not be impressive, but I believe there is too much focus on making games behave like movies. If storytelling in games are done as if they are movies, we easily end up with horrible or almost non-existing gameplay as in Space Ace and Dragons Lair. Those games were first of their kind and I loved them due to their highly visual and different approach to graphics and vivid characters in games, but I will be the first to admit I was wrong when I back in the 90-ies, hardheaded meant they were the best games available of the time. The gameplay can be compared to having 8 play buttons where you guess what random button to press. If you press the wrong play button for this scene/sequence you cant see the rest of the movie. SMACK!!! Back to start.

We still see games being treated as movies by the frequent use of cut scenes, although real time instead of pre-rendered, and button mashing to get through cinematic kill scenes (such as in God of War and its derivatives). Couldn’t these stories be integrated more directly into a more interesting gameplay? Button mashing and joystick joggling is for Summer Games on C64 and people not know how to play Tekken and Street Fighter (<- me).

Hear ye, hear ye! Gameplay is king and story has proclaimed its support as a loyal subject!

So how to do it then? Take inspiration from the 1991 game, Another World. In that game the story and gameplay is inseparable, no long winded dialog or written stories in sight, and the cinematic cut scenes are short (apart from the intro) and integrated into the gameplay. You are performing the actions that define the story through the game mechanics provided by the game developer, which in this case is also the game designer and the game graphics artist, Eric Chahi.

another-world-logoanother-world-screenshotAs a final rant I just want to say: A written story outline is not a game design document and a story can not in itself make a game great.

</rant>

Now that the rant is off I just want to say: Make your games the way you want to and play the games you want to play. I think I have given a clear point on where I stand :)

Update: Its not just me who think games should not be treated as movies or books:
The Register – GDC09: Jeffrey Kaplan

MentalFish blog is live

Written by MentalFish. Posted in Uncategorized

What better way to start off the MentalFish blog than some words on the release of Unity 2.5? Apart from Unity related issues this blog will contain posts on LightWave, thoughts on usability and interaction design, updates on what is going on with Galactic Fleet and occasional posts on radio controlled planes and the likes.
unity-on-windows
With Unity 2.5 we have the possibility of using Windows and can expect an explosive count of Unity users. This is good news for anyone using Unity as their real time 3D engine of choice, as the general awareness of Unity existing will increase. In time we might even see it becoming a the most installed plug-in for browser based 3D, in the same way as Flash has become the most installed plugin for video and “rich media” on the web.

Also check out the Unite 2008 conference videos, lots of good information. Now I finally get to watch the ones I didn’t attend as I couldn’t replicate myself like Dr Manhatten from Watchmen. I chose to go to the more technical ones, missing out on talks such as bringing concepts to life and making art look good.

Although Unity is now available for Windows, I’ll still stick to Mac OS X. I have gotten fond of having *nix command line available (i.e. cronjobs) and all the applications I use apart from Unity is also available on OS X, especially LightWave which has a Cocoa (true 64bit) version around the corner. Finally my 6 gigs of RAM can be used to its full extent by LightWave (if I ever need to lightmap a massive scene that is).

To be honest, I have bought 3 Mac’s; a Mac Mini to get familiar with Unity, then I bought a Mac Pro as my workstation and the smallest Macbook Pro available for on-the-go work and prestentations. All because of Unity. In other words, I have some hardware investment in the Mac world. That said, if I feel like going back to Windows, all machines can become Wintel machines immediately via Bootcamp, but there is one other aspect that keeps me on the OS X platform: Galactic Fleet turning into an iPhone / iPod game. So I guess I have no need of swapping hardware for at least another 2 years (perhaps a GFX card upgrade for the Mac Pro in a year or two).

For anyone interested and hasn’t seen or tried Unity yet, go get get the demo at their website.