Games and Interaction design

Tuesday, March 21, 2006

Hippo Collada Party

I've been trying to get stress out of my system from the big project Ive been working on for past months (finally launching on 5th April) by making some more recreational personal stuff, one of which is a tranquil scene if hippos-on-ice, a vision conveyed to me though my iPod while shuffle provided me with Tchaikovky ballet piece. I thought it would be fun to try and turn that into reality to its been something I've been tinkering with on and off for a few weeks. This time I thought I'd take a bare-bones approach and try to put almost everything together from scratch rather than using something prebuilt, so that hopefully theres no areas that are a bit grey in terms of knowledge, so I'm doing the modelling, texturing, rigging, animation, AI behaviour, scene rendering, and particles.

One of the key components that I've always found challenging is finding a decent solution for getting artwork into my framework without using an entire engine like OGRE. I've tried using OBJ and numerous other formats and always found it a pain. I wanted decent texturing and nested scene nodes, plus full support for skinning etc, and finally it seems that Collada covers pretty much everything I need in the open-source Collada DOM and free exporters for Maya.

Had a bit of a play last night trying to export some stuff from Maya and get it rendered in OpenGL, and despite finding it all a bit odd, it seems to be working very well! Shame theres not an open-source viewer that might go through the process of rendering the geometry but I guess the DOM hasnt been out long. I'm slightly afraid of implementing skinning but hopefully that won't cause too much of a problem. The bonus is that the format seems to be be supported by a *lot* of people (Max, Maya, XSI, Nvidia etc) and even includes support for shaders assigned to materials. The other tasty part is that you can fully create from scratch a complete scene in your application and then export to Maya - it has full saving capabilities. It seems well placed for a lot of geometry processing / procedural generation of static content work.

Hopefully this means that I can spend more time with pen/paper and in Maya, and less time in Visual Studio :)

Beat your dog at poker

We-make-money-not-art reports that my dream has finally come true. I can now play video games against animals. Be careful though, apparently hamsters have the upper hand.

Monday, March 20, 2006

I know this... its a UNIX system

Theres an interesting (but ultimately rubbish) example of someones personal vision of the future of operating system interfaces available for download (and indeed purchase) at tactile3d.com. Imagine someone watching Jurassic park, Enemy of the state, Hackers, The lawnmower man or most likely TRON, and then thinking that it was an outrage that these elegant interfaces had not yet been birthed and that the only option was to make this happen themself.

Well thats what we have here. Some of it is intriguing, such as the depiction of nested folders, but its an absolute pig to use. Using a 3d grid for displaying files, where all the ones in the centre are completely unaccessible is a plain unworkable idea. Its interesting for visualisation purposes, perhaps, to see what your file system looks like, but it doesn't even convey that well, as you dont have much scope beyond the current folder you are looking at. Still might be interesting to watch it progress, but theres no way I'm forking out 20 quid for it!

Physics gaming

All your physics gaming needs are catered for on Fun-Motion, a blog dedicated to covering all kinds of games and toys that use physics at the core of their design (as opposed to having debris bounce around for purely aesthetic purposes). The Blog is run by Matthew Wegner, a game designer/developer from Flashbang Studios (one of the finalists in this years IGF). When I first came across the blog I was suspicious that there would be enough content to keep it going, but Matthew has obviously spent a lot of time tracking these examples down, and has managed to find an abundance of projects and games that fulfil the criteria , many of which are downloadable for free. While some may be incomplete ideas, or very unpolished (most examples are from hobbyists), theres a lot of brainfood for thought.

Saturday, March 04, 2006

Lets make systems

Following on from a previous post about connections leading to complexity, I've recently become mildly obsessed with schematic linking and networks, and the fun of building systems when you can just muck about with the inputs and outputs of your modules. Maya's hypergraph (and indeed internal graphing system for pretty much everything from shader networks to animation) is one of the most wonderful things, allowing you to link up anything with pretty much anything else. You want to plug the y position of your object into the photon emission of your light source? Sure! You want to make the distance between two ants turn affect the rotation of a wheel? No problem!

More and more software packages are tending to take advantage of the power that can be levered by allowing the user to create their own networks of functionality, and allow the software to be used in ways never imagined by the creator. As well as Maya, theres packages such as Max MSP, Reason (taking a real world version of the same concept and making it virtual), Virtools (schematic programming at its best) and a lot more. The ease of making these connections is the key to its success, as the results are instantaneous making experimentation easy. In the case of Virtools, you are able to completely change the functionality while the systems are running, with no need to re-compile. Compare that to the inflexibility of creating software in say C++, where you are dealing with the systems from an abstraction (writing code) and even minor modifications to each connection between objects can take a while.

So, I want to have a play with this sort of thing myself, and create a modular framework for playing with connections. So I'm gonna kick off (as soon as I'm finished with the other 900 projects I'm working on) a new project called "LetsMakeSystems", an attempt to make a fun piece of software to allow you to experiment with common systems involved in multimedia and games.