Journal FortKnox's Journal: 3D Models + Animation + AI 8
First, allow me to demonstrate some of my ignorance.
I was watching the special edition DVD of FOTR, and, at the intro with the battle against Sauron, the whole battlescene was CGI.
I want to do something similar, but don't even know where to start. First, the 3D Model is made with some 3D suite (like 3D Studio max), along with the animation. Now, how do you open that model and animation up with a programming language (C++ most likely)? Does OpenGL/Mesa or DirectX have libraries to open these up (or does the 3D modeller have the libraries to interact with DirectX/OpenGL)?
How do you encourage a 3D artist to make stuff for you for you to play with?
What books are there to do stuff like this??
Anyone do anything remotely similar, or know the process to do this??
I was watching the special edition DVD of FOTR, and, at the intro with the battle against Sauron, the whole battlescene was CGI.
I want to do something similar, but don't even know where to start. First, the 3D Model is made with some 3D suite (like 3D Studio max), along with the animation. Now, how do you open that model and animation up with a programming language (C++ most likely)? Does OpenGL/Mesa or DirectX have libraries to open these up (or does the 3D modeller have the libraries to interact with DirectX/OpenGL)?
How do you encourage a 3D artist to make stuff for you for you to play with?
What books are there to do stuff like this??
Anyone do anything remotely similar, or know the process to do this??
Maybe I should clarify... (Score:2)
What I want:
I want to make a battlescene full of different AI I developed.
Realtime or rendered? Doesn't matter, as long as my AI is what's "controlling" the animation. I'm assuming that I'd have to 'code' the AI in, but after that, I don't know what to do, or what all is involved. Any help?
Re:Maybe I should clarify... (Score:2)
A lot of work depending on how you cut it. (Score:2)
Well usually you read the file in raw in your language of choice, following the file format spec, and then you can animate it how you choose. The suggested gametutorials.com is good place to start. Now what format to use? Well it depends on what you want to do. You could do simple Quake
How do you encourage a 3D artist to make stuff for you for you to play with? This is where using a predefined file format comes in. There are hundreds of MD2 and MD3 files made for the Quake communities, already with premade animations.
What books are there to do stuff like this?? Lots. Check out Flipcode [flipcode.com]. They have some good reviews. They also have a Game Designer's Bookshelf column where designers list off what they use.
Anyone do anything remotely similar, or know the process to do this?? Well let me get the gist of what you want to do:
What does this sound like to me: a game with no UI. Basically sit back and let it run. A non-interactive simulation. So what would I suggest? Finding a game engine that suits your needs and start there. There are several listed at Flipcode that are open to use. The gain is that you can then add your modifactions without dealing with the overhead.
For the AI like what was used in FOTR I would do some research into Boids and flocking behavior. It hits the meaty center of your AI problem (ie it isn't too low-level that you have to need a cluster to run it, nor is it so high-level that it doesn't do that much). I don't know where but I saw a great flocking simulation of a flock of doves getting pierced by a diving hawk. Very beautiful while not being ungodly difficult to do.
Blender / Crystalspace may help (Score:1)
There is also Crystal Space [sourceforge.net] which is a game engine, although I think that would involve much more work than the blender option. Anyway, using Crystal, you could build a world, assign programs to run bots (again, it supports most popular 3d models) and then watch it. I don't know if you could manage to record it and re-render it in high quality graphics, though. For that (which I think is what you want to do) the Blender option sounds better.
--
Simple method... (Score:2)
I've seen stuff like this done with graphing elements (graph a 32-dimensional matrix evolving over time with set input) and it worked wonderfully.
Check out renderman for the output, and render each frame as TIFFs then make a composite animation and you have your battle scene. Non real-time, but it would be pretty damn slick.
Each component can be coded in what ever language best suited (Java, since I know you know it, for the AI/battle code), C for the renderman plugins, etc.
Busy now, otherwise I'd write more ^_^
my best attempt to answer (Score:2)
find artists that are making stuff anyway and don't mind letting their creations being used in other projects. if you can't find those kinds of artists, let them know you are serious and so they don't fear wasting their time on a project that won't be finished or. either way promise prominent recognition in the credits. it could be a good exchange for everyone involved to showcase their work. (i know an artist but he's busy a lot of the time. if you know what you want, he might be able to find a way to make some models that suit both your and his needs.)
another thought - if you have trouble getting your AIs to react to each other in a sim, could you use them in a sort of single player mod? you might not be able to have exactly the same experience every time, but you could show how the bots react to different player actions. if you have another machine that has video capture, it would at least be a basic way to record what happens.
Ask WETA (Score:2)
Re:Ask WETA (Score:1)