Quake 3 map loading questions…

Started by
29 comments, last by Moe 22 years, 2 months ago
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
Advertisement
Are you referring to .bsp files?


Mike
"Unintentional death of one civilian by the US is a tragedy; intentional slaughter of a million by Saddam - a statistic." - Unknown
Yes, that is the file format that I was referring to.

Moe''s Site
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
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
"Unintentional death of one civilian by the US is a tragedy; intentional slaughter of a million by Saddam - a statistic." - Unknown
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
Yes I did, but I would work on getting the geometry working before I worry about texturing.


Mike
"Unintentional death of one civilian by the US is a tragedy; intentional slaughter of a million by Saddam - a statistic." - Unknown
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.
Another quick question: Is it necessary to use a BSP tree with the .bsp file format?

Moe''s Site
I started out by ignoring the BSP tree.


Mike
"Unintentional death of one civilian by the US is a tragedy; intentional slaughter of a million by Saddam - a statistic." - Unknown

This topic is closed to new replies.

Advertisement