Sign in to follow this  
ShahidAli

id tech 3 game engine?

Recommended Posts

well guys i am a kind of new to posting a qustion in a form and sorry if it is wrong section for this topic.my question is i have searched the id tech 3 engine hard but could not found it.?? and is it based of opengl api's for rendering? and can i gain experience if i used it as i have a basic knowledge of opengl and i can not do a great deal in opengl but i want to learn opengl because i love it.so...will id tech 3 game engine help me understand how a 3d game is made with the help of opengl?i have red book thats great but that teaches you opengl not game programming....

Share this post


Link to post
Share on other sites
[quote name='marsvam' timestamp='1317987008' post='4870072']
... 1) i have searched the id tech 3 engine hard but could not found it.??
... 2) is it based of opengl api's for rendering?
... 3) can i gain experience if i used it
... 4) i want to learn opengl because i love it.
... 5) so...will id tech 3 game engine help me understand how a 3d game is made with the help of opengl?
... 6) i have red book thats great but that teaches you opengl not game programming....
[/quote]
[font=arial, verdana, tahoma, sans-serif][size=2]1) [url="http://ioquake3.org/"]You can easily find it.[/url](<-- you want this, since it fixes a lot of the original's problems)
2) Yes, it's based on OpenGL[/size][/font]
3) Yes, you could 'gain experience' but it would most likely be a painful one
4) Great! Then learn OpenGL in whatever language you are familiar with.
5) Probably not, since you neither know OpenGL, nor is idTech3 a good codebase to start from.
6) Yes. But you said you wanted to learn OpenGL, not game programming. Which is it?

Share this post


Link to post
Share on other sites
first of all...thank you..the way you clear all the things was just perfect..and yes i want to concentrate on opengl right now,,in the future yes but not now...and i am a hobbyist programmer of C/C++ for almost ten years but i came to know abt the graphics api's a year ago since then i am trying on opengl.and i understand the code examples of the red book easily..what will you suggest to me,,, reading the red book understanding it and compiling the code examples is good enough to learn opengl?????

Share this post


Link to post
Share on other sites
I suggest to go through a few games and blackbox-analyze them first. Then have a look at modding. It is important to grasp the underlying problems before trying to solve them.

Reading books or compiling stuff does not make you understand anything. You have to understand the model first, the issues involved in driving a piece of real hardware, the performance pattern implications...

As a personal experience, I think that "starting from visualizing the output" is possibly an error. If I had to go back, I'd move away from graphics tests much sooner to focus on internal logic... because that's what's going to be needed.

Reading the spec... or the red book for what it counts, with no connection to the reality of problems being solved might eventually cause you to not see the bigger picture. Be careful.

Share this post


Link to post
Share on other sites
[quote name='Krohm' timestamp='1318064147' post='4870422']
I suggest to go through a few games and blackbox-analyze them first. Then have a look at modding. It is important to grasp the underlying problems before trying to solve them.

Reading books or compiling stuff does not make you understand anything. You have to understand the model first, the issues involved in driving a piece of real hardware, the performance pattern implications...

As a personal experience, I think that "starting from visualizing the output" is possibly an error. If I had to go back, I'd move away from graphics tests much sooner to focus on internal logic... because that's what's going to be needed.

Reading the spec... or the red book for what it counts, with no connection to the reality of problems being solved might eventually cause you to not see the bigger picture. Be careful.
[/quote]

A good suggestion, as long as you stay away from actually trying to 'analyze' commercial game engine code - which is what the OP seemed to be suggesting he wanted to do in his first post. That... would be insanity.

Share this post


Link to post
Share on other sites
right now i am a little confused that what should i do either i should try out the commercial game code for learning, would it not be a little difficult for me or i should try out the opengl api's in any general problem for learning opengl and after that game programming...i think the suggestions of you both are contradicting..or it seems to me as if they are contradicting and they are not actually..what do you two experienced guys say about it..

Share this post


Link to post
Share on other sites
[quote name='DarklyDreaming' timestamp='1318081764' post='4870490']A good suggestion, as long as you stay away from actually trying to 'analyze' commercial game engine code - which is what the OP seemed to be suggesting he wanted to do in his first post. That... would be insanity.
[/quote]Please suggest a better terminology. I actually meant "experimenting with content creation and see what happens". This is very important and standard. Although it is not a "true" black-box analysis in the "formal" sense of the term the amount of insight that can be gained is immense, especially in the terms of architectural design.

[quote]right now i am a little confused that what should i do either i should try out the commercial game code for learning, would it not be a little difficult for me or i should try out the opengl api's in any general problem for learning opengl and after that game programming[/quote]The two things are not comparable. Say for example you start playing with [url="http://unity3d.com/unity/download/"]Unity[/url] or [url="http://udn.epicgames.com/Three/WebHome.html"]UDK[/url]. Or say you'll start creating content for ioQuake (since this thread is about id tech 3). Doing this already requires some skill and knowledge.
It's like a "spiral" path. You will approach more and more what you're trying to do. Maybe you're just really good and you will be able to go straight to the center, I don't know. Using an existing engine is nonetheless very recommended.

If you want to "[color="#1C2837"][size="2"][i]understand how a 3d game is made[/i][/size][/color]", then OpenGL... or D3D for that matter, won't help you much as the rendering API is in fact minor implementation detail. Perhaps you'll become a really good graphics programmer, but for a whole game, that's only the beginning (or the last step). By the way, if you have been "[color="#1C2837"] [/color][color="#1C2837"][size="2"][i]a hobbyist programmer of C/C++ for almost ten years[/i][/size][/color]", odds are you are really code-centric, or maybe not. Feel free to elaborate!

What's the problem in what DarklyDreaming is writing? I don't see any problem.

Share this post


Link to post
Share on other sites
thanks for your experienced suggestions and i see no problem with what darkly dreaming is suggesting but i was a little confused now that confusion is out of the way as i am gaining more and more knowledge on this topic from you two and around the internet.i have started to learn modding and that is giving me a feel of how games are actually made but at the same time i haven't stop reading the red book and compiling its examples because i think its not bad if i learn both the API of my choice and game making...

Share this post


Link to post
Share on other sites
i have found a book named (focus on game mod programming in quake 3 arena written by Shawn Holmes).that is very helping book on the id tech 3 game engine and moding...so both of you guys suggestions were great and now i know what to do.thanks a lot

Share this post


Link to post
Share on other sites
[b]problem compiling ioq3 source with visual studio 2008 help needed.......wheh i try to compile the code of the solution the cgame project does get compile but after that the visual studio brings up a dialogue box....which says [i]"Please specify the name of the executable file to be used for the debug session".......but i i am compiling the source as release win32.......will someone help me what is wrong????[/i][/b]

Share this post


Link to post
Share on other sites
On the topic of learning...
I took this a while ago and found everything super useful.

[url="http://www.cs.rpi.edu/~cutler/classes/advancedgraphics/S11/calendar.html"]Class[/url]


Doing the HWs can be fun/challenging. Feel free to skip HW0.

The HWs included
- mesh simplification / subdivision
- ray tracer w/ distribution effects (soft shadows, semi-glossy reflections, etc)
- cloth simulation
- fluid simulation (could never get this working :( )
- radiosity
- photon mapping
- stencil shadow
- shaders

Best of all, all the stub code is provided. No need to pull your hair out over OpenGL stuff.

Share this post


Link to post
Share on other sites
[quote name='marsvam' timestamp='1319106961' post='4874638']wheh i try to compile the code of the solution the [b]cgame project[/b] does get compile but...[/quote]I don't remember much but... wasn't the cgame supposed to be compiled with LCC targeting the internal VM? I've never looked at ioQuake, did you got it with this cgame project already set up?

I don't remember much to be honest, so take this with salt.

Share this post


Link to post
Share on other sites
yes i got ioq3 source code and i compile it with visual studio 2008 as the directions were given,,,,,there are 5 projects in the ioq3 solution,the cgame,game,q3_ui,quake3 and ui.
the visual studio builds 3 projects but it fails the quake3 and ui project...i have searched hard over internet and i came to know that the failure of ui project is normal but i haven't seen anyone whose quake3 project is failing...the output from the build log of my qauke3 project which i am compiling as release win32 is given below


[font="monospace"][size="2"] Linking...LINK : warning LNK4199: /DELAYLOAD:OleAcc.dll ignored; no imports found from OleAcc.dllcommon.obj : [/size][/font]
[font="monospace"][size="2"]error LNK2019: [/size][/font][font="monospace"][size="2"]unresolved external symbol _qvmftolx87 referenced in function _Com_DetectSSEcommon.obj[/size][/font]
[font="monospace"][size="2"] : error LNK2019: unresolved external symbol _qftolx87 referenced in function _Com_DetectSSEcommon.obj [/size][/font]
[font="monospace"][size="2"]: error LNK2019: unresolved external symbol _qvmftolsse referenced in function _Com_DetectSSEcommon.obj :[/size][/font]
[font="monospace"][size="2"] error LNK2019: unresolved external symbol _qftolsse referenced in function _Com_DetectSSEcommon.obj : [/size][/font]
[font="monospace"][size="2"]error LNK2019: unresolved external symbol _qsnapvectorx87 referenced in function _Com_DetectSSEcommon.obj : [/size][/font]
[font="monospace"][size="2"]error LNK2019: unresolved external symbol _qsnapvectorsse referenced in function _Com_DetectSSE..\..\build\quake3_release\ioquake3.exe : fatal error LNK1120: 6 unresolved externals[/size][/font]
[font="monospace"][size="2"]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[/size][/font]
[font="monospace"][size="2"][b]MY PROBLEM[/b][/size][/font]
[font="monospace"][size="2"]The symbols which can not be recognize by the linker are actually functions that are coded in assembly...and i know where to find definition and header files for these..but firstly i don't know how to add assembly files to projects will they be linked as normal headers and library files or they need somewhat different approach??? and second what am i doing wrong????because no one seem to be facing this problem...it could be a very basic silly mistake,but i can't figure it out..
[/size][/font]

Share this post


Link to post
Share on other sites
[quote name='marsvam' timestamp='1319311184' post='4875403']
yes i got ioq3 source code and i compile it with visual studio 2008 as the directions were given,,,,,there are 5 projects in the ioq3 solution,the cgame,game,q3_ui,quake3 and ui.
the visual studio builds 3 projects but it fails the quake3 and ui project...i have searched hard over internet and i came to know that the failure of ui project is normal but i haven't seen anyone whose quake3 project is failing...the output from the build log of my qauke3 project which i am compiling as release win32 is given below


[font="monospace"][size="2"] Linking...LINK : warning LNK4199: /DELAYLOAD:OleAcc.dll ignored; no imports found from OleAcc.dllcommon.obj : [/size][/font]
[font="monospace"][size="2"]error LNK2019: [/size][/font][font="monospace"][size="2"]unresolved external symbol _qvmftolx87 referenced in function _Com_DetectSSEcommon.obj[/size][/font]
[font="monospace"][size="2"] : error LNK2019: unresolved external symbol _qftolx87 referenced in function _Com_DetectSSEcommon.obj [/size][/font]
[font="monospace"][size="2"]: error LNK2019: unresolved external symbol _qvmftolsse referenced in function _Com_DetectSSEcommon.obj :[/size][/font]
[font="monospace"][size="2"] error LNK2019: unresolved external symbol _qftolsse referenced in function _Com_DetectSSEcommon.obj : [/size][/font]
[font="monospace"][size="2"]error LNK2019: unresolved external symbol _qsnapvectorx87 referenced in function _Com_DetectSSEcommon.obj : [/size][/font]
[font="monospace"][size="2"]error LNK2019: unresolved external symbol _qsnapvectorsse referenced in function _Com_DetectSSE..\..\build\quake3_release\ioquake3.exe : fatal error LNK1120: 6 unresolved externals[/size][/font]
[font="monospace"][size="2"]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[/size][/font]
[font="monospace"][size="2"][b]MY PROBLEM[/b][/size][/font]
[font="monospace"][size="2"]The symbols which can not be recognize by the linker are actually functions that are coded in assembly...and i know where to find definition and header files for these..but firstly i don't know how to add assembly files to projects will they be linked as normal headers and library files or they need somewhat different approach??? and second what am i doing wrong????because no one seem to be facing this problem...it could be a very basic silly mistake,but i can't figure it out..
[/size][/font]
[/quote]

Those errors usually pop up when your compiler isn't linking some library files. You might either need to install the DirectX SDK or link some stuff - try googling those error codes one at a time.

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