Commented 4 months ago2023-12-17 11:22:01 UTC
in wiki page: Tutorial: Evolving GrassComment #105757
Maybe a bit too far-fetched, but I think it would be cool to have macro previews. It was something that I suffered from back when I was trying MESS out. Obviously, editor integration would be needed for this, and while it could be feasible with TrenchBroom (it being open-source and actively developed), it'd still take a frightening amount of effort, I figure. Add its lacking Half-Life mapping support on top of that. And of course J.A.C.K. is out of the question.
Commented 4 months ago2023-12-17 01:22:50 UTC
in wiki page: Tutorial: Evolving GrassComment #105755
An entity can be marked as 'primary' by giving it a _mess_merge_entity_master attribute. If a group has no master then the attributes of the first entity will be used, but it would probably be better to issue a warning if that group contains entities with different attributes.
As for the future of MESS, the big step with v1.2 is that instead of macro entities and a scripting language that is geared towards technical users, there is now a set of template entities and automation scripts that anyone can use. I intend to add and improve template entities when new things come up, such as Erty's func_illusionary + hlt_noclip 1 discovery. But I've also got ideas for new features, such as a geometry API that lets you generate brushes, and support for reading textures and models. Think of automatically covering brushes with thin extruded overlays with additive textures, or generating clip-brushes for prop models, or maybe even generating models from entities. Other ideas are things like issuing a warning if a func_ entity with a transparent texture doesn't have the right render mode or FX amount, or if a map transition uses an uppercase map name. Oh well, we'll see.
This comment was made on an article that has been deleted.
This comment was made on an article that has been deleted.
This comment was made on an article that has been deleted.
This comment was made on an article that has been deleted.
This comment was made on an article that has been deleted.
A short map with a range enemies to shoot at. They are little to no threat due to there being no node graph to guide the AI and a lot of them are stuck in the geometry. Certainly not worth a 70MB download since the one audio file included caused my game to crash to desktop until I deleted it...
This comment was made on an article that has been deleted.
Commented 4 months ago2023-12-16 12:33:41 UTC
in wiki page: Tutorial: Hint BrushesComment #105743
Relaying other member's comment on this page: a top-down view of the setup was sorely needed. In that aspect the Tutorial: Total Map Optimisation Part 2 (VIS, Hints) page is much more helpful (and much more thorough tbh).
Commented 4 months ago2023-12-16 12:02:30 UTC
in wiki page: SKY textureComment #105742
I found that compiling with VHLT will make sky lighting not work on sky brushes that aren't all textured with sky texture, making that particular brush not emit skylight.
It's also particular about having different sky "ceiling" brushes at different levels. Hard to explain why; I think it can only emit light from one side, and so having one sky brush act as both wall and ceiling of a skybox makes it only emit light on the wall side. So it might mean one sky brush emits light on only one face.
My solution was to have rooms with sky be at only one ceiling level each.
This comment was made on an article that has been deleted.
This comment was made on an article that has been deleted.
Where did hull 0 go? Aren't there four hulls? 0 is point hull, 1 is standing hull, 2 is big monsters, 3 is crouching. I don't get why the amount of clipnodes is 18/36 instead of 24/48.
Used for differentiating entities in the editor, and shouldn't be used on world brushes as it may cause bugs. VHLT strips faces with this texture, making it visually identical to NULL.
Acts like NULL, but changes the clipnode of a brush in a way that any player approaching the brush will not be collide with the brush until their origin reaches the plane that the BEVEL face lies on. It can be used to eliminate exterior corner clipping bugs, and any remaining clipping bugs that the -cliptype preciseCSG parameter may miss.
Similar to ORIGIN, but used to define a bounding box for an entity. Useful if you have a lot of complex, off-grid geometry and need a bounding box which is snapped to the grid.
Marks the brush as a water volume that will not render anything outside of it. It also removes collision from a brush and mirrors the faces inside out.
Faces with this texture will split visleafs, allowing you to optimize what parts of the map are visible. Other faces of the brush should be textured with SKIP.
Renders the skybox on faces with this texture, and emits light if all faces of a brush are textured with SKY and you have a light_environment or light_spot entity. Clipnode generation is optional with VHLT and can be turned off with CSG parameter -noskyclip.
Commented 4 months ago2023-12-15 18:23:54 UTC
in vault item: Lab HuntComment #105730
Honestly, i enjoyed playing this Little map. Its pretty fun also. Guiding Barney off some rooms, especially the starting room where you find barney can be pretty frustrating, because there Isn't a sigle mode graph. Another thing is the tank: seems parked in a small inaccessible room. And the last thing: the ending. You end in a room full of crates. And nothing.
But to be your First map, i think it's pretty good and fun! Keep Up the good work man!
I kinda thought this might have a few jokes. It's presented as a troll map, but just lacks any attempt at lulz, earned or otherwise.
Architecture:
Extremely blocky. There are two clipped/VM'd brushes in the entire map.
Texturing:
Mostly aligned, but very strange choices throughout. Two separate wads for a grand total of two custom textures, both of which are somehow simultaneously overused and also completely absent.
Ambience:
70MB of completely unnecessary, base-game overwriting song ripped from, i think, Mario 64?
Lighting:
Floating point-lights with no source. Over-bright in most areas, plus eye-gouging colour clashes with the texture choices.
Gameplay:
Monsters stuck in floor (yellow dots), monsters clipping through walls, no node navigation. One vaguely interesting combat space in the whole map with your office cubicles that might have been fun if there had been nodes to let the monsters run around.
If this was a genuine attempt at a fun map, I apologise for being so harsh. But it needs a lot of work to be worth a download.
If it was a troll map... it's totally devoid of any personality or jokes.
If you're overwriting original game files (Suspense02.mp3), please package this as a minimod, otherwise the file will be changed in the player's base game.
Click here to see how to do this with no effort
Although I'm myself practically retired from mapping by now, and wasn't a big practitioner of mapping automation through tools like MESS, I found the tool remarkable and unique in what it does during my brief period of trying it out. In fact, I think that new mappers should absolutely try adding MESS to their compile process and utilizing the macros that it makes possible to engineer - it has great potential to reduce a lot of annoying and unnecessary work.
Brush entity merging is a really annoying technique to use manually: to reduce the amount of limits taken up by your map's entities this way, you have to sacrifice "readability" of your map source file. For example, it's rather time-consuming to take a single piece from merged entities and perform any individual operation on it. Your tool finally providing an abstraction over the technique gives me the hope that it can go as far as make this optimization zero-cost in terms of mapper's time spent, and this is extremely important - nothing kills the wish to map like the amount of brush paperwork that you have to do at times.
I'm excited to see where MESS will go in the future and would love to hear of any further improvements and new features!
EDIT:
Looking at the feature description, although this is a rather small detail that can be avoided if you use the feature carefully, I wonder how it determines the resulting "principal" or "primary" entity to merge all of the provided entities into. I think there should be a way to explicitly specify which one entity will serve as such.
It can make the map more refactoring-friendly: when you change things, some keyvalues may go out of sync with your changes and intent, and you may end up with bugs that you may not immediately notice.
The bsp takes a little getting your head around but its a real impressive design. I found a few vids on quake but the collison detection is way over my head
Again, we are very happy to see someone enjoy our creation so much. Cheers!
Yes.
As for the future of MESS, the big step with v1.2 is that instead of macro entities and a scripting language that is geared towards technical users, there is now a set of template entities and automation scripts that anyone can use. I intend to add and improve template entities when new things come up, such as Erty's func_illusionary + hlt_noclip 1 discovery. But I've also got ideas for new features, such as a geometry API that lets you generate brushes, and support for reading textures and models. Think of automatically covering brushes with thin extruded overlays with additive textures, or generating clip-brushes for prop models, or maybe even generating models from entities. Other ideas are things like issuing a warning if a func_ entity with a transparent texture doesn't have the right render mode or FX amount, or if a map transition uses an uppercase map name. Oh well, we'll see.
It's also particular about having different sky "ceiling" brushes at different levels. Hard to explain why; I think it can only emit light from one side, and so having one sky brush act as both wall and ceiling of a skybox makes it only emit light on the wall side. So it might mean one sky brush emits light on only one face.
My solution was to have rooms with sky be at only one ceiling level each.
Legend
zhlt.wad
requirementshalflife.wad
zhlt.wad
zhlt.wad
Tool Textures
CONTENTWATER
andfunc_pushable
with a speed of 2048 units/s in +X. [note1]CONTENTWATER
andfunc_pushable
with a speed of 2048 units/s in -X. [note1]CONTENTWATER
andfunc_pushable
with a speed of 2048 units/s in -Y. [note1]CONTENTWATER
andfunc_pushable
with a speed of 2048 units/s in +Y. [note1]CONTENTWATER
andfunc_pushable
with a speed of 2048 units/s in -Z. [note1]CONTENTWATER
andfunc_pushable
with a speed of 2048 units/s in +Z. [note1]NULL
.NULL
, but changes the clipnode of a brush in a way that any player approaching the brush will not be collide with the brush until their origin reaches the plane that theBEVEL
face lies on. It can be used to eliminate exterior corner clipping bugs, and any remaining clipping bugs that the-cliptype precise
CSG parameter may miss.NULL
, but has a lightmap. Brushes with this texture can cast shadows.ORIGIN
, but used to define a bounding box for an entity. Useful if you have a lot of complex, off-grid geometry and need a bounding box which is snapped to the grid.BEVEL
but for clipnodes.CLIPBEVEL
, but affects every single face.SKIP
.NULL
, but no cliphulls are generated. Similar to thezhlt_noclip
keyvalue in entities.HINT
, as it may cause bugs.SKY
and you have alight_environment
orlight_spot
entity. Clipnode generation is optional with VHLT and can be turned off with CSG parameter-noskyclip
.@
prefixed textures exhibit this property.Legend
zhlt.wad
requirementshalflife.wad
zhlt.wad
zhlt.wad
But to be your First map, i think it's pretty good and fun! Keep Up the good work man!
In SC the black_hidden texture is not drawn. It's also hidden.
Texturing — 1
Ambience — 0
Lighting — 0
Gameplay — 1
Architecture:
Extremely blocky. There are two clipped/VM'd brushes in the entire map.
Texturing:
Mostly aligned, but very strange choices throughout. Two separate wads for a grand total of two custom textures, both of which are somehow simultaneously overused and also completely absent.
Ambience:
70MB of completely unnecessary, base-game overwriting song ripped from, i think, Mario 64?
Lighting:
Floating point-lights with no source. Over-bright in most areas, plus eye-gouging colour clashes with the texture choices.
Gameplay:
Monsters stuck in floor (yellow dots), monsters clipping through walls, no node navigation. One vaguely interesting combat space in the whole map with your office cubicles that might have been fun if there had been nodes to let the monsters run around.
If this was a genuine attempt at a fun map, I apologise for being so harsh. But it needs a lot of work to be worth a download.
If it was a troll map... it's totally devoid of any personality or jokes.
Click here to see how to do this with no effort
Texturing — 9
Ambience — 10
Lighting — 9
Gameplay — 8
Texturing — 9
Ambience — 9
Lighting — 8
Gameplay — 9
Although I'm myself practically retired from mapping by now, and wasn't a big practitioner of mapping automation through tools like MESS, I found the tool remarkable and unique in what it does during my brief period of trying it out. In fact, I think that new mappers should absolutely try adding MESS to their compile process and utilizing the macros that it makes possible to engineer - it has great potential to reduce a lot of annoying and unnecessary work.
Brush entity merging is a really annoying technique to use manually: to reduce the amount of limits taken up by your map's entities this way, you have to sacrifice "readability" of your map source file. For example, it's rather time-consuming to take a single piece from merged entities and perform any individual operation on it. Your tool finally providing an abstraction over the technique gives me the hope that it can go as far as make this optimization zero-cost in terms of mapper's time spent, and this is extremely important - nothing kills the wish to map like the amount of brush paperwork that you have to do at times.
I'm excited to see where MESS will go in the future and would love to hear of any further improvements and new features!
EDIT:
Looking at the feature description, although this is a rather small detail that can be avoided if you use the feature carefully, I wonder how it determines the resulting "principal" or "primary" entity to merge all of the provided entities into. I think there should be a way to explicitly specify which one entity will serve as such.
It can make the map more refactoring-friendly: when you change things, some keyvalues may go out of sync with your changes and intent, and you may end up with bugs that you may not immediately notice.
https://www.youtube.com/@MattsRamblings
PVS from the top
https://www.youtube.com/watch?v=TMeUxF4mHJA
You might find this code helpful.
https://www.codeproject.com/Articles/32751/Half-Life-Game-Level-Viewer