Slight Hammer problem

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
E-mail the RMF and the compiled BSP (with -nowadtextures/-wadinclude) to spam (at) thothie.com and I'll rip the textures out of the BSP.
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
Having looked at the map I can tell ya that he house in question has no vis blocking what so ever. The whole thing will render every frame.

I think the concept of the building itself is simply flawed, however, ya may be able to pull it off with a lot less windows. I'd drop most of the windows (you'll at least need to drop all the windows on two sides), and use the lighted-window effect you see in Deralia and in the original gold moon - where the window is a solid with a light on one or both sides to make it appear as it is glowing from the inside.

Ya gotta remember, the HL engine will draw wherever it can bounce a line, and there's nothing stopping the engine from bouncing lines from any window in this house to any other - so it renders the whole house, and whatever's around it.

As you can see with the gl_wireframe, it's even rendering the wall behind it.

Ya also have a lot of things func_walled that probably shouldn't be. This will add to your chance for no free edict errors, but will also render in places they shouldn't. Window frames, door frames, etc, are going to split either way.

func_wall abuse is causing the house to render from places it shouldn't. Bringing some of the stair cases to the floor and back into the world will also help block some more vis. Solids block vis - func_walls, do not. You've also made some rather large arcs without bothering to put them back on a hex friendly grid which is causing some rather creative splitting.

Ye may also have to bring the sky brush to roof level if you add anything else in that area, but it may take some redesign to make that look natural.
 

The Man In Black

Administrator
Staff member
Administrator
Moderator
RiP
Joined
Jul 9, 2006
Messages
6,904
Reaction score
71
Analysis - stick to random canyon walls :oldlol:
 

J-M v2.5.5

BANNED
BANNED
Joined
Feb 26, 2005
Messages
5,675
Reaction score
1
Age
35
Location
Nijmegen, the Netherlands.
Thothie said:
Having looked at the map I can tell ya that he house in question has no vis blocking what so ever. The whole thing will render every frame.
Working on that, but this isn't the real problem.

Thothie said:
I think the concept of the building itself is simply flawed, however, ya may be able to pull it off with a lot less windows. I'd drop most of the windows (you'll at least need to drop all the windows on two sides), and use the lighted-window effect you see in Deralia and in the original gold moon - where the window is a solid with a light on one or both sides to make it appear as it is glowing from the inside.
I removed almost every single window except those from the rooms (twelve windows in total) and some other windows (four in total).
Also, the original Goldmoon maps had see-through windows for most of the buildings.

Thothie said:
Ya gotta remember, the HL engine will draw wherever it can bounce a line, and there's nothing stopping the engine from bouncing lines from any window in this house to any other - so it renders the whole house, and whatever's around it.
I was in a hurry with that compile; most things are separate func_wall entities now.

Thothie said:
As you can see with the gl_wireframe, it's even rendering the wall behind it.
Same story here.

Thothie said:
Ya also have a lot of things func_walled that probably shouldn't be. This will add to your chance for no free edict errors, but will also render in places they shouldn't. Window frames, door frames, etc, are going to split either way.
Still looking into that.

Thothie said:
func_wall abuse is causing the house to render from places it shouldn't. Bringing some of the stair cases to the floor and back into the world will also help block some more vis. Solids block vis - func_walls, do not. You've also made some rather large arcs without bothering to put them back on a hex friendly grid which is causing some rather creative splitting.
I still can't find out how the house is being rendered while you're in a different part of the city. Seriously, there are worldbrushes separating the visleafs from these city parts. I don't get it.
Also, the arcs are on the grid, but it' mostly grid size 1. That's what happens alot when you make an arc.

Thothie said:
Ye may also have to bring the sky brush to roof level if you add anything else in that area, but it may take some redesign to make that look natural.
Skybox is partially redone in the version I'm working with now.

Edit: New compile got the WPOLY count down to about 1100 maximum and I haven't even done optimizations yet with HINT brushes. I'm getting there :p

Also, now that every window frame is a separate func_wall, all of them don't get rendered when you're in the other part of the map (as it should be). These big pillar func_wall things still get rendered, but I might just turn them into worldbrushes.

However, I am still wondering: How on earth can the Goldsource engine render func_wall entities that it can't even see? As you can see in the RMF, the two parts of the city are separated by worldbrushes and a U-turn through the wall. There's no way the engine can see what's on the other side of that wall, yet it still renders some things. How?
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
IIRC Crow was good at making several fake windows, windows with closed shutters that are solid, etc. Didn't have any buildings quite that well venitlated.

Why are your window frames func_wall'd at all? That brush is going to split either way.

Func_walls also "think" - so the more you have - the more likey you are to run out of edicts.

Occlusion works different for entity brushes, and as such they have a much larger rendering range than solids. This is true more so if they are complex, as the game has a harder time determining where they are and aren't visible from. Yer going to have a hard time getting a hint brush in there to work around that as the house is generally dead ahead of the player.
 

J-M v2.5.5

BANNED
BANNED
Joined
Feb 26, 2005
Messages
5,675
Reaction score
1
Age
35
Location
Nijmegen, the Netherlands.
The original Goldmoon Refuge maps by Crow only have see-through windows.

GoldmoonNorth (two buildings)
Building one (the inn, which I'm remaking): twelve windows, all see-through
Building two (the blacksmith): six windows, all see-through

GoldmoonSpawn (zero buildings)

GoldmoonSouth (three buildings)
Building one (the church): fifteen windows, all see-through
Building two (the merchant house): three windows, all see-through
Building three (the tavern): zero windows

The Goldmoon Refuge has a total of zero windows you can't see through. I don't know if you and I are talking about the same Goldmoon here :wink:
Or the same Crow for that matter; highlands_msc, lostcastle_msc, orcplace2_beta, skycastle, ww1, ww2b and ww3d don't have any houses. The only Crow map remaining, lowlands, has two non-see-through windows in the starting house, but these are the only two non-see-through windows from all Crow maps combined.

Edit: Maybe you are talking about Underkeep. I couldn't find a single see-through window in that map. However, Underkeep already renders about 1500 WPOLY at average so I don't think it would matter anyway :p

Thothie said:
Why are your window frames func_wall'd at all? That brush is going to split either way.
The... wooden cross that's inside of every window frame would cause the outer square of the frame to split alot if I were to make these things worldbrushes. I could make every outer square of each window frame a bunch of worldbrushes again and keep the inner crosses func_wall entities, but that would still get me the same amount of func_wall entities in the end.

Thothie said:
Occlusion works different for entity brushes, and as such they have a much larger rendering range than solids. This is true more so if they are complex, as the game has a harder time determining where they are and aren't visible from. Yer going to have a hard time getting a hint brush in there to work around that as the house is generally dead ahead of the player.
Thanks, I guess this must be why my larger func_wall entities get rendered when you shouldn't be able to see them. I couldn't figure it out but I'll just:
- separate the big func_wall entities into multiple, smaller ones
- bring some things back to the world that shouldn't be func_wall anyway
 
Top