XDM is an high-quality Unreal Tournament-style Half-Life 1 modification. XDM features Classic Deathmatch, Team deathmatch, Capture The Flag, Domination, Co-Operative, Last Man Stanging, Singleplayer game rules, new weapons, new high-quality maps, new hi-def models and lots of special effects. It is an Unreal/UT-style HL mod with tons of familiar stuff and atmosphere. 8) XDM continued where VALVe stopped. It provides extended features, effects and principles with FULL BACKWARDS COMPATIBILITY. XHL pushes HL engine to its limits, don't underestimate the GoldSource! XDM - brings unreality to Half-Life since 2001!

Post news Report RSS XDM 3.0.3.8 development update: flames of fire!

Weekly update of development progress on upcoming XDM version 3.0.3.8

Posted by on

Hello there! To minimize your frustration about release delays, I'm posting some fresh info on the current development process. :)

XDM test


First of all, I've completed the new particle emitting principle. Now it should be more like in Unreal or possibly other games. The extreme stress test indicated very good performance (there are about 400 000 particles in the scene shown on the screenshot above, all with collisions and separate frame updates, calculated in a single thread on CPU because HL doesn't allow otherwise). The even more awesome thing is: I've blown the dust off my particle-based flamethrower code because new emission system allows higher particle emission rates than before. There's also new particle position interpolation feature that allows system to create particles evenly between far emitter positions during long frames. E.g. when the game lags a lot, entity (like a rocket) may receive very few updates, even one per second, so from client perspective, entity stays at one position for a second, during which a hundred of particles may be generated. To avoid that, new PS tries to space particles across the current and previous position of emitting entity. Although not a total remedy, It still looks better.

XDM flame test 1


And now, the not-so-pleasant part about the flamethrower: just take a look at the picture. How the %s should I simulate that in HL!? If you don't quite get the picture, try this one:

XDM flame test 2


The point is: flame has some divergence in trajectory, which looks great. LOOKS. But then, what happens with visual side is this: we've got three streams of flame out of one! Nice? Indeed. Realistic? You bet. But HOW DO I accommodate server code to mimic this behavior?? A little technical reference: right now on the server I do a trace forward (until flame distance or a nearby wall is reached), then build a virtual cone, which deals damage to entities that get into it. Previously I tried server-side particles, "flame clouds", to do a realistic flame, that even interacted with wind (trigger_push). But it caused too many "No free edicts!" crashes all too soon AND generated so much traffic that clients could well drop out with "Datagram overflowed" error, not to mention those horrible lags.

tst_rain beam box
(patented super-fast box drawing algorithm! :) )


So here I am, not knowing what to do again. And, as you may have noticed by debugging text, the angles problem (Quake/Half-Life) is still there. So, that's how it's going for now. Thanks for reading!

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: