Sign in to follow this  
abolfoooud2

How to create a 3d world for games??

Recommended Posts

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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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]

Share this post


Link to post
Share on other sites
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...

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
thanx all for your replies
i appriciate them :)
i got the idea behind an engine. i think it would be better for me to go through the process of designing one myself to get familiar with the complete process. i do prefer spending time writing one and understand the logic behind it to reading an already exisiting one and waste time figuring out what functions do instead of realising the underneath logic.

one more thing, if i sorted out the engine dilema, how can i import worlds into my game? i know how to design an object in 3d max and export it to specific format them play with that format. what i am interested to know is whether the process works the same for worlds or not? do i design them, apply effects, and map textures to them in the designing IDE ie 3d max and then export all (object data, effects and texture) to my game? or i am expected to apply them manually in the code? how does that exportion of textures work as well? do i need to write the proper code in OGL or DX to map textures or they are exported mapped already?

thanx for ur conterbutions

Abolfoooud

Share this post


Link to post
Share on other sites
Quote:
Original post by nsto119
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.

Have you ever developed a MOD for HL2? Check out Valve's Wiki on MOD development and you will see that it's a little different [smile]: MOD Programming for HL2.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this