What do YOU want in a BSP compiler?

The place for artists, modellers, level designers et al to discuss their approaches for creating content for OGRE.
User avatar
DarkSeraph
Halfling
Posts: 85
Joined: Thu Apr 28, 2005 5:42 pm

Post by DarkSeraph »

noob question: will your converter only change the .map made in a specific editor, or will it filter out stuff etc? Actually, since you are using your own way to compile (not Quake3) will it still work easily with an editor? or just 3ds and blender for .scene files? Simply, can you clarify from where should/can a user take their file and put it in your program and have no or minimal errors?

Will this program let the user preview what has been mapped, and then it can be modified for lighting etc? I'm very interested in this program, it sounds like it will make a LOT of lives easier, mine most certainly included. :)
User avatar
skullfire
Gremlin
Posts: 150
Joined: Sat Mar 19, 2005 7:51 pm
Location: San Jose, Costa Rica
Contact:

Post by skullfire »

qsilver, i am sooo watching this thread. Supporters++, Droolers++.
I would love to see some scripting access to the maps, like said so earlier, so that you could make several events like chatting to an npc or something.
User avatar
DarkSeraph
Halfling
Posts: 85
Joined: Thu Apr 28, 2005 5:42 pm

Post by DarkSeraph »

I'd hate to keep posting here if qsilver doesn't even have this planned anymore. Qsilver, can you just let us know if this is still in development, and maybe a time frame so I can stop holding my breath for this to come out soon? This converter would be sooo handy.
qsilver
OGRE Community Helper
OGRE Community Helper
Posts: 198
Joined: Sat Oct 02, 2004 9:11 am
Location: San Francisco, California, USA

still in development!

Post by qsilver »

Sorry for the lack of updates! I have final exams right now at my university, or else I'd have made a lot more progress ;) This project is still being worked on, and I hope to have something releasable after another two weeks or so.
User avatar
DarkSeraph
Halfling
Posts: 85
Joined: Thu Apr 28, 2005 5:42 pm

Post by DarkSeraph »

Good luck on finals! Most schools are finishing up now, so it will probably become more busy here in a couple weeks.


My question is: will this be limited to the type of .map file? Will it be able to take one from Worldcraft?

More detailed questions is will is do dynamic lighting, or be able to put a model into a map?

Sorry for so many questions, but this program might fit my purpose nicely, so I'm very curious about it!
User avatar
DarkSeraph
Halfling
Posts: 85
Joined: Thu Apr 28, 2005 5:42 pm

Post by DarkSeraph »

qsilver, any update on this? I'm holding my breath until it comes out :)


Also, will it be open source?
qsilver
OGRE Community Helper
OGRE Community Helper
Posts: 198
Joined: Sat Oct 02, 2004 9:11 am
Location: San Francisco, California, USA

Post by qsilver »

Yes, open-source of course :) But don't hold your breath :(

Fortunately for me, but unfortunately for you, I graduated yesterday with my BS in Comp Sci. I have a fantastic job opportunity in California and I've decided to take it, which means that I am -- at this very moment -- packing all my stuff and preparing to move. I need to find a place to live, buy a new car, go through orientation at work, etc. It may be over a month before I can create a working release out of my test prototypes.

I will see what I can do about releasing a bare-bones version, with no support for lightmapping or geometry optimization. Again, though, no promises -- it may be a few weeks.

Please don't ask me about my job, I can't talk about it here :)
User avatar
DarkSeraph
Halfling
Posts: 85
Joined: Thu Apr 28, 2005 5:42 pm

Post by DarkSeraph »

I live in San Diego, California. If you have any questions or anything about the area, I probably have a good idea. Good luck on the move and your new job :) I am interested in it, but I'm not asking :lol:

as for Map to BSP take your time then, I'll find a way around it, or continue to use Q3 to compile my maps. I suppose it's not that urgent, I just like knowing what tools I'm going to be able to use to complete the job before I really get started, but that's unreasonable, things always change :wink:

Good luck!
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

Congrats, qsilver! :) 8)
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
Phantom
Greenskin
Posts: 106
Joined: Mon Aug 02, 2004 10:28 pm
Location: Helsinki, Finland

Post by Phantom »

congrats man.
Sindwiller
Halfling
Posts: 44
Joined: Mon May 16, 2005 9:38 am

Post by Sindwiller »

Do you can write a *.vmf (Valve Map File/HL2 Map) to *.map Converter or somehow a *.vmf Compiler that compiles in the Q3 BSP Format?

mfg, SIndwiller
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

If you want a map, you simply compile a level in Hammer -> you get a .map and a .bsp .. :wink:
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Spudder
Halfling
Posts: 54
Joined: Fri Mar 04, 2005 11:25 am

Post by Spudder »

It's been a while since I last used Hammer or Worldcraft as it was back then but I do remember it having the option to export the level to a .map file al though when I tried to open that exported file in Radient it didn't quite work seamlessly.
User avatar
DarkSeraph
Halfling
Posts: 85
Joined: Thu Apr 28, 2005 5:42 pm

Post by DarkSeraph »

jacmoe, not with a .vmf.

Spudder, if you are doing this for anything that would ever go public, stop. Valve gets quite pissy about their EULA, and Hammer Editor is supposed to be used strictly for Valve Games, and HL2 is far from an exception. If you go to the last version of Worldcraft, 3.3 I believe, you can save it as a .map. I'm pretty sure that their EULA does not extend to any version of Worldcraft, but pretty sure that any version of hammer is out of the question.

and Hammer will not make anything in Q3 BSP format. If I could figure that one out, my life would be much easier. If anyone knows how to make a Q3 BSP through Worldcraft/Hammer please let me know.

For now I'm using QuArK to create the maps, Q3 to compile them, and in the meantime a programmer and I are trying to get dynamic lighting into the BSPSceneManager, along with other entities that Ogre can read.
User avatar
haffax
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 4823
Joined: Fri Jun 18, 2004 1:40 pm
Location: Berlin, Germany
x 7
Contact:

Post by haffax »

Save your hammer/worldcraft made map. Open this map with a HL radiant. Save it as a Q3 map. Use shaderlab's q3map2 tool to create the bsp. You can get q3map2 from here: http://www.shaderlab.com/

(If it was not the HL radiant it is the Quake3 radiant, but I believe it was the HL radiant.)
team-pantheon programmer
creators of Rastullahs Lockenpracht
User avatar
Noiprox
Halfling
Posts: 64
Joined: Mon Apr 05, 2004 6:25 am
Location: North Vancouver, Canada

Post by Noiprox »

This may sound silly, but the main thing I want from a BSP compiler is for it to exist. I mean, we don't have anything at all right now, so even if it is a little sparse on the features, just having a working free BSP compiler would be great.

That said, I appreciate the effort you are putting into this and I look forward to the results. :)
Dieter Buys
Image
"Death, be not proud, though some have called thee mighty and dreadful, for thou art not so." - John Donne
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

DarkSeraph wrote:jacmoe, not with a .vmf.
.vmf is merely the internal Hammer format - before it gets compiled. :wink:
DarkSeraph wrote:For now I'm using QuArK to create the maps, Q3 to compile them, and in the meantime a programmer and I are trying to get dynamic lighting into the BSPSceneManager, along with other entities that Ogre can read.
The best way! You can export from QuArk any way you like. :)

Anyway, if you are interested in stuff for Half-Life related modding/programming, go and visit this place:
Nem's Tools.

It has, amongst a lot other things, HLLib, a great library which can help with importing HL maps into your program. I used it sometime ago, and the interface is quite nice. :wink:
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
BlasterN
Gnome
Posts: 378
Joined: Thu Mar 24, 2005 1:07 am
Location: Spain
Contact:

Post by BlasterN »

What I want in a BSP Compiler is oviusly a BSP! I explain.
- A BSP without lightmaps, because ogre has lights, and i want stencil shadows on BspSceneManger.
- A collection of "entities", like doors, ladders, water, lights, etc.. (in BSP it is TEXT you can see it if you open a BSP with notepad, around the eof)


so our BSP file look like this.
- Header
- Geometry
- Entities


------- paranoic time!
I think that the original BSP tree is... old, I think that complex goemetry is quite bad to store in BSP. you lose memory & lose speed.
The best way is to implemente a new BSP i was thinking on it a long time ago and i put here a new format.

you mantain the BSP for low poly & for high poly you don't use it, you have another structure to store it.
Process to frustum
- you go down to BSP
- search high poly that is in the frustum & show it full, not only what you see.

Why this. If you hace for example a pipe like this "¬" & have 15 faces you hace 15 faces for horizontal pipe another 15 for vertical and 30 or more for the curve, so you have aorund 60 leaf in the best way you have a BSP with 6 deep.
For high poly you can use an entity slot named for example high poly-> true|false

so our BSP file look like this.
- Header
- Low Geometry
- High Geometry
- Entities

Everybody that uses ogre want a single thing, OGREMAP FORMAT!

(i expect to express what i want my english is not quite good enough)
Works:
MapToMesh | Bengine B9 @ www.sourceforge.net/projects/maptoogremesh/
3DWorldStudio exporter@ www.blastern.info
User avatar
BlasterN
Gnome
Posts: 378
Joined: Thu Mar 24, 2005 1:07 am
Location: Spain
Contact:

Post by BlasterN »

BSP WEBS!

"A simplified yet complete explanation of BSP trees and their uses"
http://www.planetquake.com/qxx/bsp/

"The Source Engine BSP File Format"
http://www.geocities.com/cofrdrbob/bspformat.html

"VMEX - a HL2 map decompiler"
http://www.geocities.com/cofrdrbob/vmex.html

"Quake 2 BSP File Format"
http://flipcode.com/articles/article_q2bsp.shtml

"jonh Carmack blog"
http://www.armadilloaerospace.com/n.x/j ... %20Updates

"jonh Carmack Old blog" <-- better than new one
http://doom-ed.com/blog/category/doom-ed/john-carmack/

"Quake 2 Source Code "
http://www.planetquake.com/quake2/files.shtml


"BSP Tree Frequently Asked Questions (FAQ)"
http://www.gamedev.net/reference/articl ... cle657.asp

"HLLib" Open-source lib to load BSP WAD etc... all HL formats
http://nemesis.thewavelength.net/index.php?p=35

"BSP in SpecOp"
http://www.gamasutra.com/features/20000 ... way_02.htm

"Introduction to Binary Space Partition Trees"
http://www.geocities.com/SiliconValley/2151/bsp.html

"BSP Tree generation" <-- with code
http://www.cs.wpi.edu/~matt/courses/cs5 ... ument.html
Works:
MapToMesh | Bengine B9 @ www.sourceforge.net/projects/maptoogremesh/
3DWorldStudio exporter@ www.blastern.info
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

I know HLLib - it's a good library.
Nem's HL tools are also quite nice. :wink:
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
DarkSeraph
Halfling
Posts: 85
Joined: Thu Apr 28, 2005 5:42 pm

Post by DarkSeraph »

jacmoe, since you seem to have experience, how well does Ogre read HL BSPs? For some reason I was under the impression that Ogre would only read the BSPs that Q3 can read.

I think we, as the Ogre community, should try to build a tutorial or something on the best way to make BSPs, and perhaps some basic modifications to the BSPSceneManager to add in support for a few entities, like the ones that BlaterN suggested, even though most of them e.g. ladders etc are going to have to be put in by the game developers, because it will be handled differently by each game. But I think lights, water, and possibly even the ability to apply cubemaps to surfaces (oooh reflective floor!) would be very cool.

So what do you guys think? And where would be a good place to start?
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

The Ogre BspSceneManager is more or less an early technology demo to test the design of the scenemanager interface. (And showcase Ogre in the process)
It only deals with Quake3 bsp's and has only rudimentary support for q3-shaders.
What would be cool, was to merge in some of the many, many entity parsers, so that we could have something like Hammer has: a .fgd file which defines func_player_start and other entities.
Player_start is IIRC the only entity related info which Ogre BSP has..

I have a half-finished attempt at making a Half-Life (1) bsp manager, but a much better aproach would be to contact the guy who are writing a scenemanager for OpenBSP. :wink:
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

Here it is: OpenBSP Scene Manager :wink:

You have to get hold of that Keith guy, though. He holds the code.
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Lioric
Google Summer of Code Mentor
Google Summer of Code Mentor
Posts: 295
Joined: Fri Aug 06, 2004 10:25 pm

Post by Lioric »

BSP is too old technology for todays GPUS, its that old that now its not a speedup or some good geometry optimization, but a bottleneck in the graphics pipeline

For example, now you can throw a general Q3 lelvel geometry in the engine and render it without using BSP algorithm and still get playable fps

BSP was made when software renderers or primitive hardware acceleration existed, so an extra poly face, made a difference in the fps

But now the gpus are hungry for polygons, a batch beasts like Sinbad said (if i remember well).
What can affect the geometry performance are the render state changes, and the screen pixel resolution for the fragments

Its still good for collision detection or level lights optimization, but in this case a low resolution bsp version in better

There are much efficient culling algorithms now, even convex/portal kd-trees can easily beat bsps, and the memory use is good

Lioric
User avatar
DarkSeraph
Halfling
Posts: 85
Joined: Thu Apr 28, 2005 5:42 pm

Post by DarkSeraph »

jacmoe, I have gotten the equivalent of an fgd into QuArK, hence I could specify my own entities within the map. That part I can do, but the actual writing of the SceneManager is where I fall short. I don't understand it that well, and my coding skill is not that strong.

OpenBSP doesn't seem to be that much better than using Q3 to compile, if not worse, if you have a complex map, like the ones I have planned in my head. No VIS? You can't imagine how bad HL2 would be if there was no VIS. I've created rooms in HL that people would be pissed off if I published because there were 25k polys, and that's with VIS. And I am not convinced that lightmaps are the way to go, it seems to me that dynamic lighting might be a bit more rough on a system, require a bit more real-time processing, but it's better than creating the same texture 50 different times because it has a different lightmap applied to it. Again, let me know what you think, but I don't think OpenBSP, as it is, is a very good idea.
Post Reply