Forum

Half-Life BSP Experiments

Discuss anything not covered by any of the other categories.

Moderator: InsideQC Admins

Postby avirox » Thu Nov 13, 2008 7:18 pm

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 :)
avirox
 
Posts: 137
Joined: Wed Aug 16, 2006 3:25 pm

Postby Baker » Fri Nov 14, 2008 12:23 am

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.
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby ceriux » Fri Nov 14, 2008 1:30 am

i can find you a tutorial for how a hl1 door is made in worldcraft/hammer if that helps.
User avatar
ceriux
 
Posts: 2223
Joined: Sat Sep 06, 2008 3:30 pm
Location: Indiana, USA

Postby avirox » Fri Nov 14, 2008 2:32 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.
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

Postby Baker » Fri Nov 14, 2008 2:33 am

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.
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby Spike » Fri Nov 14, 2008 3:47 am

qbsp doesn't support origin brushes. this can complicate things somewhat.
not sure about lhmap. I would hope that it does.
Spike
 
Posts: 2892
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Postby Baker » Fri Nov 14, 2008 5:17 am

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?
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby xaGe » Fri Nov 14, 2008 1:38 pm

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
User avatar
xaGe
 
Posts: 461
Joined: Wed Mar 01, 2006 8:29 am
Location: Upstate, New York

Postby Baker » Sat Nov 15, 2008 2:13 am

Avirox, any plans to support the surface flags? i.e. different stepping sounds on different surfaces?


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.
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby ceriux » Sat Nov 15, 2008 3:03 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
User avatar
ceriux
 
Posts: 2223
Joined: Sat Sep 06, 2008 3:30 pm
Location: Indiana, USA

Postby Baker » Sat Nov 15, 2008 6:52 am

Thanks for posting that. It saves a lot of time and effort required to hit and miss with Google.
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby r00k » Sat Nov 15, 2008 7:26 pm

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

Postby ceriux » Sun Nov 23, 2008 7:18 pm

Darkplace is compatable with hl1 bsp right? id like to know, id like to use them in my mod.
User avatar
ceriux
 
Posts: 2223
Joined: Sat Sep 06, 2008 3:30 pm
Location: Indiana, USA

Postby Baker » Sun Nov 23, 2008 8:24 pm

ceriux wrote:Darkplace is compatable with hl1 bsp right? id like to know, id like to use them in my mod.


Yes.

/Although currently it doesn't support the alpha masked textures (broke feature?)
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby avirox » Mon Nov 24, 2008 1:41 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

PreviousNext

Return to General Discussion

Who is online

Users browsing this forum: No registered users and 3 guests