Ads keep us online. Without them, we wouldn't exist. We don't have paywalls or sell mods - we never will. But every month we have large bills and running ads is our only way to cover them. Please consider unblocking us. Thank you from GameBanana <3

New Text Document (7)

A Blog Post for GameBanana


Been a while since I posted anything ( well, other than comments anyway ). Probably gonna be a while again after this, as I'll expand upon below.
So, to begin with - I started college this year! It's great so far, but it's also brought down my fucking-around-in-hammer time to like an eight of what it was, at most.
The optimist in me would like to believe this'll inspire me to start using this time more efficiently, the realist in me has opted not to comment.

I'm still working on, well - things - though. Quite broadly speaking I've been working on these things since, like, late 2017. Although that was more of a prelude to this project, which I'd start about the end of last year.

I don't do well setting goals, honestly. which does explain why I've posted so little actual content over the years, I work so long on everything - with no concrete target in mind - that it just turns into something entirely different about 3 times over. That's not a big issue to me personally though, at least not in respect to my endeavors in hammer. As I've posted before ( don't recall whether it was here or elsewhere ) hammer's more a game to me than a tool, frankly. I use it in the same sense I used to use minecraft back when I played that - to build cool shit, both technically and visually.
I also just kinda love image manipulation, which serves me more practically in texture "creation" than it does in many other things, so, eh.

I might expand more upon what I'm actually working on in this blog, or I might add it as an update to the actual project page. Thing is, as I said, my vision has changed to sufficient degree it might not really make sense to add it on the original page, so I maybe I'll cancel it and make a new page? We'll see.

Guess I might as well just paint a picture already; right now the idea is to create a hub world which gives access to a good number of various content. Strictly speaking not awful different from the plethora of mg_ maps already out there, but the difference is I want to provide access to a number of "classic" maps as core of the experience. Classic meaning the gamemodes ( bomb/defuse and hostage mode ) and the maps specifically, so think dust2, mirage, train, etc. All carbon copies of their csgo release layout-wise, but with their own lick of paint.
Now that wouldn't need to be remotely as big a project as I'm making it seem - just greybox-trace the maps and texture it to whichever degree I see fit. That's what I started out with, really.
The problem therein; csgo uses a LOT of props for its maps, compared to 1.6 and source's much greater use of texture detail and brushwork. This makes reproducing the maps at acceptable detail level, but with a significantly smaller "footprint" a bit tough. Theoretically I could have opted to the 1.6 ports of csgo maps ( if granted permission to do so ), but fact of the matter is that doesn't entirely suit what I set out to do, anyway. You see, I'm not content just having a handful popular maps in here, I want more variety; *visual variety*, that is.
Therein lies the heart of what sets apart this project from what I conceptualized in 2017, I want at least like 4 "themes" for every map "port" I'm including.
So that's what I set out to do in, uh.. I don't recall. But somewhere between laste 2018 and this year's summer, anyway. I'd started recreating various differently versions for popular maps - starting out with dust2 ( yea, ugh, I know ) mostly because it has quite a simple layout which makes it easy to work with.
Conclusion: I got some great work done but was fundamentally unsatisfied with how well the variations stuck to the original layout. I really do find it quite important the gameplay remains largely unchanged.

( New Paragraph to break up that wall of text a bit )
So yea I have like three damn-near finished dust2 re-themes that I never published. I've considered posting them as MIPs or whatever those are called now, but between my own custom assets and the fact I've got every source title's textures and models imported in my csgo SDK, that's a slight bit more difficult that it should've otherwise been. Not like actually hard of course, but to the degree that I've put it off until now, and probably forever unless someone requests I do upload them.

That brings us to the current form of my project. I tricked you, it doesn't - but we're almost there!
In this version I'd started using goldsource assets, CSCZ to be specific ( might have been deleted scenes, to be less specific )
The main idea underlying my process from here on out relies on a bug(?) in source that allows [ ToggleTexture ] to be used on static geometry, including displacements, which I learned about from (insert link). In layman's terms: this allows you to specify individual frames in an animated texture to be displayed at a given time.
What this allows, or rather, what I am using it for - is to store multiple differently themed textures in one material, and switch between them at, for example, the end of a round.
In this first iteration of me using it, I had taken CSCZ textures, which unlike csgo's feature full details ( windows, doors, stains, you name it ) and partially re-structured them so that no large details ( such as, again - windows, doors, vents ) are placed across the dividing lines ( I experimented with several ways to divide the textures, but mostly settled on adhering to a 3x3 grid ( see below for examples ))
I would then apply them to the surfaces of the now-grexboxed maps, such that every surface was covered with a number of complete gridpieces. I'd start off with the textures scaled at 1 on both axes. Obviously they'd end stretched or squashed on one or both axes in most cases. The stretching was.. an issue, but by no means a dealbreaker.
I'd later also experiment with making a fully detailed and no-detail version of every texture, to then use displacement blending to decide where on the buildings windows or doors should be placed.
This was.. kind of successful? Dut it's very clearly not what alpha blending was designed for, and that *shows*.
Overal, my results were perfectly adequate if I'd been looking to nail the early 1.6 visual style, but man, no thanks. Either far too much repetition, or far too little detail.

Now we get to what I *am* working on currently.
Simply said, instead of using goldsource textures, I'm using ( perspective corrected ) pictures of real buildings. Scaled down to goldsource resolution, though. It's got a certain charm to it, I think. It also makes it a lot easier to find good pictures, and adhere the same pixel density on everything. Also since I'll be packing a number of them into every VTF, using 4096x4096 on every frame might overwhelm the game a bit... that's pure speculation, I haven't tested it. Makes sense to me, anyway.
I've also found out it's possible to download the image files google uses for street view, which you can then unwarp in the panorama editor of your choice, and stitch together if needed.
This is VERY useful if you're trying to get high-resolution, multi-perspective images of urban architecture - it's also pretty labour intensive and violates google's terms of service on like 6 separate accounts. Please note that I have not made use of this theoretical proces, and do not encourage others to do so, either.
I'd be glad to give introductory instructions for the conversion of non-copyrighted equirectangular panoramas to usable textures though, if anyone's interested.

As an extension on that, I've started experimenting a little with using multiple brush layers, which together with $alphatestreference can create something vaguely between parallax mapping and voxel graphics. It's pretty quite mediocre visually, and really more a resource drain than it's worth, at this stage. I still think it's worth fiddling with, though.
Right now what I'm trying to resolve is that it requires a separate VMT for every layer, which is quite undesirable in tandem with the ToggleTexture system.
I'm quite convinced this ought be relatively easy to resolve with an entity-bound proxy value, but as of yet I can't figure it out, and if the number of responses to my steam thread is anything to go by, neither has anyone else. ( or they just haven't told me, those scoundrels! )
Uh.. I mean there's supposed to be a workaround that'll let you actually use parallax maps in csgo, I think? Would be cool of course but that would just increase the time I'll need to spend creating depth maps for all the textures a hundredfold so, oof.

At any rate... none a y'all should be holding your breath I'll be releasing anything before the end o this year.. Maybe 2020, but I'd imagine college is just gonna keep taking more of my time as it goes on.. and maybe that's okay. Well, it's not. But yea don't hold your breath for 2020 either lmao.
Frankly at this point my main concern is Valve are gonna do some big engine update that fucks all my shit up.

Oh and my fucking GPU died this summer, that wasn't fun. At least I think it's broken.. haven't really been able to do a ton of troubleshooting cause I ain't that kind of technical, but yea it like just goes black after a while. Haven't been able to conclusively say whether the system freezes too, but I'm under the impression it does. Rebooting it soon after it's gone black makes it go black quickly again, if I let it "cool down" for a while I've got longer until it occurs again ( but generally no more than like 10 minutes IIRC ) ( that's in quotes because as far as I'm aware it is not a thermal issue )
So yea anyway I'm running the 6870 from my emulation box now.. Yea ain't fun to go a step backwards like that but hey I can play borderlands and csgo so I'll live :^)
Biggest change on this has honestly been that I can't run H&G, like at all. 8 fps or something. Maybe it's for the best, it's an awful game and I don't know why I've played it as much as I have.

- started college
- map's still not done
- gpu ded
- if you're good at material proxies please contact me

I think I was supposed to add some links in here but I super gotta go sleep now I'll do that later.. probably.
There's also a non-negligible chance GB fucked my formatting but that, too, is a concern for not right now [edit] it did lol, I fixed most of it


Sign up to access this!
  • Thunderkeil avatar
    Thunderkeil username pic Joined 6y ago
    12,996 points Ranked 451st
    31 medals 3 legendary 6 rare
    • 15+ Entries! GameBanana’s Christmas Giveaway 2016 Medal icon
    • Returned 5000 times Medal icon
    • 15+ Entries! GameBanana’s Christmas Giveaway 2017 Medal icon
    • GameBanana’s Christmas Giveaway 2015 Day Three Winner! Medal icon
    • 8-14 Entries! GameBanana’s Christmas Giveaway 2015 Medal icon
    • Returned 1000 times Medal icon
    access_time 1mo

    URL to post:
  • NvC_DmN_CH avatar
    NvC_DmN_CH username pic Joined 6y ago
    Apocalyptic Flag Affiliation: Apocalyptic
    7,522 points Ranked 835th
    47 medals 4 legendary 11 rare
    • Returned 5000 times Medal icon
    • 15+ Entries! GameBanana’s Christmas Giveaway 2017 Medal icon
    • 1st Place - The Heatwave Skinning Contest Medal icon
    • Became a Ripe Supporter Medal icon
    • Submitted 20 Gamefiles Medal icon
    • 3rd Place - The
    NvC_DmN_CH avatar
    Apocalyptic Flag
    access_time 1mo edit 1mo
    TextureToggle thing isnt a bug (or if it is, it hasnt been fixed and never will, because valve).

    IDK how you do it exactly, but it can be done like this: Texture applied to a func_brush for example, and then when changing it, any world brush / displacement / model that uses that texture will be changed as well.

    But it updates to the clients, only if the func_brush is in their FOV. So that's a limitation (or is in CSS at least, you gotta try yourself).

    You can look into material_modify_control as an alternative btw. Works in a similar way, as in you need an entity to change its texture, and it will apply to everything in the map. But through outputs you can change any $variable in the VMT, its got quite alot of power and I dont see anyone using it, apart from valve on some maps, in some games. I dont remember if it works on world brushes though, but most likely will.

    There's ParallaxTest in csgo, it renders unlit but you can fix this by placing a lightmap-textured brush ontop with Modulate shader. Though i think this drops fps more than if you just make a real model instead.

    BTW about your GPU, there's a certain chance a capacitor has gone haywire. Looks like that, especially with the whole "cooling down" effect and such. If you notice any of these capacitors bulging or just generally not looking like it should, then its 99% it.

    IDK how you would replace it yourself, though if you bring it to a service they might lower the price significantly since you would know exactly what they have to do.
    DmN means DiaMoNd avatar
    DmN means DiaMoNd
    URL to post:


Share banner
Image URL
HTML embed code
BB embed code
Markdown embed code


Thunderkeil avatar
Thunderkeil username pic Joined 6y ago
12,996 points Ranked 451st
31 medals 3 legendary 6 rare
  • 15+ Entries! GameBanana’s Christmas Giveaway 2016 Medal icon
  • Returned 5000 times Medal icon
  • 15+ Entries! GameBanana’s Christmas Giveaway 2017 Medal icon
  • GameBanana’s Christmas Giveaway 2015 Day Three Winner! Medal icon
  • 8-14 Entries! GameBanana’s Christmas Giveaway 2015 Medal icon
  • Returned 1000 times Medal icon
Thunderkeil avatar

Sign up to access this!
Sign up to access this!
Sign up to access this!


Sign up to access this!





  • Share on Reddit
  • Share on Twitter
  • Share on Facebook
  • favorite 0
  • remove_red_eye 262
  • mode_comment 6
  • access_time 1mo
  • access_time 1mo

More from Submitter


WiPs by Submitter


More General Blogs