Half-Life BSP Experiments
Moderator: InsideQC Admins
31 posts
• Page 2 of 3 • 1, 2, 3
Well half-life also has a number of great entities which it's sad to see no quakec mod has adopted yet. What i really like are the multi_manager and multisource entities. Combined, they're both EXTREMELY useful for scripted sequences and cool gameplay elements. 50% of every half-life singleplayer event practically depends on those 2 entities.
I found it interesting that NPC chat sequences don't come from the scientists/barney, but actually from invisible entities. That's why currently in the mod you can kill the "scientist" (replaced by grunts) and they'll still be talking from thin air. Quite funny
I found it interesting that NPC chat sequences don't come from the scientists/barney, but actually from invisible entities. That's why currently in the mod you can kill the "scientist" (replaced by grunts) and they'll still be talking from thin air. Quite funny
- avirox
- Posts: 137
- Joined: Wed Aug 16, 2006 3:25 pm
avirox wrote:Well half-life also has a number of great entities which it's sad to see no quakec mod has adopted yet. What i really like are the multi_manager and multisource entities. Combined, they're both EXTREMELY useful for scripted sequences and cool gameplay elements. 50% of every half-life singleplayer event practically depends on those 2 entities.
I found it interesting that NPC chat sequences don't come from the scientists/barney, but actually from invisible entities. That's why currently in the mod you can kill the "scientist" (replaced by grunts) and they'll still be talking from thin air. Quite funny
I think it is rather fun watching you unwrap the mysteries of how these different things work in Half-Life. I'd say the biggest surprise was discovering those rotating lights were just rotating brush models either with an alpha effect or a brighten effect.
Is entity rotation in Half-Life a lot more simple than say, hipnotic? I guess I should really pull out the ents of one of the Half-Life maps and look at the properties of the door entities. Hipnotic rotation is terrible and a mess, I was shocked the first time seeing 14 entities for a simple rotating door. It is my hope that Half-Life only uses 1 or 2 entities for a rotating door.
And I wish more Quake mods had NPCs. The number of Quake mods with any NPCs is a very short list.
-

Baker - Posts: 3666
- Joined: Tue Mar 14, 2006 5:15 am
Yeah, the way Hipnotic does rotating entities is a mess. .avelocity is totally broken for brush models in any iD quake engine build, and many of the others. Darkplaces and FTE fixed rotating brush entities, however, so the only entity used is the actual rotating door. Infact, you can make rotating entities using a single line of code with the two aforementioned engines. For example, you want to make a brush model spin 360 degrees on its' X axis or something..
void () func_rotating =
{
SUB_CalcAngleMove( self.angles + '360 0 0', 45/*self.speed*/, func_rotating );
}
Just have an initialized trigger/brush ent call func_rotating and VIOLA - spinning with proper hull resizing. The actual one in half-life has some more complex stuff to it, but that's basically all you need to get it rotating. For QuakeLife I also added SUB_CalsMoveAndRotate to make an entity move and rotate at the same time or independently. Tricky stuff, but half-life makes good use out of such things with func_tracktrain and some elevators.
void () func_rotating =
{
SUB_CalcAngleMove( self.angles + '360 0 0', 45/*self.speed*/, func_rotating );
}
Just have an initialized trigger/brush ent call func_rotating and VIOLA - spinning with proper hull resizing. The actual one in half-life has some more complex stuff to it, but that's basically all you need to get it rotating. For QuakeLife I also added SUB_CalsMoveAndRotate to make an entity move and rotate at the same time or independently. Tricky stuff, but half-life makes good use out of such things with func_tracktrain and some elevators.
Last edited by avirox on Fri Nov 14, 2008 2:35 am, edited 1 time in total.
- avirox
- Posts: 137
- Joined: Wed Aug 16, 2006 3:25 pm
qbsp doesn't support origin brushes. this can complicate things somewhat.
not sure about lhmap. I would hope that it does.
not sure about lhmap. I would hope that it does.
- Spike
- Posts: 2892
- Joined: Fri Nov 05, 2004 3:12 am
- Location: UK
Spike wrote:qbsp doesn't support origin brushes. this can complicate things somewhat.
not sure about lhmap. I would hope that it does.
Is lhmap LordHavoc's map compiler I assume with the capability of making slightly enhanced Quake 1.bsp map files?
-

Baker - Posts: 3666
- Joined: Tue Mar 14, 2006 5:15 am
Hmap2
Some from the readme:
What is it:
hmap2 is a quake map compiler suite, a combination of qbsp+vis+light+bsp2prt+bspinfo all in one, written by LordHavoc and Vic, it has many new features.
Features:
.lit file support - colored lighting for supporting engines, without breaking quake compatibility
Mostly tyrlite compatible - the "delay" key for light types is supported
6 light types to suit many purposes - including sun lights casting directional light from sky polygons, large soft 1/(x*x) lights, and others
Light tweaking options on commandline - -radiusscale, -intensity, -defaulttype, -overridetypes
-minlight support - raises dark areas to this level without affecting brighter areas
-ambientlight support - raises all areas of the level by this amount
Re-vis maps - using bsp2prt followed by vis (Vic)
Make new .lit files for existing maps without modifying the .bsp - -relight and various options are useful for this
Compiling an unsealed 'leaky' map still produces a .prt file so it can be vised
Faster lighting - uses vis data to optimize lighting, be sure to run -vis before -light to get this speedup
Faster vis - uses rvis optimization which has no impact on quality and is around 30% faster
More lightmap antialiasing modes - in addition to -extra there are -extra4x4 and -extra8x8 (Vic added -extra8x8)
Able to make higher performance largescale maps with -darkplaces option (most other engines can't handle huge lightmaps like this produces, be warned)
Huge map support - up to +-32768 coordinates, make huge levels like you always wanted (warning: quake's networking limits playable area to +-4096 coordinates, except in darkplaces which fully supports huge maps)
Increased limits to the very max of the .bsp format
Hipnotic compatible rotating bmodel support - any entity classname beginning with rotate_ will check for a target to get the origin from, or you can set origin key on bmodel to make it rotate around that location
Support for WorldCraft 'Hammer' .map enhanced texture alignment
Support for HalfLife "light" key - "red green blue radius" format, example 255 255 255 300
Transparent water support (on by default)
Better error reporting - often says where a problem occurred in the level, and some errors are now only warnings (such as point off plane, which tries to self correct)
Multiple wad support - example: "wad" "wizard.wad;base.wad"
Can disable liquid sounds using -noambient, -noambientwater, -noambientsky, -noambientslime, -noambientlava
Can enable the unused slime sound channel using -ambientslime to make it use slime channel instead of water channel (if engine does not support this the slime is silent) (Vic)
Defaults to -level 4 vis instead of -level 2 like original vis did
Compresses vis data more by merging vis data for identical parts of a map, saving a few k (Vic)
Supports func_group entities which are merged into the world during compile, they are an editing helper (Vic)
Can use harsh light shading instead of traditional quake soft shading using -harshshade
Usage info on the hmap2 utilities:
usage: hmap2 [options] sourcefile [destfile]
Compiles .map to .bsp, does not compile vis or lighting data
other utilities available:
-bsp2prt bsp2prt utility, run -bsp2prt as the first parameter for more
-bspinfo bspinfo utility, run -bspinfo as the first parameter for more
-light lighting utility, run -light as the first parameter for more
-vis vis utility, run -vis as the first parameter for more
What the options do:
-nowater disable watervis; r_wateralpha in glquake will not work right
-notjunc disable tjunction fixing; glquake will have holes between polygons
-nofill disable sealing of map and vis, used for ammoboxes
-onlyents patchs entities in existing .bsp, for relighting
-verbose show more messages
-darkplaces allow really big polygons
-noforcevis don't make a .prt if the map leaks
Some from the readme:
What is it:
hmap2 is a quake map compiler suite, a combination of qbsp+vis+light+bsp2prt+bspinfo all in one, written by LordHavoc and Vic, it has many new features.
Features:
.lit file support - colored lighting for supporting engines, without breaking quake compatibility
Mostly tyrlite compatible - the "delay" key for light types is supported
6 light types to suit many purposes - including sun lights casting directional light from sky polygons, large soft 1/(x*x) lights, and others
Light tweaking options on commandline - -radiusscale, -intensity, -defaulttype, -overridetypes
-minlight support - raises dark areas to this level without affecting brighter areas
-ambientlight support - raises all areas of the level by this amount
Re-vis maps - using bsp2prt followed by vis (Vic)
Make new .lit files for existing maps without modifying the .bsp - -relight and various options are useful for this
Compiling an unsealed 'leaky' map still produces a .prt file so it can be vised
Faster lighting - uses vis data to optimize lighting, be sure to run -vis before -light to get this speedup
Faster vis - uses rvis optimization which has no impact on quality and is around 30% faster
More lightmap antialiasing modes - in addition to -extra there are -extra4x4 and -extra8x8 (Vic added -extra8x8)
Able to make higher performance largescale maps with -darkplaces option (most other engines can't handle huge lightmaps like this produces, be warned)
Huge map support - up to +-32768 coordinates, make huge levels like you always wanted (warning: quake's networking limits playable area to +-4096 coordinates, except in darkplaces which fully supports huge maps)
Increased limits to the very max of the .bsp format
Hipnotic compatible rotating bmodel support - any entity classname beginning with rotate_ will check for a target to get the origin from, or you can set origin key on bmodel to make it rotate around that location
Support for WorldCraft 'Hammer' .map enhanced texture alignment
Support for HalfLife "light" key - "red green blue radius" format, example 255 255 255 300
Transparent water support (on by default)
Better error reporting - often says where a problem occurred in the level, and some errors are now only warnings (such as point off plane, which tries to self correct)
Multiple wad support - example: "wad" "wizard.wad;base.wad"
Can disable liquid sounds using -noambient, -noambientwater, -noambientsky, -noambientslime, -noambientlava
Can enable the unused slime sound channel using -ambientslime to make it use slime channel instead of water channel (if engine does not support this the slime is silent) (Vic)
Defaults to -level 4 vis instead of -level 2 like original vis did
Compresses vis data more by merging vis data for identical parts of a map, saving a few k (Vic)
Supports func_group entities which are merged into the world during compile, they are an editing helper (Vic)
Can use harsh light shading instead of traditional quake soft shading using -harshshade
Usage info on the hmap2 utilities:
usage: hmap2 [options] sourcefile [destfile]
Compiles .map to .bsp, does not compile vis or lighting data
other utilities available:
-bsp2prt bsp2prt utility, run -bsp2prt as the first parameter for more
-bspinfo bspinfo utility, run -bspinfo as the first parameter for more
-light lighting utility, run -light as the first parameter for more
-vis vis utility, run -vis as the first parameter for more
What the options do:
-nowater disable watervis; r_wateralpha in glquake will not work right
-notjunc disable tjunction fixing; glquake will have holes between polygons
-nofill disable sealing of map and vis, used for ammoboxes
-onlyents patchs entities in existing .bsp, for relighting
-verbose show more messages
-darkplaces allow really big polygons
-noforcevis don't make a .prt if the map leaks
-

xaGe - Posts: 461
- Joined: Wed Mar 01, 2006 8:29 am
- Location: Upstate, New York
Avirox, any plans to support the surface flags? i.e. different stepping sounds on different surfaces?
Interesting, looks like it is built to take advantage of different DarkPlaces features.
xaGe wrote:Hmap2
Some from the readme:
What is it:
hmap2 is a quake map compiler suite, a combination of qbsp+vis+light+bsp2prt+bspinfo all in one, written by LordHavoc and Vic, it has many new features.
Features:
.lit file support - colored lighting for supporting engines, without breaking quake compatibility
Mostly tyrlite compatible - the "delay" key for light types is supported
6 light types to suit many purposes - including sun lights casting directional light from sky polygons, large soft 1/(x*x) lights, and others
Light tweaking options on commandline - -radiusscale, -intensity, -defaulttype, -overridetypes
-minlight support - raises dark areas to this level without affecting brighter areas
-ambientlight support - raises all areas of the level by this amount
Re-vis maps - using bsp2prt followed by vis (Vic)
Make new .lit files for existing maps without modifying the .bsp - -relight and various options are useful for this
Compiling an unsealed 'leaky' map still produces a .prt file so it can be vised
Faster lighting - uses vis data to optimize lighting, be sure to run -vis before -light to get this speedup
Faster vis - uses rvis optimization which has no impact on quality and is around 30% faster
More lightmap antialiasing modes - in addition to -extra there are -extra4x4 and -extra8x8 (Vic added -extra8x8)
Able to make higher performance largescale maps with -darkplaces option (most other engines can't handle huge lightmaps like this produces, be warned)
Huge map support - up to +-32768 coordinates, make huge levels like you always wanted (warning: quake's networking limits playable area to +-4096 coordinates, except in darkplaces which fully supports huge maps)
Increased limits to the very max of the .bsp format
Hipnotic compatible rotating bmodel support - any entity classname beginning with rotate_ will check for a target to get the origin from, or you can set origin key on bmodel to make it rotate around that location
Support for WorldCraft 'Hammer' .map enhanced texture alignment
Support for HalfLife "light" key - "red green blue radius" format, example 255 255 255 300
Transparent water support (on by default)
Better error reporting - often says where a problem occurred in the level, and some errors are now only warnings (such as point off plane, which tries to self correct)
Multiple wad support - example: "wad" "wizard.wad;base.wad"
Can disable liquid sounds using -noambient, -noambientwater, -noambientsky, -noambientslime, -noambientlava
Can enable the unused slime sound channel using -ambientslime to make it use slime channel instead of water channel (if engine does not support this the slime is silent) (Vic)
Defaults to -level 4 vis instead of -level 2 like original vis did
Compresses vis data more by merging vis data for identical parts of a map, saving a few k (Vic)
Supports func_group entities which are merged into the world during compile, they are an editing helper (Vic)
Can use harsh light shading instead of traditional quake soft shading using -harshshade
Usage info on the hmap2 utilities:
usage: hmap2 [options] sourcefile [destfile]
Compiles .map to .bsp, does not compile vis or lighting data
other utilities available:
-bsp2prt bsp2prt utility, run -bsp2prt as the first parameter for more
-bspinfo bspinfo utility, run -bspinfo as the first parameter for more
-light lighting utility, run -light as the first parameter for more
-vis vis utility, run -vis as the first parameter for more
What the options do:
-nowater disable watervis; r_wateralpha in glquake will not work right
-notjunc disable tjunction fixing; glquake will have holes between polygons
-nofill disable sealing of map and vis, used for ammoboxes
-onlyents patchs entities in existing .bsp, for relighting
-verbose show more messages
-darkplaces allow really big polygons
-noforcevis don't make a .prt if the map leaks
Interesting, looks like it is built to take advantage of different DarkPlaces features.
-

Baker - Posts: 3666
- Joined: Tue Mar 14, 2006 5:15 am
Baker wrote:ceriux wrote:i can find you a tutorial for how a hl1 door is made in worldcraft/hammer if that helps.
Actually, that'd help a lot.
I like rotating doors and want to use them in Quake even if that requires an extension.
well this is a post off of another forum i posted on... some ok hl1 mapping stuff here.
Ceriux wrote:ill try and find a good tutorials site i know of one just gotta find the url.
EDIT: this is for half-life1/counterstike mapping, but they use the same tool thats why u needed the quake 1 adapter plugin. but MOST of these tutorials should work for what you need.
http://www.egir.dk/index.php?page=list_tutorials.php
also check their forums, they have more tutorials on there.
here's another website with better/more tutorials for using "hammer/worldcraft" (Both are the same tool)
http://www.twhl.co.za/tutorial.php?cat=1
EDIT2: These are tutorials i found that will more or less teach you how to map if you have never done it before. they were made for half-life 1 / Counter strike but they will work for quake / our mod.
Noob Specific tutorials - these all go in order of how you should do them.
http://www.twhl.co.za/tutorial.php?id=23
http://www.twhl.co.za/tutorial.php?id=24
http://www.twhl.co.za/tutorial.php?id=26
http://www.twhl.co.za/tutorial.php?id=27
http://www.twhl.co.za/tutorial.php?id=30
Another good tutorial that has to do with mapping but is more about design
http://www.twhl.co.za/tutorial.php?id=78
A good tutorial on how to make good detail for low budget maps.
http://www.twhl.co.za/tutorial.php?id=101
another good tutorial for outdoor mapping just dont pay attention to the skybox names that part is not needed.
http://www.twhl.co.za/tutorial.php?id=6
and this last one is very very helpful when mapping in worldcraft....
http://www.twhl.co.za/tutorial.php?id=72
-

ceriux - Posts: 2223
- Joined: Sat Sep 06, 2008 3:30 pm
- Location: Indiana, USA
Interesting, looks like it is built to take advantage of different DarkPlaces features.
The beast we should be petting. It would be ideal to create functioning maps with the features you prefer then try to make that map available to all. I guess.
- r00k
- Posts: 1110
- Joined: Sat Nov 13, 2004 10:39 pm
avirox wrote:Darkplaces right now has a few problems, which I have already brought up with LordHavoc about and I'm not sure when he'll fix them. The first 2 of these problems are not evident in 2006 builds of DP, but in more recent builds they are.
1) Ladders and other brush entities are surrounded by some sort of black box in any half-life map.
2) Brush models in half-life maps are sometimes solid, sometimes not. Also they can disappear at certain angles.
3) Half-life .wad files do not load for half-life maps
4) DarkPlaces needs a way to parse an entity's complete spawn information for half-life's multi_manager to work. FTE does this through a global string called _fullspawndata, which is tokenized in the QC and used to target its respective entities.
The first 3 are the main problems with HL bsps right now (the first is that alpha masking thing Baker referred to). I would love to be using DP as well as FTE, but right now it's just not doable (and LordHavoc is always quite busy).
- avirox
- Posts: 137
- Joined: Wed Aug 16, 2006 3:25 pm
31 posts
• Page 2 of 3 • 1, 2, 3
Who is online
Users browsing this forum: No registered users and 3 guests