Commented 6 months ago2022-11-16 09:44:44 UTC in wiki page: VERC: Half-Life Editing Tips Comment #104901
A few years ago, the author, Dave Johnston, posted some corrections about these tips on his blog:
Commented 11 months ago2022-06-06 13:15:58 UTC in vault item: Fake 2D Skybox Models Comment #104518
That's a very nice showcase map!
Commented 11 months ago2022-05-31 22:14:37 UTC in news: Bridge The Gap Competition Results! Comment #104486
This competition was a lot of fun, with a lot of great entries. There's something about having a deadline (and an extension!) that spurs creativity I guess. :)
Commented 1 year ago2022-05-03 23:34:31 UTC in wiki page: Making textures with WadMaker Comment #104377
Half-Life texture sizes must be multiples of 16 (16, 32, 48, etc.), that's simply how it is. However, it might be safer to stick to powers of 2 (16, 32, 64, 128, 256, 512, etc.) to avoid scaling/performance/mipmap issues on certain GPUs (I don't think such issues will be very significant, but hey).

Also note that the maximum texture size is 512x512 (1024x256 and 2048x128 also work, so the actual limit is probably something like '262144 pixels').
Commented 1 year ago2022-02-26 22:29:29 UTC in journal: 34! Comment #104188
A happy belated birthday to you!
Commented 1 year ago2022-01-03 20:47:25 UTC in vault item: Clash_b1 (Beta version) Comment #103960
The brushwork/geometry looks impressive, but the texturing is somewhat bland. Maybe that rock texture works better when it's scaled up so that it complements the geometry instead of making it look repetitive? Or perhaps you can find a rock texture with different layers, like the real mesas such as here or here. The center of the map could also use some changes to make it more 'readable' - a couple of big boulders separated by patches of sand should be easier to navigate than a big mass of brown rock.

I also feel that this map needs a clear landmark to make it more memorable and to prevent all sides from looking too similar. Maybe a radar tower or some other man-made structure, something distinct.
Commented 1 year ago2021-10-27 20:29:52 UTC in journal: Oh no Comment #103796
"It happened again." - "Just one of those days I guess."

Happy resonance cascade birthday!
Commented 1 year ago2021-10-19 15:31:30 UTC in journal: Cryptic Journal Comment #103777
That picture is obviously an abstract representation of a tile-based platformer game. One of the most well-known platformers is Super Mario Bro(mine)s, which was released in 1985. However, there is no sign of a level exit, so the blue protagonist is clearly lost. This leads us to Super Mario Bros: The Lost Levels, which was released in 1986. Happy 35th birthday!
Commented 1 year ago2021-07-21 11:50:31 UTC in journal: Continuous Integration and Scrum on Goldsource mapping Comment #103619
Oh, nice! I really like your idea of of using _dev entities for test builds. I'm sure your script would be useful for some people. :)

This is giving me some ideas for improving MESS, a compile tool I made a while ago. Automating and speeding up the level-design process is an important reason why I made tools like MESS and WadMaker (and SpriteMaker, soon), and I'm thinking about making a 'smart' compile script that only runs csg with -onlyents if it does not detect any brushwork or lighting changes since the last compile.
Commented 1 year ago2021-06-01 22:38:48 UTC in wiki page: VERC: Custom Decals Comment #103584
It turns out that the only color in the palette that has any effect is the last one (it determines the overall decal color). All other colors are irrelevant - there's no need for black-to-white or white-to-black gradients, although gradient palettes can be useful for certain workflows, and helpful when viewing decals in Wally or Hammer. What really happens is that Half-Life uses the image data as an alpha channel, instead of a set of indexes into a palette.

WadMaker, a command-line wad-making tool that I made, can turn 32-bit images into decal textures if the output wad name is 'decals.wad'. It'll use their alpha channel to create the decal, and the average color of the image to set the decal color. To add textures to decals.wad, first drag decals.wad onto WadMaker.exe - this will extract all decal textures and store them as png files in a 'decals_extracted' folder. Rename the folder to 'decals', add your own images, then drag the folder onto WadMaker.exe - this will update decals.wad with your new images.
Commented 2 years ago2021-04-13 20:27:49 UTC in vault item: dm_ignite Comment #103505
I think the small, square layout is fine - it's guaranteed action even with a small number of players. I like how some weapons are put in vulnerable spots (top of the crane, inside containers), forcing players to take risks, and how the water pool warns nearby players when someone picks up the AR2. The map also feels like a believable place.

What I like about the outer wall is how you chose a distinctive color to mark the boundaries of the playable area. But it's too thick for sheet metal, and there's an invisible wall above it. Putting barbed wire on top of it would make it clear to players that they can't jump across.

I'm not sure about the underground hallway. It's a bit too disconnected from the rest of the map, and with a charger, infinite ammunition and only 2 entrances that offer no cover, it's probably an overpowered camping spot. If only other players could flood that room to discourage such behavior...

The fenced area next to the crane is a bit confusing to navigate - it's a bit of a dead-end and the 'exit' isn't easy to spot due to the low contrast between fences and the dark wall behind it. The nearby shed is also a bit too dark for my taste, especially because the wall behind it is also dark, so players silhouettes won't stand out against it either. The ladder to the top of the crane isn't clearly visible and it doesn't extend all the way to the bottom, so it doesn't look climbable. The crane base is also hard to get onto, as you can only crouch-jump onto it from a few specific places. Either make the platform visibly unreachable, or make it reachable from everywhere. The platform and its sides also disappear when you look at it from certain angles (because it's a single brush, and its faces are one-sided). It also looks like you could crouch underneath it. Maybe make it darker and put some concrete underneath it, to make it more visibly inaccessible.

Finally, about the 3D skybox, I'm a bit worried about an oil refinery being located in the middle of a residential area. It would be more believable to have residential buildings on one side of the junkyard, and some factories on the other side, with a refinery further away in the background.
Commented 2 years ago2021-04-13 19:38:36 UTC in journal: Sooo... I got a new side job Comment #103504
Sounds like you'll be working on some pretty cool projects. Congratulations!

So... that nuclear sign in The Core Decay's logo... getting 3DRealms' attention was the plan all along, right? ^_^
Commented 2 years ago2021-03-19 01:25:24 UTC in vault item: de_dust2_2020 Comment #103438
I really like this map from a technical point of view. Excellent use of models! The 3D skybox with moving clouds, the sun reflection on the mosque's domes, the breakable awnings, all the other props... especially the skybox makes this map look a lot more modern. What was your workflow? Did you export the map to a modeling tool and then create the skybox around it? Why did you combine several props into one model?

I'm not really a CS player, but it looks like all those extra nooks and crannies will result in more cautious and campy gameplay. I think the rooftops will play a bigger role in the HLDM version, where the longjump and gauss make them more accessible. The hidden weapons in both versions are a fun touch.

As far as performance goes, r_speeds range from 2K wpoly's to 5-6K in certain areas, but it runs fine on my (fairly new) system.

My only 'complaints' would be that the exact boundaries of the playable area are sometimes unclear (invisible walls), especially in the _se and HLDM versions, and that the crispness of the shadows in the 3D skybox doesn't match the more blurry shadows in the rest of the map. And in the HLDM version, a lot of the pickups are off the beaten path, often requiring several crouch-jumps, which might hinder the gameplay flow and will probably also make the map harder for new players. On the other hand, even the strongest weapons can be found in multiple places, and with all the connections between areas action should never be too far away, so it looks like a fun map to play in.
Commented 2 years ago2021-02-25 13:46:25 UTC in vault item: Flowgrove Comment #103357
I really like the whimsical setting of this map! It's like falling down a rabbit hole and ending up in the underground botanical gardens of a mad scientist. Speaking about rabbits, it reminded me of the 'Fanolint' levels in the first Jazz Jackrabbit game.

I agree that, in its current form, it's not really suitable for DM. The layout is too linear and the doors, narrow doorways and various protrusions hinder fast movement. If you want to make a 'proper' DM map, I'd suggest creating a 'blockout' level that focuses entirely on layout and gameplay. Keeping it visually simple allows you to make gameplay tweaks more easily. Once you're satisfied with the gameplay, start decorating it, using this map as a style guide.

As for optimizations, maybe you know some (or all) of this already, but just in case, here are some of the things that you can do:
  • reduce texture scales on large, far-away surfaces (faces are split every 240 texture units)
  • use func_detail instead of func_wall (entities are drawn entirely even if only a small part is in the visible area, whereas func_details become world geometry)
  • replace certain details like plants and stones with models (model rendering is more efficient and allows for finer details)
  • use the gl_wireframe 1 console command to look for areas with lots of face splitting (typically near rounded shapes), and see if you can reduce that with a func_detail or some other trick
  • use less faces on rounded shapes, especially ones that are never seen up-close (such as the blue overhead pipes)
  • if you start a 'blockout' map, use gl_wireframe 2 to see which areas are visible at any given moment, and adjust the layout to ensure that not too much it visible from any given position (maps often use U-bends in corridors to block visibility between areas)
Commented 2 years ago2021-02-23 12:42:06 UTC in journal: Deathmatch with my son Comment #103346
Hao jiu bu jian, haha!

Thanks! She's 2.5, old enough to talk all day long, do jigsaw puzzles and make abstract art. It's a joy. :)
Commented 2 years ago2021-02-23 12:30:14 UTC in journal: 0x0013 Comment #103345
Happy testing day! I mean birthday!

But... how old do you expect you will become if you felt the need for leading zeroes? :P
Commented 2 years ago2021-02-18 21:01:16 UTC in vault item: Monsters Sample Maps Comment #103333
@Hardian GT: for questions like these it's better to make a topic in the forums, or to ask on the Discord server. Be sure to explain exactly what you're doing, or upload your map so others can have a look at it.
Commented 2 years ago2021-02-18 20:48:31 UTC in journal: Information Interchange Comment #103332
DC4... DCIV... congratulations with your... 604th birthday? :crowbar:
What do you mean, 'you're off by a factor of [RECORD SEPARATOR]'?
Commented 2 years ago2021-02-18 12:53:08 UTC in vault item: Monsters Sample Maps Comment #103326
@Hardian GT: see the notes at the bottom of the monster_osprey entity page: you'll need a monster_osprey that targets a path_corner (which needs to be part of a cyclic route of path_corners), and at least one monster_human_grunt.
Commented 2 years ago2021-01-23 22:36:48 UTC in journal: Deathmatch with my son Comment #103205
Your son is doing a good job, but you... I think you're getting older. :P

Now I wonder whether I'll have the same 'problem' with my daughter 10 years from now, heh.
Commented 2 years ago2021-01-08 22:50:09 UTC in vault item: aim_saturn Comment #103186
@Masta_Frank01: thanks! Gravity is set to 0.5 with a trigger_gravity that covers the entire playable area.
Commented 2 years ago2021-01-05 11:14:42 UTC in wiki page: Tutorial: Coding NPCs in GoldSrc Comment #103181
@Saw: those includes must be put in the same file as the rest of the code, so if you've created a new .cpp file for your NPC, then yes, they should be put at the top of that file.
Commented 2 years ago2020-12-07 23:27:51 UTC in vault item: MESS - weapon_* entity replacement template Comment #103129
Note: I made this example based on a forum question by mahagon.
Commented 2 years ago2020-11-26 21:40:26 UTC in vault item: Vanilla sprite train Comment #103092
Nice! I noticed that zhlt_usemodel also ensures that the 'template' entity whose sprite or model is used will be put before the entities that use it, so the map won't crash because the sprite or model hasn't been loaded yet. If you use model instead you'd have to be careful to create the sprite/model entity first.
Commented 2 years ago2020-11-24 08:44:04 UTC in vault item: TWHL Tower 2 Comment #103085
That's a lot of high-quality maps! Some interesting gameplay mechanics and ideas, and the level of detail in some of the maps is just excellent. I've tried to summarize my thoughts on each map:

Warm welcome: I like how the gameplay mechanics were communicated through visual clues (red lasers + red glow on turrets, orange pipes).
Pest control: The cubicles combat area setup was nice, with vorts being able to flank the player. Standard HL gameplay but nicely done.
Phantom lab: Visually very nice, good use of available space, also good use of satchels/tripmines. I wasn't expecting a hidden item search and found the G-man sequences a bit too long, and the intro was weird, but a great map nonetheless.
The tomb: Fun introduction and great atmosphere, especially the 'artifact grab' and the cheesy 'ending'. Instakill traps were a bit frustrating, but still a fun map.
Cargo specimen #798: Interesting monster use. It wasn't always very clear how to proceed though. The start and end 'sequences' were a fun touch.
Food court: Finally, after all these years, Gordon gets to eat something besides medkits and morphine...
Half-Pint: Fantastic! Manages to be both predictable and surprising at the same time. Definitely one of the highlights of this mappack.
Memories: These kind of maps aren't really my cup of tea.
Orange corp: Nice visuals and 'storytelling' that builds up suspense before the final 'discovery'.
Tele office: Visually more basic, but the combat and especially the 'finale' were actually quite fun.
Training course: Refreshingly different in style. Combat was maybe a bit too though but it was never dull.
Smash & grab: Very well done. Visually appealing, distinct mechanics that were clearly explained, and not too easy either.
Saviour?: Good sense of place and level of detail. Interesting use of windows and layout, so the player can see the AI taking initiative, which makes them look smart.
Xen garden: 1/10 would never relax here again. 'domesticated' headcrabs, yeah right... But seriously, this one looked very pretty.
Apartments: I don't like horror maps so I skipped this one.
Not much of a turnabout: That's a cool little detective story. Very nice!
Headley & Crabb: Not bad visually, but not the most interesting combat-wise. I'm not sure why Barney was hostile?
Darkwoods penitentiary: Not really my style, but I'm glad I stuck around to see the ending.
Flippant: An interesting idea, but enemies were rather difficult to hit (due to a hitbox issue?) and combat was too hard overall for my taste.
Von Braun: This floor felt like a different game altogether. Very well done. The hint system was a good idea, given how little 'room' there was to introduce the different gameplay mechanics.
Cupid's queue: A bit rough around the edges, with some rooms not making much sense. I did like how it gave you a glimpse of the secret cd.
Trial by fire: More horror, so another skip for me.
Hard inferno: Nice idea about exploration versus direct confrontation. Ending was pretty frantic.
Repechage: Visually very pleasing, interesting gameplay mechanics, chock-full of secrets, but above all, great fun to play. One of my favorite maps in this mappack.
All foyered up: Visually very nice (chrome tv effect!), but the final room felt a bit too cramped for a grande finale.
Cenodrome XL: I'm not sure whether I'd be able to beat this without cheating, but it's an interesting idea for sure. The connection with Repechage is a nice touch.
Commented 2 years ago2020-11-19 19:46:21 UTC in journal: #555 Comment #103071

What's with all these weird comments on decade-old journal entries?
Commented 2 years ago2020-11-07 21:48:37 UTC in vault item: Bridge The Gap 2.0 Comment #103020
That's a nice piece of work! Going back to low-res HL textures was a bit rough, but the improved architecture and overall character of the map more than made up for that. There's a much better sense of place now compared to the more generic warehouse style of the first version.

I especially like how the first grunt encounter was redesigned. You can now sneak up on a grunt, only the be caught by surprise by grenade-launching grunt on the other side. Gave an interesting dynamic to that fight. The area also looks more like a real functional place than v1.

Some of the other enemies felt a bit dumb though, just passively waiting around a corner until you show up. It would've been nice if the grunts in the control room had acknowledged your presence in the bridge room somehow - a 'Freeman!' shout, a gesture, one or two grunts running around. The fan obstacle setup was better in v1, because the obstacle was visible before the solution was. In v2, I first pushed the button, then found the vent, and wasn't entirely sure what that button had done.

But other than those minor issues, it's an enjoyable map and it shows good attention to detail. I like how you create ladders - much better than the standard single-brush approach. Also, '86 was a good year indeed! Now I wonder whether there are any other easter eggs to be found...
Commented 2 years ago2020-10-31 23:44:51 UTC in journal: GoldSRC + Godot = ??? Comment #102997
So basically, instead of the CSG/BSP/VIS/RAD pipeline, you're only using a VIS process, at the expense of having to manually set up visibility areas? That's an interesting idea. I wouldn't be surprised if applying this to HL would result in similar performance to what you'd get from the 'traditional' approach.

VISPORTALEXIT seems similar in purpose to HL's SKY texture, with anything outside a VISAREA basically ending up as part of a 3D skybox. As for portals, can't you derive those automatically from where two VISPORTAL brushes are touching or intersecting? That would simplify the level-design process somewhat.
Commented 2 years ago2020-10-19 18:29:32 UTC in journal: Journal sus... Comment #102979
Congratulations with your I have no clueth birthday!
Commented 2 years ago2020-10-17 11:10:46 UTC in vault item: dm_mudanchee Comment #102960
Thanks for the kind words. That waterfall is actually on purpose - it distracts players so others can activate the trap in that room! Nah, I think I just forgot to put a rock there. ;)
Commented 2 years ago2020-10-14 10:56:33 UTC in vault item: dm_mudanchee Comment #102953
Turns out I still had the map somewhere. Download is fixed now, have fun. :)
Commented 2 years ago2020-10-05 09:01:55 UTC in journal: Quarter Comment #102929
Happy (...counts number of ridges...) 119th birthday!
Commented 2 years ago2020-08-08 23:28:07 UTC in wiki page: Explanation: Why brushes can't be concave Comment #102861
The 3-point format takes more space and requires more work to load (for the CSG tool) than the normal+offset format (which is what CSG uses internally), and it's a plain-text format, so I'm not convinced that saving space was much of a concern in this case (not for .map files anyway, .bsp is a different matter). Both of these are about equally bad for a map editor - I don't think there's a way to derive vertices that's better than O(n^2). Fortunately most brushes have a small number of faces so it's not as bad as it sounds, but still, there's a reason why editor-specific formats do store vertices.

Oh, I just found out why brushes are called brushes: Carmack felt that CSG was like painting with a geometry brush. I never thought about it like that.
Commented 2 years ago2020-08-07 07:37:50 UTC in wiki page: Explanation: Why brushes can't be concave Comment #102857
I ran into this when I started working on MESS - .rmf files store a nice list of vertices for each face, but .map files only give you a bunch of planes to work with. Which is annoying, because you need to have vertices if you want to check whether a brush is inside another shape. But once you have those vertices, the convex nature of brushes makes things easy: anything that's on the 'outside' of even a single face plane is outside the brush. With concave shapes that is (a lot?) more complicated.

But did they really choose planes to save on storage space? If that's the case then why didn't they store them as a normal + offset? I think they used planes because it more naturally fits the CSG and BSP processes.
Commented 2 years ago2020-08-03 07:08:39 UTC in journal: I lifted a cinder block today Comment #102851
Ah yes, the lesser known Shakira single.
Yeah! That, and Jenny from the (cinder) block, those songs were solid.
Commented 2 years ago2020-08-02 19:20:11 UTC in journal: I lifted a cinder block today Comment #102845
The holes in those carefully arranged bricks... you must be... 38!

That means your biography is 20 years out of date, so you must've written it 16 years before joining. That... makes total sense. Yeah. Bricks don't lie! :P
Commented 2 years ago2020-08-01 12:33:35 UTC in journal: Macro Entity Scripting System Comment #102839
Thanks! Yeah, I definitely want to get this done.

I just finished integrating the scripting system and implementing transformation of template contents based on the scale and angles of a macro_insert entity. Here are 9 instances of a recursive template, each with a random direction and scaling factor:
Recursion & randomnessRecursion & randomness
The template only contains a single brush, a light entity and a macro_insert entity that's wrapped inside a macro_remove_if entity, to prevent the template from expanding indefinitely. I don't think the other compile tools will handle this sort of brushwork gracefully, but hey... it works! :)
The templateThe template
Commented 2 years ago2020-07-30 22:48:12 UTC in journal: More of this... Comment #102830
To stick with the Minecraft theme: happy dandelions day! :P
Commented 2 years ago2020-07-14 21:33:34 UTC in vault item: Rat Hunt: Quarters Comment #102790
Well, that was fun! I found all but 6 on my first run. Then I cheated with the R_speed Epoly Detector (tm), but still couldn't find all of them...

One thing I noticed was that the detailed nature of the map and the gameplay made me expect the environment to be much more interactive than it was. I think it would really add to the map if those lockers and file cabinets could be opened, and if those soda-machines would actually work.

There were two rats that felt a bit unfair: The cupboard doesn't look like it has doors, they're difficult to open (they don't react to the use key, and can only be touched by crouching), and almost nothing else of that scale is interactive. The two destructible vent grates in the machine room look solid, but all other solid grates are indestructible.

But all in all, a good-looking map with unique and enjoyable gameplay. :)
Commented 3 years ago2020-05-08 20:06:45 UTC in journal: #142 Comment #102706
When you gotta go you gotta go. ;)

I wish I knew about this when I picked a nickname all those years ago, but oh well. That's what happens when your first name starts with a P and English isn't your native language. Fun fact: the place where I live used to be part of a separate kingdom, hundreds of years ago, and it still has its own anthem. The most popular parody on that anthem (the only version I can remember) is - indeed - about having to pee. So there's a connection after all, huh.
Commented 14 years ago2009-05-01 17:12:27 UTC in journal: #5771 Comment #47445
"Shotgun lessons are next."

Plush shotgun shells? Those pack quite a punch. Either way, nice headcrab there. And wow, your son is growing up fast. :)
Commented 14 years ago2009-03-03 08:25:38 UTC in news: OMGWTFHAX Comment #99010
@Rimrook: Welcome. Welcome to It's safer here!
Commented 14 years ago2008-10-17 13:13:52 UTC in wiki page: Tutorial: Detailed Textures in Half-Life Comment #100912
Technically this article seems to be accurate, but the presentation can still use some work.

Some comments:
  • divide the article into various paragraphs, as currently it's a big wall of text
  • add a few example images to spice it up, text only is rather dry
  • use bold or italic when emphasizing something, all-caps is regarded as shouting and makes the article look less professional (not that we're striving for a very formal style, but hey)
  • I think it'd be cool if you did provide a working example map :)
Also, the following sentence seems self-contradicting:
The first value is the name of the map texture to apply the detail texture to, you need to rename this to the exact name of the texture you used in your map, eg, if you used the texture 'C1A0_LABW2' in your map you need to name it exactly that, it is not case sensitive and don't use the commas.
Exact same name... but not case-sensitive? I'd say it is case-sensitive. Commas? '' are single quotation marks.
Commented 14 years ago2008-10-16 15:57:11 UTC in vault item: Radiation: Day 1 (for Flat-Life) Comment #17009
Skals, drop the attitude. Instead, just say what's going wrong ("I'm still getting the 'slicksci.mdl is not precached' error").

JeffMOD, imageshack is a well-known site for uploading images to for free. I'd say links to it can be trusted.
Commented 14 years ago2008-07-27 10:07:56 UTC in news: TWHL is Shutting Down Comment #98656
Apparently, my portfolio and blog are worth 38K combined. That sort of undermines the reliability of that site, don't you think? ;)

Bytheway, is worth 330K.
Commented 14 years ago2008-07-02 16:43:54 UTC in news: MotM Playtesting Comment #98576
Yarrr! = P
Commented 14 years ago2008-06-20 05:08:16 UTC in journal: #5151 Comment #35099
Did you happen to see the guys from Triangle Studios? There's 3 of us in Utrecht these days. :)

Your game starts looking nice bytheway. I assume the tank is fully controllable by now?
Commented 15 years ago2008-05-21 15:54:31 UTC in vault item: dm_mudanchee Comment #16661
Thanks for the review, hlife-hotdog. :)
Commented 15 years ago2008-05-21 03:16:27 UTC in vault item: de_detritus Comment #16656
Aah, I see. Wow, good job for just 4 days then. :)

Oh, I forgot to mention that, but you can embed files into your map, including navigation files. Pakrat is a great tool for that, with it's auto-scan mode.
Commented 15 years ago2008-05-19 16:45:10 UTC in vault item: de_detritus Comment #16646
I just gave this map a try and it's not bad, not at all. :)

I think my youngest brother will enjoy this map, as it's small and to the point, immediate action. I do think hlife_hotdog has a good point about spawning in the basement: it does give the CT's somewhat of a disadvantage, but since they also spawn top-side now and then, it's probably not a big issue. Adds some variety. :)

Visually, the map was pretty good. Atmospheric, but not too dark. I do think some finer brushwork and texturing (alignment on the well, tall building using bump-mapped and unbump-mapped version of a texture) here and there would be good. However, it's just a small layer of extra polish that lacks here, and all in all, it's a pretty nice map. Good job.