The new forums will be named Coin Return (based on the most recent vote)! You can check on the status and timeline of the transition to the new forums here.
Please vote in the Forum Structure Poll. Polling will close at 2PM EST on January 21, 2025.
I'm going to have a lot of free time on my hands fairly soon and I'm thinking of trying to make a 3D game (I know it's not easy. I'm not trying to make the next Crysis in my room or anything). The thing is, I have no idea where to start. I'm not looking for programming or modeling tutorials (those are easy enough to find) so much as general guides. Stuff like general modeling concepts (What's NURBS? Unwrapping? UV something or other? What file formats to use and why?) and putting it together (Okay, I have some models, how do I use them? Rendering? How to store level data?).
Hate to break it to you, but this is stuff that takes college people years to learn and become proficient (not even good out of school).
Any modeling tutorials will explain NURBS, UV's and all of the other 3d terms. Fileformats are subjective to the game engine you choose to use. Each engine will have varying methods of incorporating the models and other data into them.
Edit:
Feel that was kind of too negative. I'm not telling you not to pursue this, but just think about the time investment and the various skillsets you will need to start on something like this. Your best bet would be to get some idea's first, then move on the art/modeling, animation, etc...
Your art can only be as good as your source material, good thing to keep in mind.
As for programming side, I can't really help much there sadly. Game engines are a little above my understanding.
A nurbs is a 'Non-Uniform-Rational-B-Spline. It's basically a method of creating a curved surface using 3 or more splines to control the curvature. As far as I'm aware they're not used in game-modelling.
You will need to concentrate on box-modelling. I would forget trying to create a 'game' and perhaps spend the first week trying to create a prop for an existing engine (an ammo crate or something simple) and bring it into the game engine to give you an idea of how it works. I've heard good things about the Unreal 3 engine, apparently it's a lot easier to use than Source.
Do you know anything about programing at all? Have you ever written hello world? What about taken an into-level programming class or at least written some example programs from either a book or a website? If you're looking to make a game by yourself you will need to learn to program first. Personally I would try to mod an existing game before I tried to build one from scratch, especially if I didn't know where to start.
Do you know anything about programing at all? Have you ever written hello world? What about taken an into-level programming class or at least written some example programs from either a book or a website? If you're looking to make a game by yourself you will need to learn to program first. Personally I would try to mod an existing game before I tried to build one from scratch, especially if I didn't know where to start.
Yes, yes, yes and yes.
I probably should have been a little more clear originally. I have no intention of writing my own engine, I'd probably end up using an open-source one (Quake III, maybe). And I'm not trying to make something that looks amazing either. I'll be perfectly happy with making blocky models that only resemble the things they're supposed to look like.
Every game model is made out of triangles. Triangles are 3-sided polygon, so all game modelling is done in modeling programs that support polygonal modelling like 3dsmax or Maya. When you have created a model out of polygons, the next step is to texture it. To do this, you need some way to map a 2d texture onto a 3d model. This is done by UV unwrapping the model; you take all of the vertices in XYZ space and lay them out in UV space, which is just a flat 2d plane. This plane is a square with dimensions that are powers of two, or in very rare cases it is a rectangle twice as wide as it is tall, still in powers of 2. Once you have the model made out of polygons and the UV map, you draw your texture onto the UV map, which is mapped onto the model. The model consists of the 3d polygons and the 2d texture, typically exported into whatever format your game engine reads. You don't really get a file format choice.
Your other questions ("how do I use them? Rendering? How to store level data?") are questions that are not related to creating art for a game. They are engine-specific. For example, "using" your model would consist of exporting it to a format the game engine can read, at which point it's now the programmer's job. Rendering the model is done in-engine. I don't even know what you mean by level data.
Does that cover everything? Feel free to specify more lines of inquiry if you need more information.
For all of the (student) games I've worked on, the art pipeline goes something like this for characters:
Concept art/process work
Model sheets (final 2D drawings with correct proportions of the character/prop or what have you)
Model in 3DsMAX/maya created off the drawings
Rigging (bones and whatever else the game engine can handle, sometime biped)
Skinning (weighting your model to the bones)
Animation
UV unwrap (essential making what would be called a 'pattern' in sewing- flattening out your model for texture)
Texture painting in photoshop/painter or other programs
Export for the programmers
I haven't really done any environments yet, but I'm sure the pipeline is at least as long as this one.
This entire process will probably take you a lot of time at first. This of course doesn't count what the programmers have to do; they do an awful lot of work that I never really get to see. I'm going to school to learn 3D so I can hopefully get into doing game art eventually, and let me tell you it's no easy undertaking.
If you're looking for good 3D resources, I recommend:
Every game model is made out of triangles. Triangles are 3-sided polygon, so all game modelling is done in modeling programs that support polygonal modelling like 3dsmax or Maya. When you have created a model out of polygons, the next step is to texture it. To do this, you need some way to map a 2d texture onto a 3d model. This is done by UV unwrapping the model; you take all of the vertices in XYZ space and lay them out in UV space, which is just a flat 2d plane. This plane is a square with dimensions that are powers of two, or in very rare cases it is a rectangle twice as wide as it is tall, still in powers of 2. Once you have the model made out of polygons and the UV map, you draw your texture onto the UV map, which is mapped onto the model. The model consists of the 3d polygons and the 2d texture, typically exported into whatever format your game engine reads. You don't really get a file format choice.
That's pretty much everything I wanted to know about modeling. I guess any more detail on these things would be software specific, right?
I don't even know what you mean by level data.
I guess that would be engine-specific too. I just meant how game levels are stored/represented. Like, are maps complete 3D models that other models are placed around/on top of at load time? Or is it more like "Here's a plane covered in these textures at these points with models loaded and placed at these coordinates"?
I guess that would be engine-specific too. I just meant how game levels are stored/represented. Like, are maps complete 3D models that other models are placed around/on top of at load time? Or is it more like "Here's a plane covered in these textures at these points with models loaded and placed at these coordinates"?
The common 'beginner' format for 3D game levels -- particularly indoor areas like in a first person shooter -- is BSP (binary space partition). The wikipedia article gives a very basic overview of the format, and links to an article on binary space partitioning which gives a more general explanation of the reasoning behind binary space partitions as a data structure.
However, for a first project you could probably get away with using just a simple 3d model. Modern graphics cards will have plenty of computing power to spare when running a usual first game project (low poly count, few and low-res textures, few or no shaders, etc...).
Posts
Any modeling tutorials will explain NURBS, UV's and all of the other 3d terms. Fileformats are subjective to the game engine you choose to use. Each engine will have varying methods of incorporating the models and other data into them.
Edit:
Feel that was kind of too negative. I'm not telling you not to pursue this, but just think about the time investment and the various skillsets you will need to start on something like this. Your best bet would be to get some idea's first, then move on the art/modeling, animation, etc...
Your art can only be as good as your source material, good thing to keep in mind.
As for programming side, I can't really help much there sadly. Game engines are a little above my understanding.
also
http://www.poopinmymouth.com/tutorial/tutorial.htm
has excellent beginner tutorials.
This will only take you as far as making graphics.
You will need to concentrate on box-modelling. I would forget trying to create a 'game' and perhaps spend the first week trying to create a prop for an existing engine (an ammo crate or something simple) and bring it into the game engine to give you an idea of how it works. I've heard good things about the Unreal 3 engine, apparently it's a lot easier to use than Source.
Modding is a great way to make a game with out worrying about too much coding and that sort.
Yes, yes, yes and yes.
I probably should have been a little more clear originally. I have no intention of writing my own engine, I'd probably end up using an open-source one (Quake III, maybe). And I'm not trying to make something that looks amazing either. I'll be perfectly happy with making blocky models that only resemble the things they're supposed to look like.
Your other questions ("how do I use them? Rendering? How to store level data?") are questions that are not related to creating art for a game. They are engine-specific. For example, "using" your model would consist of exporting it to a format the game engine can read, at which point it's now the programmer's job. Rendering the model is done in-engine. I don't even know what you mean by level data.
Does that cover everything? Feel free to specify more lines of inquiry if you need more information.
Uh-oh I accidentally deleted my signature. Uh-oh!!
Concept art/process work
Model sheets (final 2D drawings with correct proportions of the character/prop or what have you)
Model in 3DsMAX/maya created off the drawings
Rigging (bones and whatever else the game engine can handle, sometime biped)
Skinning (weighting your model to the bones)
Animation
UV unwrap (essential making what would be called a 'pattern' in sewing- flattening out your model for texture)
Texture painting in photoshop/painter or other programs
Export for the programmers
I haven't really done any environments yet, but I'm sure the pipeline is at least as long as this one.
This entire process will probably take you a lot of time at first. This of course doesn't count what the programmers have to do; they do an awful lot of work that I never really get to see. I'm going to school to learn 3D so I can hopefully get into doing game art eventually, and let me tell you it's no easy undertaking.
If you're looking for good 3D resources, I recommend:
http://www.3dtotal.com/ffa/tutorials/max/joanofarc/joanmenu.asp (a little old but tells you how to model edgeflow correctly)
and
http://area.autodesk.com/ (For general 3D tutorials)
I hope that helps.
I like drawing, cartoons, cookies, and shiny pointy objects.
That's pretty much everything I wanted to know about modeling. I guess any more detail on these things would be software specific, right?
I guess that would be engine-specific too. I just meant how game levels are stored/represented. Like, are maps complete 3D models that other models are placed around/on top of at load time? Or is it more like "Here's a plane covered in these textures at these points with models loaded and placed at these coordinates"?
The common 'beginner' format for 3D game levels -- particularly indoor areas like in a first person shooter -- is BSP (binary space partition). The wikipedia article gives a very basic overview of the format, and links to an article on binary space partitioning which gives a more general explanation of the reasoning behind binary space partitions as a data structure.
However, for a first project you could probably get away with using just a simple 3d model. Modern graphics cards will have plenty of computing power to spare when running a usual first game project (low poly count, few and low-res textures, few or no shaders, etc...).