Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Moe

Quake 3 map loading questions…

This topic is 5976 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I have a few questions for those people who have loaded Quake 3 maps in either OpenGL or DirectX. I have found a link to the Quake 3 map specs, and how the files themselves are arranged. I haven''t seen any actual code to load the maps. How did you make the jump from reading the specs to actually loading a map? Did you just make a really simple map and look at it in something like notepad? What programs are used for creating the maps? (I can''t remember the name of the only program that I have heard of. Quake 3 Radiant?) Are these programs relatively easy to learn/use? I noticed in the map specs a lump called vis (or visibility). This is for determining what parts of the levels are visible and what parts aren''t? How hard is it to get this working properly? I realize that some of these questions may seem simple, but I am just trying to learn how to do this. I can imagine some of you guys are seasoned pros that learned this sort of thing from the original Quake maps. So far the only type of 3d files that I have done are .x files and Milkshape text files. I really like the Milkshape models because it''s an easy program to work with and the files are easy to load. Moe''s Site

Share this post


Link to post
Share on other sites
Advertisement
q3 maps are made with either Q3Radiant or GTKRadiant. There are a lot of q3 bsp viewers out there. Just search in google for some. The most well known are Aftershock and Titan engines. I would recommend looking at Aftershock, some of the code in the Titan engine was taken from Aftershock and Aftershock has less code so its easier for a beginner of this type of thing to get going. The Aftershock web page also has a msg board and the creator Martin Kraus (sorry if i misspeled your name Martin ) is there to help on any questions about q3 engine stuff.

-SirKnight

Share this post


Link to post
Share on other sites
OK now I can answer your questions.
quote:

How did you make the jump from reading the specs to actually loading a map? Did you just make a really simple map and look at it in something like notepad?


Nope, .bsp files are in binary so it would look like garbage in notepad. I started out by loading the whole thing into memory. I then played around with the data until I plotted all the verts using GL_POINTS. I built from there...

quote:

I noticed in the map specs a lump called vis (or visibility). This is for determining what parts of the levels are visible and what parts aren''t? How hard is it to get this working properly?


Yes, but this is really one of the last steps in the process. I would get 10-40 fps on my TNT2 with no visibility testing. I now get rates equal to Q3, course they do a few more things per frame than me.


Mike

Share this post


Link to post
Share on other sites
Ok, so I guess I will bump the visibility down on my list of priorities.

I have another question. Have you got the texturing and lightmapping to work properly? This is part of the reason I don''t want to write my own level editor, is because I don''t know how to generate light maps. I could probably figure it out with a bit of research, but that means I would be using time...

Moe''s Site

Share this post


Link to post
Share on other sites
That sounds like how I did it.

Just focus on drawing a huge list of points, then you can move onto drawing all the polys.

There is a pretty big jump in there when you start going through all the nodes and leaves.

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!