Beta

Slashdot: News for Nerds

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

3D Models + Animation + AI

FortKnox (169099) writes | more than 11 years ago

User Journal 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.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??

cancel ×

8 comments

Maybe I should clarify... (2)

FortKnox (169099) | more than 11 years ago | (#4700050)

Actually, maybe I'll just go a step higher.

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... (2)

John Harrison (223649) | more than 11 years ago | (#4701331)

I am working on a new 3d game and the Quake model tutorials here [gametutorials.com] have been helpful.

A lot of work depending on how you cut it. (2)

sielwolf (246764) | more than 11 years ago | (#4701515)

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)?

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 .mdl and modify it up ala Valve and Half-Life. Or you could use a pure .ascii from 3d Studio Max. Really it depends on the features you want to use. If you are not interested in tags and the effects, then using MD3's wouldn't be worth your time.

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:
  1. model loading: predefined file type or your own
  2. predefined animation or runtime animation (i.e. do they just index to a frame or generate the the bones' locations at every time)?
  3. landscape generation and loading
  4. a basic physics model of some sort
  5. AI to control all the models


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 (1)

aWalrus (239802) | more than 11 years ago | (#4701637)

Blender [blender.org] has an integrated game engine thingie (saw it running once, haven't played with it). It opens 3d models in various common formats and you can assign scripts to control them. What you want to do sounds like something that could run in there without much trouble. I think you can record the resulting clip and then render it frame by frame using your desired quality level.

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... (2)

Xerithane (13482) | more than 11 years ago | (#4702102)

Use a physics engine and kinematics engine (There are open source engines), develop your battle with your AI and save the output (assign attributes to each AI "soldier" such as size, mass, weapons, etc.) then just assign models to each object, and then write something to run through the battle frame by frame, with positions from the models.

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 (2)

subgeek (263292) | more than 11 years ago | (#4708536)

How do you encourage a 3D artist to make stuff for you for you to play with?

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 (2)

daeley (126313) | more than 11 years ago | (#4710215)

On the first FotR DVD (not sure about the extended version), they talk about the software they used for the battle scenes, in which each individual soldier actually has 'autonomy' to interact with the environment and the other soldiers around them within parameters, creating a certain amount of realism and (most important) unpredictability to the battle. The software was done in-house, if I remember correctly, and inspired a brief obsession with wanting it. :) You might check the section where they preview TTT, I seem to recall it being there.

Re:Ask WETA (1)

Pr3d4t0r (604257) | more than 11 years ago | (#4710688)

This software is called MASSIVE, IIRC
Check for New Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Create a Slashdot Account

Loading...