Houdini & Games

   9443   12   2
User Avatar
Member
711 posts
Joined: July 2005
Offline
Has anyone considered what Houdini with extensive real-time capabilities might be like? I think the app is very well suited to this by its nature. Imagine if you could author a full complete executable from the program. I do think there is a market for this: People who want to make their own modern, high-end games but don't have the immense capital or the tools to do it. Think about it. There is a virually never-ending supply of people who want to make it into the games industry in one way or another. You know, the whole “dream job” thing. Regardless of what the realities of the industry may or may not be, there is an enormous amount of interest. But right now, a single person or even a small team doesn't have the resources to create a game that can compare to what the big developers are putting out. Games have just gotten so complex.
As far as I can see there are two options for people who want to be involved in game creation. Mod and existing game, or go work for a game company. The first option isn't bad, but it's exactly what the name implies: a modicfication of an existing game. There is a limit to how much tinkering you can do. What about implementing your own particle effects? Your own AI? Your own dynamics? Your own special effects? Complex bone systems for your characters? The second option will definitly not be easy if they have hopes of one day being the person in charge of a major project. It may be years and years of working your way up before you are in a position where you're calling the shots. For someone who wants to realize their own modern game without an absolutely enormous budget what options are there? None. The tool needed doesn't exist. The integration isn't there. If anyone on this board wanted to make their own film/cartoon/animation they could, it's just a matter of time and motivation. There's Houdini Apprentice, XSI Experience, Maya PLE, etc etc, and of course the full versions of these apps for those who can afford them. For 3d animation artists, there is a wealth of options as far as tools go.
But people who want to develop games are out of luck. There is nothing with the power and polish of Houdini. In the past real-time applications couldn't make use of that power, but now game technology is beginning to converge towards the tech used in film. Unified lighting system, more powerful particle systems, use of shaders, so on and so forth. Anyways, the whole point would be to bring indy developers back into the front lines and enable them to compete with the industry giants, and it would also give the established developers an integrated solution. If done right I believe people would really jump on to this. The applications would not be limited to games, but anything real-time really. Better looking, more effective pre-viz, creating virtual environments, and I'm sure there are more uses.
What would be needed to make it work? For one, a custom game engine, a framework that has hooks into all the major parts of Houdini. You would have new ROP that compiles a “level” that you've created entirely in Houdini, with characters modeled in Houdini, with animation done in Houdini, with particle effects done in Houdini, you get the picture Imagine you could use all the powerful and clever stuff in Houdini and apply it to a real-time executable. The possibilities are fantastic. The engine itself would be versatile, supporting the latest tech, stencil shadows, normal mapping, blah blah blah, and would be exstensible so new tech could be added when it becomes available. OpenGL2 spec is solid now, Imagine a VOP context for OGL2 shaders.
What else would be needed? Some form of AI, someone mentioned Fuzzy OPs here a little while back, sounds like a neat name so I'm gonna run with it Again, the app is very well suited to this. Let your imagination run wild. Lets say we've got a base Entity FOP (like the Output VOP) into which all other FOPs are piped into, then you've got FOPs that give your enitity awareness, like vision, hearing, smell, collision. Then there might be a class of FOPs designed for navigation, and then some that allow it to differentiate between objects and other entities, and then some more for interaction, etc etc. Like I said, let your imagination run with it. You could of course have an Apprentice version just like now, the executable would be limited to 640x480 or 800x600 and it would have the Houdini watermark, just like now.
It would be a considerable amount of R$D (research, money, development ) but I wouldn't mind seeing this in Houdini 10 a few years from now. They say to have a good product you need to come up with something that doesn't exist and people need. Maybe it's just me but I would think this is one of those things people need. There should be an app that allows you to make a game and all it's content (except maybe music & textures), a one-shop-stop solution. I'm not sure why there isn't yet. I think Blender has a game engine, but I don't know what the integration with the app is like. But if SESI would come up with something like I described it would be no contest. Anyways, I'm done rambling now. Just throwing out some things that have been floating around in my head for a while.
User Avatar
Member
639 posts
Joined: July 2005
Offline
I remember there was PROCEED about 4 years ago. I am sure SESI will make a come back eventually.
User Avatar
Member
4140 posts
Joined: July 2005
Offline
You probably know about it, but you don't mention it and it's directly related to what you're talking about IMHO, so I'll point out that one of the original founders of SESI, Greg Hermanovic, started up his own company [derivativeinc.com] which specializes in realtime 3D graphics for live music performances. I can't really speak on exactly what codebase, if any, he may have based it on(for all I know, it was written from the ground up), but he was “the guy” at SESI who was behind all kinds of realtime applications of prisms/houdini. Typically, if there was anything to do with MIDI or interactive performance, Greg was involved. They had even written a “player” that could play back bmot files(I seem to recall this was back in Prisms days).

Anyway - the graphics engine is there, as you say but I wonder how much work would be required to write the gaming “skeleton”? Also, in the end, you'd want an optimized playback engine that is all about speed. Could it compete with “the big boys” like the Quake, Unreal and Havoc engines? IMHO it would need a lot of work, especially with the pixel-shader approach to gaming graphics nowadays. Additionally, true proceduralism rocks, it's dah bomb, but it conflicts with speed. It gives you flexibility at the cost of playback. Personally, I see it as a separate project, possibly using some of the constructs of Houdini.

Prove me wrong, tho.

Cheers,

J.C.
John Coldrick
User Avatar
Member
711 posts
Joined: July 2005
Offline
Yeah, I know about Touch Designer. I remember Proceed as well. At the time it was announced I really didn't get it, I mean I didn't understand how it was supposed to work, nor did I care much. After I posted this I went and searched to see what I could come up with, and this little blurb was the most informative thing I could find:

Side Effects is also working on an integrated game-development solution, codenamed Proceed, that combines a games-enhanced version of Houdini technology and powerful middleware. The package, scheduled to be available in Q2 2000 on a per-project royalty basis, includes two platform-optimized run-time engines (one for particles and one for motion) and a C++ code generator to connect the authoring tools and engines. The middleware was initially developed for the PC and PlayStation 2, and Side Effects plans to announce support for other consoles later this year. Like Houdini, the authoring side of Proceed will run on Linux, Windows NT, and IRIX. www.sidefx.com

The basic idea they had is pretty much the same thing as I described. It would be nice if someone from SESI would shine a little light on Proceed. I'm curious as to how far they got, and what issues they faced.

Also, in the end, you'd want an optimized playback engine that is all about speed. Could it compete with “the big boys” like the Quake, Unreal and Havoc engines? IMHO it would need a lot of work, especially with the pixel-shader approach to gaming graphics nowadays. Additionally, true proceduralism rocks, it's dah bomb, but it conflicts with speed. It gives you flexibility at the cost of playback.

Yeah, I understand writing a good game engine is no small feat. I suppose that would be the biggest hurdle. About the proceduralism, I think it's a given that you wouldn't be able to go all out like you can now, no super-deep networks and such. And I agree it does conflict with speed, but if used sparingly it should be okay, and not everything has to be procedural. Maybe the code generator or compiler or whatever, would be smart enough to optimize everything as much as possible.
User Avatar
Member
405 posts
Joined: July 2005
Offline
Hey,

VirTools, this is the closest thing now that I know of that you might want to consider.

http://www.virtools.com/ [virtools.com]

Cheers,
Nate Nesler
User Avatar
Member
66 posts
Joined: July 2005
Offline
VirTools, this is the closest thing now that I know of that you might want to consider.

yes, we using this tool since 2 years and we are very happy.
the only problem: no chance to get an exporter! ( maybe some HDK-guru can do something, the source-code for the 3Dmax-exporter is available).

So we have to go from houdini –> maya, make some tweaking, as you cannot export the characteranimation –> export to virtools.


PS: A new game developed from us with houdini/virtools:

www.redbullairrace.com [redbullairrace.com] ( ~10 MB download )
Michael Fuchs -|- Owner Sparkling Design -|- Austria

Sparkling Design [sparkling-design.com]
User Avatar
Member
252 posts
Joined: July 2005
Offline
As far as a real time engine goes, I don't think there will ever be any development toward that at Side Effects, but Houdini is quite close already for certain types of things, as long as those creating the simulation keep things reasonable and Side Effects eventually supports some of the real-time hardware rendering technology (and perhaps starts using the GPU for computationally intensive POPs, etc.).

I think it would be cool if Side Effects eventually just made a freely distributable player so that we could make a .hip file with our virtual walkthrough/simulation or whatever running and allow the user to manipulate the camera and whatever other “controllers” we provide without being able to edit the hip file at all.

If the display technology (OpenGL 2.0) was there, we could create some compelling interactive simulations. Though not quite Virtools quality/capability, it would open up Houdini to some other uses that it would be perfectly slated for as CPUs and GPUs continue to speed up.

-Craig
User Avatar
Staff
6224 posts
Joined: July 2005
Offline
The basic idea they had is pretty much the same thing as I described. It would be nice if someone from SESI would shine a little light on Proceed. I'm curious as to how far they got, and what issues they faced.

The biggest issue faced was a disconnect about *why* one would want to include Proceed. Often people would see it, and think: “How many particles per second?”, which, of course, is the wrong question. If you have to ask that question, it would not be for you. This is radically different from most middleware offerings which are about providing greater speed than your in house solution. An in house particle system or motion system could *always* outperform Proceed by a few orders of magnitude. What they can't provide is the ability to leave look generation in the hands of an artist. (It doesn't help that most game shops are programmer heavy, so think they can spend the cycles to do that themselves :> Ironically, this should actually make Houdini *more* attractive as there are more resources for integration)

The advantage of Proceed is that it allows the artist to write the code for your particle simulations. A more advanced version would have allowed the artist to write the code for your character builders. Or your motion blending. Or camera blending.

Genki ended up using Proceed in Jade Cocoon 2. It is the “custom C++ output driver” mentioned in this write up:

http://www.sidefx.com/products/profiles/genki/ [sidefx.com]

(and perhaps starts using the GPU for computationally intensive POPs, etc.).

Still wating for being able to read textures inside the vertex shaders. I think I read that the DX9 vertex 3.0 shader can do this.

If the display technology (OpenGL 2.0) was there,

Still waiting for arbitrarily long shaders to be supported. The new 3DLabs card promises this.

- Jeff Lait
User Avatar
Member
252 posts
Joined: July 2005
Offline
As far as DX9 Vertex Shader 3.0 and unlimited length hardware shaders, the NVidia 6800 supports these.

I have one of these at work (EA), but couldn't really test it yet because the new ATI RenderMonkey software that supports these things was just released at Siggraph.

-Craig
User Avatar
Member
711 posts
Joined: July 2005
Offline
Thank you Jeff.

I think it would be cool if Side Effects eventually just made a freely distributable player so that we could make a .hip file with our virtual walkthrough/simulation or whatever running and allow the user to manipulate the camera and whatever other “controllers” we provide without being able to edit the hip file at all.

Not a bad idea at all, and sounds pretty doable.

btw, how far away, in terms of ability, is the OpenGL shading language or the DX9 stuff compared to VEX or RSL?
User Avatar
Member
121 posts
Joined: July 2005
Offline
DaJuice
I think it would be cool if Side Effects eventually just made a freely distributable player so that we could make a .hip file with our virtual walkthrough/simulation or whatever running and allow the user to manipulate the camera and whatever other “controllers” we provide without being able to edit the hip file at all.

Not a bad idea at all, and sounds pretty doable.

Maybe something like the browser plugin for touch designer, with the ability to use javascript in the html to control some of the parameters. This could also be used to get a quick preview of what an otl/DA does, like when you have a big library of digital assets, which can be accessed via any browser and you could even see what the Asset does, along with some description or even some basic editing/database features in the html part.
User Avatar
Member
252 posts
Joined: July 2005
Offline
.> btw, how far away, in terms of ability, is the OpenGL shading
> language or the DX9 stuff compared to VEX or RSL?


Very different, but similar.

The HLSL (OpenGL/DX9) stuff has both Vertex shaders and Pixel Shaders which seperate and each share some of the load of what we consider a shader and has to deal with Semantics passed from the application.

It is very doable to do a VOPs like implementation for this hardware shading stuff (both RTZen and Shaderworks do something similar right now), but just making Houdini be able to hook up to an OpenGL 2.0 shader created externally in something like RenderMonkey (which supports OpenGL2 as well as DX9) and use it in a viewing window would be great too.

-Craig
User Avatar
Member
108 posts
Joined: July 2005
Offline
I've addressed this at od aswell. The “mod” (modification) business is also quite interesting, look at Half-Life for instance.
  • Quick Links