Compile times...

Discuss specific custom maps as well as your own work. Seek and share mapping advice.
User avatar
KillJoy
DVF Member
DVF Member
Posts: 848
Joined: Sat Jan 24, 2004 9:19 pm
Location: Hull
Contact:

Compile times...

Post by KillJoy »

Lo
Been having a problem recently, i have been designing my map and all is fine.... i just added another section (Final, no more to add) and now it takes forever to compile... i read some forums and ppl say that on occasion it can take over an hour to compile????? - is there any thing i can do about this??

any help would be great..

On a lighter note - i spent the best part of an hour looking for a leak the other day, only to find that the main roof to my map had somehow been changed into a func_door!!!!! :lol: :lol:
i flew up there and it just started sliding away!!
www.stoddartrj.karoo.net

[u][i]Counter strike: Source[/i][/u]
//IOA - Intollerant of Arseholes
Join Us On: cs.ioa-clan.co.uk:27015
User avatar
Bullet
Senior Member
Senior Member
Posts: 1569
Joined: Sun Apr 06, 2003 12:48 pm
Location: http://www.cc-clan.co.uk
Contact:

Post by Bullet »

my first map was complete and utter poo....hadnt done anything to stop R_speeds or texture memory or anything like that...shapes overlapped, the whole thing was crap! :lol:

it took over 4 hours to compile with lighting...

best thing to do is check the basics, texture memory, r_speeds, make sure you have used func_walls where possible (altho these dont block lighting which is a pain - but are good for tables/chairs that u dont need shadows under etc), try to make sure places arent 2 detailed if you can avoid it.

this is 1 problem i have with some of my maps..
Dead to the world.
217.163.30.167:27015 - [url=http://www.cc-clan.co.uk]::Convicted and Condemned::[/url] clan CSS server - http://www.cc-clan.co.uk/
::CC::
User avatar
KillJoy
DVF Member
DVF Member
Posts: 848
Joined: Sat Jan 24, 2004 9:19 pm
Location: Hull
Contact:

Post by KillJoy »

All i have on my map atm is just Blocks, i havent set any of them to func_wall, because well... they are walls and need to block light...

Blocks.. thats all i have... Blocks.... :*(
www.stoddartrj.karoo.net

[u][i]Counter strike: Source[/i][/u]
//IOA - Intollerant of Arseholes
Join Us On: cs.ioa-clan.co.uk:27015
User avatar
subdude2k
Senior Member
Senior Member
Posts: 2007
Joined: Sat Mar 16, 2002 12:46 pm
Location: Cardiff

Post by subdude2k »

KillJoy wrote:All i have on my map atm is just Blocks, i havent set any of them to func_wall, because well... they are walls and need to block light...

Blocks.. thats all i have... Blocks.... :*(
Now.. I don't make maps myself but have you left a 1 pixel gap between,
say, the block and the floor? Apparently, if you don't then the HL engine
splits the join in to hundreds of triangles. Leaving a 1 pixel gap (normally
not noticeable) will prevent this.

Sput and/or Winter should be able to confirm/deny this.

HTH

Sub
User avatar
Bullet
Senior Member
Senior Member
Posts: 1569
Joined: Sun Apr 06, 2003 12:48 pm
Location: http://www.cc-clan.co.uk
Contact:

Post by Bullet »

this is true, dont do it with the main walls etc...just stuff like crates/sofas/chairs etc need the gap.

yes if u place them together it splits the floor into a shape for every vertex touching it.....so if u did stairs against a wall the wall would be split into loads of vertical slices
Dead to the world.
217.163.30.167:27015 - [url=http://www.cc-clan.co.uk]::Convicted and Condemned::[/url] clan CSS server - http://www.cc-clan.co.uk/
::CC::
User avatar
KillJoy
DVF Member
DVF Member
Posts: 848
Joined: Sat Jan 24, 2004 9:19 pm
Location: Hull
Contact:

Post by KillJoy »

Ahhhh... right - next question then, how do you set a 1 pixel gap cos the grid only goes dow to 16 pixels??
www.stoddartrj.karoo.net

[u][i]Counter strike: Source[/i][/u]
//IOA - Intollerant of Arseholes
Join Us On: cs.ioa-clan.co.uk:27015
User avatar
Worm
DVF Admin
DVF Admin
Posts: 3742
Joined: Fri Apr 12, 2002 10:26 am
Location: Divorce court, room 5
Contact:

Post by Worm »

there is a button that cycles through the grid sizes, but i cant remember :x
[img]http://card.mygamercard.net/mini/PornoPants.jpg[/img]
I like a porno!
User avatar
Bullet
Senior Member
Senior Member
Posts: 1569
Joined: Sun Apr 06, 2003 12:48 pm
Location: http://www.cc-clan.co.uk
Contact:

Post by Bullet »

i cant help u cos i dont use VHE :)
Dead to the world.
217.163.30.167:27015 - [url=http://www.cc-clan.co.uk]::Convicted and Condemned::[/url] clan CSS server - http://www.cc-clan.co.uk/
::CC::
User avatar
Sputnik
DVF Admin
DVF Admin
Posts: 4233
Joined: Fri Jun 29, 2001 12:00 am
Contact:

Post by Sputnik »

Use the squared brackets keys to change the grid size in Hammer.

Compile times are proportional to your system specs (CPU and RAM anyway), what machine are you compiling on? Adding more RAM especially, unless you have loads already, will make a huge difference.

What's taking the time, VIS or RAD?

VIS processing time can be improved by a number of things, including limiting the amount of space the engine can see at any point (which is the whole idea of VIS); tidying up the brushwork so, for example, brushes are flush against each other whenever they're not seen by the player (e.g. having the outside of the map a perfect six sided cuboid helps a lot, although it's not easy!) and definitely don't overlap; not having too much unnecessary detail; and always keeping in mind what Sub said about brushes that touch splitting faces.

RAD depends on how complicated your lighting is, especially when you start to use dynamic lights. One thing that really eats into RAD time is brush based entities (func_anythings) that are set to appear opaque, but I don't know if you've played around with that at all yet :)
User avatar
KillJoy
DVF Member
DVF Member
Posts: 848
Joined: Sat Jan 24, 2004 9:19 pm
Location: Hull
Contact:

Post by KillJoy »

Right....

I have just started again from scratch....

I have made a 8 sided 'Block' which my map is gonna be inside, the walls are 64 thick and are all flush against each other - there are no gaps.

next i put in a few blocks here n there, i moved each of them 1 pixel away from sides, and anything alse they may be touching.

i have a info_player_start, a info_player_deathmatch(Dont know what this is) and i have 8 standard light entities and that is all..

when i compile the map, because i have started over again, it aint taking as long but it is still a little slow, so by the time i start entering loads of other crap i guess i'm gonna be waiting for hours !! :*(

The thing which takes time is RAD.

Advent 7012 Laptop
My comp = P4 2600mhz
752 Mb Ram
64mb onboard SIS 650

also the 1 pixel gap.... when running around map i can see right thru, and shoot thru it!!, thats never right... surely??

Thanks for your help by the way, much appreciated :D
www.stoddartrj.karoo.net

[u][i]Counter strike: Source[/i][/u]
//IOA - Intollerant of Arseholes
Join Us On: cs.ioa-clan.co.uk:27015
User avatar
Sputnik
DVF Admin
DVF Admin
Posts: 4233
Joined: Fri Jun 29, 2001 12:00 am
Contact:

Post by Sputnik »

Right....
KillJoy wrote:I have made a 8 sided 'Block' which my map is gonna be inside, the walls are 64 thick and are all flush against each other - there are no gaps.
Oops! Don't do that :) it'll create loads of unneeded space that will have to be vissed and rendered, and is the best way of increasing r_speeds beyond all control ;) Although for test maps it's fine, but for a proper map you'd want to make sure there's no wasted space. It's probably not worth trying to make the outside of the map perfectly cuboid, that was just an extreme example. Some people do, mind, but I just can't be bothered to spend that much time and effort!
info_player_deathmatch(Dont know what this is)
That's a Terrorist spawn point.
when i compile the map, because i have started over again, it aint taking as long but it is still a little slow, so by the time i start entering loads of other crap i guess i'm gonna be waiting for hours !! :*(
Well it does take a long time I'm afraid! Having said that on your system I'd be surprised if a full, decent map took longer than an hour or so. The testmap you describe should be done in a matter of seconds!
also the 1 pixel gap.... when running around map i can see right thru, and shoot thru it!!, thats never right... surely??
Are you sure it's only one pixel??? (Or rather, one grid line in Hammer)

Yes both you and the HL engine can see through such gaps, which is why you need to just learn through trial and error when to use the 1-unit-gap method of polygon reduction over other methods. There aren't really many general rules so it just takes practice I'm afraid :?

When running the map type r_speeds 1 and then developer 1 to see the wpolies, over 800 being unadvisable in normal conditions. Also use gl_wireframe 1 (and 2) to see how the engine breaks up your map into polygons, although the game has to be run without the -deathmatch 1 tag for gl_wf to work.
User avatar
KillJoy
DVF Member
DVF Member
Posts: 848
Joined: Sat Jan 24, 2004 9:19 pm
Location: Hull
Contact:

Post by KillJoy »

Oops! Don't do that it'll create loads of unneeded space that will have to be vissed and rendered, and is the best way of increasing r_speeds beyond all control Although for test maps it's fine, but for a proper map you'd want to make sure there's no wasted space. It's probably not worth trying to make the outside of the map perfectly cuboid, that was just an extreme example. Some people do, mind, but I just can't be bothered to spend that much time and effort!
Not sure what you mean.... you say its not worth making outside of map cuboid.. but, atm i have an 8 sided outside, not cuboid..

8 sided, + roof + floor = 10 sided actually - here is a pic erm.... how u use pics??
Why do you say 'Trying to make map cuboid' ? surely that is the easiest possible shape? <--- probably being dumb here :rolleyes:
[/img]
www.stoddartrj.karoo.net

[u][i]Counter strike: Source[/i][/u]
//IOA - Intollerant of Arseholes
Join Us On: cs.ioa-clan.co.uk:27015
User avatar
Bullet
Senior Member
Senior Member
Posts: 1569
Joined: Sun Apr 06, 2003 12:48 pm
Location: http://www.cc-clan.co.uk
Contact:

Post by Bullet »

last proper map i made took 20mins for full compile with lighting etc....but then mine r pretty poo so is that any suprise ;)

the deathmatch ones i did, the only half decent one took about 30 seconds to compile...but its pretty small, however i did use the 1 pixel gap thing as a way of testing methods for reducing r_speeds
Dead to the world.
217.163.30.167:27015 - [url=http://www.cc-clan.co.uk]::Convicted and Condemned::[/url] clan CSS server - http://www.cc-clan.co.uk/
::CC::
User avatar
Sputnik
DVF Admin
DVF Admin
Posts: 4233
Joined: Fri Jun 29, 2001 12:00 am
Contact:

Post by Sputnik »

KillJoy wrote:Not sure what you mean.... you say its not worth making outside of map cuboid.. but, atm i have an 8 sided outside, not cuboid..

8 sided, + roof + floor = 10 sided actually - here is a pic erm.... how u use pics??
Why do you say 'Trying to make map cuboid' ? surely that is the easiest possible shape? <--- probably being dumb here :rolleyes:
[/img]
Not really sure how best to explain it :D

The two separate things I'm trying to say are:

1) It's not a good idea to create a great big box and put the map inside it.

2) To improve compile times you can make the outside of the map look as neat as possible. For example the ground might be made up of a number of different brushes of different hights etc, and it would be a good idea to extend them all down to the same level on the z axis. An extreme extension of this principle is extending every brush that touches the void to make them all level with each other on the outside of the map, most simply as one great big cuboid. The inside of the map is as you'd expect, and the player can never see the outside obviously, but the compile tools have a much easier job.

Any better? :D
User avatar
KillJoy
DVF Member
DVF Member
Posts: 848
Joined: Sat Jan 24, 2004 9:19 pm
Location: Hull
Contact:

Post by KillJoy »

Right... I have created an 10 sided shape which makes up the outside, each and every peice is flush with the x,y + z extremes making a flawless outside and obviously not cuboid... is that ok?? because u cant have any of the void showing can you?

anyway... ill just keep working on it without compiling it ill make the map to the best i can then ill let it compile only as necessary - Should sort stuff out !

Thanks for the help.. :thumbs: .. cant say this wil be my last post in this forum tho!!
www.stoddartrj.karoo.net

[u][i]Counter strike: Source[/i][/u]
//IOA - Intollerant of Arseholes
Join Us On: cs.ioa-clan.co.uk:27015
User avatar
Sputnik
DVF Admin
DVF Admin
Posts: 4233
Joined: Fri Jun 29, 2001 12:00 am
Contact:

Post by Sputnik »

Arrrg, no! :D As I keep saying do NOT create a box and build the map inside it! (However many sides it has!!)

And if it's stretched out to cover the entire 8192^3 area then that'll be why it takes so long to compile, that's massive!

Build each room separately and entirely enclosed from the void (i.e. the edges of the room will either have a solid wall or connect seamlessly with another room), not inside a huge enclosed environment :) To start with just build a room and load it up in the game to see how big it is, then build a room next door and a coridoor in between the two - so you can walk between the rooms but as a whole it's enclosed from the outside void.
User avatar
Bullet
Senior Member
Senior Member
Posts: 1569
Joined: Sun Apr 06, 2003 12:48 pm
Location: http://www.cc-clan.co.uk
Contact:

Post by Bullet »

yeah what he said. dont put a box around the map to keep out void, just make sure you dont leave any gaps between walls or anything. even though there is nothing else inside the big box except for the map itself, the compile still has to do all the space inside the big box....which will take a very long time.
Dead to the world.
217.163.30.167:27015 - [url=http://www.cc-clan.co.uk]::Convicted and Condemned::[/url] clan CSS server - http://www.cc-clan.co.uk/
::CC::
User avatar
KillJoy
DVF Member
DVF Member
Posts: 848
Joined: Sat Jan 24, 2004 9:19 pm
Location: Hull
Contact:

Post by KillJoy »

lol, no my map is not to the extremes.... the 10 sided cube i am using is my map.... Cs_Mall... it is basically a shopping mall in that shape, i am building floors/escalators in it - i see now, no i dont have my map enclosed by some huge cube!, i have what is necessary... lol
www.stoddartrj.karoo.net

[u][i]Counter strike: Source[/i][/u]
//IOA - Intollerant of Arseholes
Join Us On: cs.ioa-clan.co.uk:27015
User avatar
Bullet
Senior Member
Senior Member
Posts: 1569
Joined: Sun Apr 06, 2003 12:48 pm
Location: http://www.cc-clan.co.uk
Contact:

Post by Bullet »

lol ok :lol: :D

have u tried seeing if your map is the right proportions? cos it may be 2 big.....dont know really, it could be a lot of things.
Dead to the world.
217.163.30.167:27015 - [url=http://www.cc-clan.co.uk]::Convicted and Condemned::[/url] clan CSS server - http://www.cc-clan.co.uk/
::CC::
User avatar
Wintermute
DVF Member
DVF Member
Posts: 2670
Joined: Mon Sep 30, 2002 1:25 am
Location: South Wales
Contact:

Post by Wintermute »

Regarding blocks touching one another, either:

a) (as mentioned) Put a 1 block gap between the objects.
1 block (in Hammer) is approximately 1 inch so in most cases this won't be noticeable. If blocks (brushes) touch then they split and you get a similar effect to the one you would get by carving one block with the other....and that's bad m'kay ?
Two walls touching should be fine as they won't do much splitting, although in such a situation many people recommend 'mitreing' (sp?) the walls.

or

b) If you really, really, absolutely, definitely can't leave a 1 block gap then turn one object (e.g. a crate) into a func_wall entity. Unfortunately this will NOT cast any shadows, but you can put it where you like and it won't split up any surrounding brushes. Don't go over the top with this method as I believe it will increase r_speeds.

Regarding compile times - as you've seen, adding lights usually slows things to a crawl - I generally leave the lighting of maps to the last possible moment for this reason.

Another useful method - once you know how big a room needs to be; copy the shell into a new map window and build & test it in there (adding detail, lights, whatever).
Then when you're done paste it back into the 'real' map.
- that should keep compile times manageable until you go for a 'big' compile, which can unfortunately take hours.

HTH
[size=84]The next generation of CS:S Maps[/size]
[url=http://www.twistedpuppy.co.uk][size=150][color=blue]www.twistedpuppy.co.uk[/color][/size][/url]
Post Reply