How to create a 3d world for games??

Started by
10 comments, last by darookie 18 years, 4 months ago
i am a beginner in game design and development. i wonder how experienced ppl out there like yourselves create fancy and fully featured 3d worlds. i know of the use of texture mapping. but many effects i c in games are not merely textures. for example lighting effects, shadows, light reflections etc... are all of these programmed manually? or do designers design these effects on external tools and import them to games? or do they apply texturing for each bit pro grammatically? and, what is a 3d game engine? is it and IDE-like software that can be used to create games features, AI, design and so on?? i really hope i can get answers for these question and good links where i can start developing real 3D-like games. thanx Abolfoooud
Advertisement
Tyipcally, you write (or license) an "engine" which knows how to take various marked-up geometry, generated by artists, and render it with appropriate effects. Thus, an artist could build a level in 3dsmax, texture it, place lights, and particle systems. Then they would use an exporter that's targeted to the engine, and export the entire level as data, that the engine can load and render as appropriate.

So, the specific effect kinds ("lights", "particle systems" etc) are hand-coded, but the configuration and instantiation of them ("flourescent tube", "sunlight", "torch", "electric sparks" etc) are controlled by the artists, by building the right thing in the level editor.
enum Bool { True, False, FileNotFound };
thank u for ur reply...

according to what u mentioned, the engine translates the art work done in 3D Max for instance into code, lets say OpenGL, and renders them on screen. this means that ur engine has to be in ur exe file right? how optimised is the code generated by the engines in this case and how readable and controlled is it? where can i get sample of FREE engines that i can experiment with? adn are there any documentations on the net to teach me how to use an engine?

thanx for ur help
i appreciate it :)

Abolfoooud
Quote:Original post by abolfoooud2
according to what u mentioned, the engine translates the art work done in 3D Max for instance into code, lets say OpenGL, and renders them on screen.

No exactly. The engine is a piece of code that gets a description of the 3D world and executes this description. Part of the description is actually the art work, but may also be behavioural stuff, e.g. that a warrier has to travel from location A to B. However, such stuff could be exported by standard software like Max only if you have appropriate extensions.

Quote:Original post by abolfoooud2
this means that ur engine has to be in ur exe file right?

In fact, yes. (EDIT: It may also be loaded and integrated at runtime, but in fact it becomes part of the EXE.)

Quote:Original post by abolfoooud2
how optimised is the code generated by the engines in this case and how readable and controlled is it?

That depends heavily on the engine you choose.

Quote:Original post by abolfoooud2
where can i get sample of FREE engines that i can experiment with? adn are there any documentations on the net to teach me how to use an engine?

There are many free engines available from the internet, in code, pre-compiled and with documentation. However, I expect that every engine requires some sort of programming by you.

[Edited by - haegarr on November 25, 2005 9:50:27 AM]
There are a lot of nice, free engines on the web.
Mostly you can find documentation on the homepage of the engine.

-Fenryl
I'm just starting out using OpenGL. I've heard that if your a beginner, downloading an already made game engine is a good idea. I decided to make my own, and this may seem odd, but - it's fun :)











Mike :)
You can find many free open-source engines at devmaster.net. They also have reviews that you can read from other people that have used it. Also, try searching for DeleD on google for an easy to use level creation tool.
-Kyle
Quote:Original post by abolfoooud2
thank u for ur reply...

according to what u mentioned, the engine translates the art work done in 3D Max for instance into code, lets say OpenGL, and renders them on screen. this means that ur engine has to be in ur exe file right? how optimised is the code generated by the engines in this case and how readable and controlled is it? where can i get sample of FREE engines that i can experiment with? adn are there any documentations on the net to teach me how to use an engine?

thanx for ur help
i appreciate it :)

Abolfoooud


most make their game engines into DLL's (Dynamic Link Libraries) that can be loaded at runtime making your exe alot smaller...
In addition to what has been said already I must warn you - even if you have a (free) engine that well documented and all, you will still need much time to make yourself familiar with it.
Most 3D engines out there are quite complex and even setting them up with your build environment (e.g. IDE/compiler) can be quite challenging at first. Prepare to spend a few hours (or even days) on just getting them all set up and running.
If you have never used big third-party libraries and APIs before, the amount of functionality, files and classes might be intimidating, but don't get discouraged - you will probably be much more productive than you were when trying to build your own little game engine.

Also try to find an engine that can load or convert common 3d file formats like OBJ or 3DS as you will find tons of free models on the web in these formats to toy around with. This will free you from creating some sample assets or witing for someone to create them for you (even though most engines come with a bunch of sample art that you can use for your first apps).

Good luck!
Pat
I thought the engine was compiled into an .EXE and any extraneous information was compiled into a DLL that was linked to at run-time by the engine - this is how Valve's source engine works and how it allows people to completely alter the game without actually viewing the engine code.

This topic is closed to new replies.

Advertisement