Jump to content

  • Log In with Google      Sign In   
  • Create Account

We need your help!

We need 1 more developer from Canada and 12 more from Australia to help us complete a research survey.

Support our site by taking a quick sponsored survey and win a chance at a $50 Amazon gift card. Click here to get started!

Home-made BSP map editor

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
7 replies to this topic

#1 polyfrag   Crossbones+   -  Reputation: 2243


Posted 27 January 2013 - 11:31 AM

I'm using the QuArK map editor with the q3map2 compiler to make my maps but it compiles really slow (over 4 minutes) when I compile the apartment complex map I'm working on (with building interiors).

I want to make my own BSP map editor and compiler. Are there any resources you can recommend? How should I go about doing this?

Particularly, how do I divide the world into clusters and portals like in Quake 3 BSP?

And how do I make it compile with maximum speed? I need to see how the map looks in the game when I make changes, that's why it has to compile fast.


#2 Krohm   Crossbones+   -  Reputation: 4114


Posted 28 January 2013 - 02:40 AM

Doing your own editor (and compiler!) because compile takes over than 4 min? You must be joking.
Editor I could understand but... the compiler? Are you sure? Let me quickly summarize BSP history.
If you want to be able to modify live data, do not use BSP. Use AABB trees or everything else incremental.
But even this would take some effort. Hint brushes and areaportals can speed up computation quite a lot (I think 4x easily) so if you are not using them already those are your first step.

Edited by Krohm, 28 January 2013 - 11:55 AM.

#3 Krypt0n   Crossbones+   -  Reputation: 3701


Posted 28 January 2013 - 09:19 AM

if you write your own tools, you will spend a lot of time re-implementing basic functionality that QuArK already has, you will fix bugs that consume a lot of time.


I suggest you take instead the QuArK source and modify the code to your needs, why writing 99% of what is 'ok' again? that's the best reason software is open source!


so, profile the binary with e.g. AMD CodeAnalyst (it's free) and find the 1% of problematic code, now you can focus on what costs so much time, sometimes adding a few openMP lines can make such code 4x faster.


otherwise, you might ave all those 4min, but you'll spend half a year writing the editor+compiler, if you are very skilled.

#4 PlayerX   Members   -  Reputation: 279


Posted 31 January 2013 - 04:36 PM

Particularly, q3map2 was developed by some very clever and knowledgeable people (John Carmack of id, and Randy Reddig of Splash Damage).  If q3map2 is taking a long time to compile your maps you are very, very unlikely to improve on that with your own code.  Four minutes is a long time for a map - which stage is it slow in?  BSP, VIS, or lighting?

#5 polyfrag   Crossbones+   -  Reputation: 2243


Posted 05 February 2013 - 02:48 AM


#6 polyfrag   Crossbones+   -  Reputation: 2243


Posted 05 February 2013 - 02:50 AM

Here is what I'm basing the map on:






You can check out the detail here:





#7 Krypt0n   Crossbones+   -  Reputation: 3701


Posted 05 February 2013 - 04:19 AM

you're modeling the whole place inside the square? in all details? (rooms, windows etc?)


that's impressive and cool.


I just think the old school BSP tech might not be the best, it's not that well suited to render big amounts of polys (in case you're going outdoor).


will check out your zip when I'm at home :)

#8 CC Ricers   Members   -  Reputation: 1482


Posted 05 February 2013 - 11:26 AM

You may want to check out L. Spiro's article on his .MAP generator which builds out BSP trees based on the Hammer editor. The sample code is explained pretty well.

New game in progress: Project SeedWorld

My development blog: Electronic Meteor

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.