Page 1 of 1

Help this Noob with maps

Posted: Sat Jan 27, 2007 4:36 am
by gamemaker981
Hi,
I'm new to Irrlicht. In fact, this is the first engine I ever touched.

I was doing the second tutorial that loads a Quake 3 map, "map-20kdm2.pk3".

I understand that .pk3 are Quake3 files, and .pk4 are Quake4 files, and these are nothing more than zip files.

First of all, I'm having serious trouble finding a good supply of Quake3 maps.
If someone can give a link, it'll be very helpful.
A few maps that I found had more than four folders inside them, namely "sound", "shaders" etc. and refuse to be opened.

http://letsmakegames.googlepages.com/cpm1a.pk3 Here is the a map that I was able to open by simply changing the name.
This is the only map I found that has only 4 sub-folders like the one in tutorial, and the .bsp file (whatever that means), is in "maps".

Code: Select all

device->getFileSystem()->addZipFileArchive("cpm1a.pk3");
scene::IAnimatedMesh* mesh = smgr->getMesh("cpm1a.bsp");
However, if you run this map, you'll find some textures missing. There is no floor in the upper level, and in some places small textures are missing. Is the map bad, or is there something wrong with my display.

Thanks in advance.

Posted: Sat Jan 27, 2007 5:52 am
by KG
PK3 files are not Quake 3 map files. They're renamed ZIP files, so they can and usually do hold a lot more than just map data. They might not even have any maps inside. In addition, many of the files that you'll find in a Quake 3 PK3 can't be used by Irrlicht. Don't worry about that, though, because Irrlicht will ignore files that you don't specifically tell it to use.

The BSP files are the actual maps, and Irrlicht loads them just fine. The BSP files don't contain textures, just geometry data. Textures are loaded from external files. Most Quake 3 textures are standard formats that Irrlicht can also load, except for the shaders. Quake 3's shader files are text files that tell the game how certain textures are supposed to look or react. Irrlicht can't use those, so any parts of the map that use shaders will be missing textures.

Also, remember that these maps are designed for Quake 3. If they used any of Quake 3's stock textures, those will be missing.

Posted: Sat Jan 27, 2007 8:51 am
by luigi2004
the shaders are simple text files which you could parse your self

Posted: Sat Jan 27, 2007 10:11 am
by sio2
KG wrote:Quake 3's shader files are text files that tell the game how certain textures are supposed to look or react. Irrlicht can't use those...
KG's post was very accurate and very informative. This above is true for 1.2, but the latest version in SVN (Subversion source repository) has support for Quake3 shader files. In fact, if you can load up maps from Quake 3 pk3 files and they look quite good (still a few bits missing as it's still in development, I guess). :wink:

Posted: Sat Jan 27, 2007 10:36 am
by gamemaker981
hey!

Thanks, but that still doesn't solve my problem. What am I do if I need maps?
Is there a good link?

Even if I use a 3ds Max or Maya file, I'd still need the textures, right?

Please help me, where can I practice more? Am I supposed to use only the map that comes with the tutorial?

Posted: Sat Jan 27, 2007 1:10 pm
by Acki
You can use any 3d editor you like (3dsMax, Milkshape3d, ...) !!!
And of course you need the textures !!!
The textures that are missing in the pk3 files are Q3 standard textures and are not included to the pk3 file !!!
So if you have Q3, than you also have the missing textures...

Posted: Sat Jan 27, 2007 2:14 pm
by gamemaker981
Acki wrote:You can use any 3d editor you like (3dsMax, Milkshape3d, ...) !!!
And of course you need the textures !!!
*sigh*
Looks like there are no shortcuts.

Posted: Sat Jan 27, 2007 4:05 pm
by KG
I think you'd be better off making pieces of a map in a modelling program and "gluing" them together in Irrlicht. That gives you more control over how the map loads and changes during gameplay, and lets you reuse things more easily so you have to do less work overall.

If you're dead set on using Quake 3 maps, poke around planetquake.com for a little while and I'm sure you'll find some. Quake 3 had a huge mapping community years ago, so I'm sure there's still something around. Just note that you'll have to put up with a lot of missing textures unless you actually have Quake 3's data files added to your game's file system.

Posted: Sun Jan 28, 2007 1:55 pm
by gamemaker981
KG wrote:I think you'd be better off making pieces of a map in a modelling program and "gluing" them together in Irrlicht.
I do this directly in Irrlicht, or I'd first have to create the map in irrEdit and then load it? (The .3ds file, that is.)

Posted: Sun Jan 28, 2007 5:31 pm
by KG
3DS files aren't "maps", they're meshes. That is, they're a bunch of triangles that you can attach to a node in the scene to visually represent something. A scene node can be a weapon, a room, a character, an item, a projectile, or anything else. Essentially, an object that needs to be visible in 3D space.

You can go ahead and model an entire world in 3ds Max and save it as a single 3DS file, but it will not contain data regarding the placement of objects like start locations, teleporters, monsters, or whatever else. You'll need to build a scene somehow.

IrrEdit can be used to create a scenes which it can save as an IRR file that can be loaded by IrrLicht at a later time to reconstruct that scene. You can use IrrEdit as a map editor if you like, but it requires some extra work to tell the game which nodes stored in the IRR file represent which objects in your game.

Another option is to create your own map format with plain text or XML, and create the game world node by node and object by object based on data stored in a file. This requires the most work, but it will probably give you the best results if you can pull it off.

The third option is to just hardcode everything. This is what you have been doing already, and it is is certainly the easiest option for a new user. The problem with it is that it is inflexible and requires a recompile of the project to change anything. Even so, since you're new to the engine, I'd suggest you keep doing this until you learn more about it before you try to confuse yourself with anything else.

Posted: Mon Jan 29, 2007 4:31 am
by gamemaker981
Thanks a lot everybody!
So, shall we say that.... for all practical purposes, the tutorial on loading Quake 3 Maps is not useful, and serves only to impress the newcomer, or if you want to use Quake maps in your project.

I mean, there are a lot of great games except Quake 3, that most of us would like to load maps of...

Posted: Mon Jan 29, 2007 1:18 pm
by KG
Quake 3 BSP support isn't necessarily so that you can load Quake 3 maps, it's so that you can use various popular FPS map editors to make content for your project.

For example, I'm thinking of using GtkRadiant and its GenSurf plugin to make terrain, rather than using Irrlicht's terrain rendering. If I do that, the resulting file will be a BSP but it won't necessarily be usable in Quake 3.