How 3D 'people'/detailed objects are made.

Posted on 2004-08-11
Last Modified: 2013-12-26
Hi all,
I'm kind of new to game dev, esp. 3D graphics.

What I want to know is: How do programmers making a multiplayer game, for example, import/create a detailed 3D object, such as a person, or car??  For example; on the excellent PS2 game, Gran Turismo 3, how would they have created the cars?  Or created the people/cars, etc.. in Driver (another PS2), for example??

Do they make the people in a program, such as,  3D studio max / Maya / ... , then some how imported the animation, and cut out the character from the background, and added it to the scenario?? But then you hav the problem of the other player (ie, it's a multiplayer game) having to see the character from another angle.  :o\

I have some other ideas, but they're very unclear. Could someone enlighten me please??

Thanks very much,

...Do they completely code each person somehow??? :o\  I'm sooo confused!  =0
Question by:DrWarezz
  • 2
  • 2
LVL 17

Expert Comment

ID: 11794256
Yes, programmers work with artists as a combined team to create games.  These days, it is difficult for a single programmer to create the level or content large companies are doing without additional art help.

Almost every 3D object is created using some modeling tool.  Max, Maya, etc.  Depending on the company, some have their own custom tools as well for building out worlds, effects, etc. -- UnrealEd is a good example.

Then, the usual approach is a combination of an exporter from Max/Maya that writes the file to a better 'known' format, and strips out things you don't need, plus then code to 'import' the data into your game's specific organization of data structures.

Sometimes a driver in the car is a separate object, 'placed' within the car at a specific 'connection point' -- making it seem like it's properly in the car.  Other times, the driver is PART of the car itself, 'welded' to it.  In cases where a character gets out of the car and walks around, it is a separate object... ;)  It is created in its entirety, like the cars.

Animations are an orthogonal issue.  Animations, in theory, can be applied to any give geometry -- depends how you set it up.


Author Comment

ID: 11794378
Thanks Dave.
I'm just getting in to 3D game programming/development.
I've learnt Java previously, and have just a few months of experience in C++  (quite a small amount).
Not only am I inspired to make games, but I have some GREAT ideas, typically for a Massively Multiplayer Game. I don't have any experience with programming 3D graphics in C++. However, I've order quite a few books online, and it's just a case of waiting for them to arrive.
At the moment though, I'm just researching certain things (such as this question).

So, I could make a character/object in ..max, then export it in, for example, some ASCII format. Then somehow code my program to import it?
How difficult would you rate that?  Because, for a large online/networked game, then all the users must load the right character (I don't see an issue here), but loading it to 'face' the right direction, etc..  That doesn't seem easy.
Am I WAY over thinking this? Will it all make sense once I do some good reading? :o\


Oh yea, I'm trying to figure out how to make a MASSIVELY multipler game (for over the internet). I'm just a student, and have spent all the money (the little I had) on two 3D related books. Could you recommend a site on some sort of free help? ie; tutorials?? :o\  I just can't think up a very good method to transfer data between (well, up to hundreds of different people) at once!! Without killing a machine! lol :o\  Any recommendations?? Ta.

LVL 17

Accepted Solution

davebytes earned 40 total points
ID: 11794629
You should start another Question if you want to discuss MMP topics. ;)

Writing exporters and importers for 3D data and animations is intermediate-to-advanced level coding, in my opinion.  You are better off using an engine (sourceforge has a bunch of opensource ones) that already exists and does this stuff.

It sounds like you have great ideas, but building an MMP is not a single-person project... :)  Working on specific code that would help manage back-end data flow for an MMP might be a single person project, but you'd need an existing engine/framework to add it into so that you don't have to build everything else.


Author Comment

ID: 11803484
Okay, thanks very much Dave!


Featured Post

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
mfc + Opengl - i am getting error 1282 13 917
Java Sound- is an old-school BEEP possible? 6 96
bunnyEars challenge 6 139
Fibonacci challenge 11 133
Artificial Intelligence comes in many forms, and for game developers, Path-Finding is an important ability for making an NPC (Non-Playable Character) maneuver through terrain.  A* is a particularly easy way to approach it.  I’ll start with the algor…
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question