Page 1 of 1

Lou Guards vs Super Medium Hulks

Posted: Tue Dec 05, 2017 6:03 pm
by Xfing
Ok, so playing Descent 2 a bit recently brought something to my attention. Namely, the Lou Guards are pitifully weak compared to D1's viral juggernauts the red hulks. It's not just due to their difference in stats, which are superior for the hulk in terms of both endurance and aggression, but due to the fact that the homing missile wielded by them has been significantly nerfed between D1 and D2.

First thing you'll notice is that on direct hit, a robot type homing missile does 26 damage, while in D1 (where I'm assuming the hulks used the same programmed variety as player), they did 43 damage on direct hit. They were also considerably more difficult to evade if memory serves, though to be fair in D1 you'd jump the hulk most of the time and destroy it before it can even fire, or just facetank it under the effects of invulnerability. In D2 though, it doesn't even take afterburners to evade a salvo from the Lou Guard (and the red hulk too, since both use the same weapon).

I've also noticed a discrepancy in power. In the data, a robot homing missile has the strength of 30, while it reliably does only 26 damage to your ship. On the other hand, the player homer from D1 does 43 damage, and in D2 its strength is listed as 40 only. Does that mean a nerf in player homer power between the two games?

Also, what do you think about adjusting the red hulks for D1,5 so that they fire player homers instead of robot homers, to put them in an altogether different threat category than the Lou Guards?

Re: Lou Guards vs Super Medium Hulks

Posted: Tue Dec 05, 2017 6:07 pm
by Alter-Fox
No knowing about the first three paragraphs, but the last one is one of those truly great ideas.

Re: Lou Guards vs Super Medium Hulks

Posted: Tue Dec 05, 2017 6:34 pm
by Xfing
I did some tests and the results confuse me, to say the least - they make no sense at all. First off, the player homing missile is just as good as it was in D1, if not better. In D1 it would take 6 homers to blow up a super hulk, in D2 it takes 5. That would suggest they've actually become stronger in the sequel, of course apart from their turn rate (that's a whole other topic, amirite).

And yet, player homers (as wielded by the super hulk) do 43 damage to the player in D1, and 30 in D2 - even though in the latter their power rating in the data is 40. There must be some damage scaling algorithm at play in D2, because even on Insane, player homers when used by robots only do 4 more damage on direct impact, and have a projectile speed of 90, as opposed to the variable speed of the robot homer, capping off at 80 on Insane (it's 60 on all other difficulty levels).

I have no idea why a missile with the listed power of 40, only does 30 damage to the player. Might be a bug from the nightly versions of D2x-Rebirth, so testing under a stable version might be required, but this gave me a whole new idea:

Maybe we should give the player homer to the Lou Guard instead - it's only marginally more damaging and marginally harder to dodge on Insane than the default robot variety. Of course that would make the robot a bit tricky on Trainee etc, since player weapon values generally don't change throughout the difficulties - but then again the robot so dopey even on Insane that the player is usually able to pick it off before it even gets to fire once, so Trainee players will also probably be fine.

And then, we'd fine-tune the robot homing missile instead, bringing it to values identical to D1 on Insane, and then give it to the red hulk. That way we'd accomplish basically the same thing while sacrificing very little. Either that or we find out why the heck player homers do much less damage than they're stated to do.

EDIT: Just tested this - when fired by the player at a wall point blank, the homers do the same amount of damage in both D1 and D2 - around 31-32 points. That's more than getting hit by a player homer from a robot! There must be some mistake in the code, seriously. I'll test it on a DOSBox installation and see.

Aaaaand nothing changes. Even on a vanilla installation the homers do 30 damage to the player, while they clearly should do more.

Re: Lou Guards vs Super Medium Hulks

Posted: Tue Dec 05, 2017 8:47 pm
by Alter-Fox
Never overestimate Trainee players. Skill generally scales up with difficulty level but it's not necessarily the same in reverse. When you get down to Trainee especially people are probably playing it for a reason.

Re: Lou Guards vs Super Medium Hulks

Posted: Wed Dec 06, 2017 5:45 am
by Xfing
Ehh so I guess we'll just leave things as they are. We can compensate by stuffing twice as many super hulks as there were in D1 xDDDDDD

I'll also ask around on the DXX boards, plenty of coders there so they might know what's up

Re: Lou Guards vs Super Medium Hulks

Posted: Wed Dec 06, 2017 6:59 am
by AlexanderBorisov
I can try to look up the code for the particular issue with homing missiles. At least on weekends, I doubt I will find time for it today or tomorrow.
Sadly I cannot recompile and run it on Windows. But looking on it can be enough. I also wanted to write the robot and weapon data reader for myself (I don't think it will take more than an hour), haxmedt32 still does not work for me (I cannot install it, asks for Tahoma font in system folder), probably it is the problem with installer that works only for Win95. BTW are you using Rebirth 0.58 or this later version (nightly build)?

I think making one of the robots (red hulk, or lou guard), fire stronger missiles is a good idea. Why have two robots that are basically the same? BTW you can give the robot guided missiles, like LL L16 boss has, they do 54 damage or so on Insane. Of course you will have to be careful with using the robot, to avoid Bahagad Outbreak issue, where levels were filled to the brim with robots firing 7 merc missiles per volley and many of them in snipe mode (10 missiles per volley).

Re: Lou Guards vs Super Medium Hulks

Posted: Wed Dec 06, 2017 10:58 am
by Xfing
I'm using the nightlies currently, but the same issue persists under dosbox, so it's not a Rebirth thing. I think I used a dmtools installer way back when, anyway my haxmed32 does work. Keep trying to run it, it's really worth it. Just do what the messages say. That said, it would be interesting to have a stat reader program, especially if it could also read the stats from D1. That way I could easily tweak stuff in descent2.HAM.

As for the super hulk solution, right now I'm just leaning towards leaving the player homers unchanged, and actually buffing the robot homers. That would of course affect both the lou and the hulk and they would indeed remain very similar in function, but the lou would still fire smaller volleys, be more mobile and less durable. I'm afraid there is no way to make these bots much different from each other without excessive tinkering (I want the game to play as vanilla/as D1 as possible, and nothing more). My foremost concern was higher damage in the first place. If both the robots are to do 43 damage instead of 26, then so be it :D

Re: Lou Guards vs Super Medium Hulks

Posted: Sat Dec 09, 2017 11:42 pm
by Sirius
Yeah, Descent does some additional hard-coded scaling for weapon damage from/to robots, and in D2 I recall hearing there were some further tweaks on certain difficulty settings (Trainee) to make it even easier. I believe missiles and Gauss do double damage to robots or something.

Haven't really looked for myself to see exactly what all the hacks are, though. But it's definitely not all in the HAM.

Re: Lou Guards vs Super Medium Hulks

Posted: Sun Dec 10, 2017 5:18 am
by Xfing
Goodness gracious, complications everywhere :P

Re: Lou Guards vs Super Medium Hulks

Posted: Sun Dec 10, 2017 6:05 am
by AlexanderBorisov
I looked at the code, some of my findigs are
1) Missile damage is computed as "splash damage", which is weapon power multiplied by 1-"dist to explosion point"/"explosion radius" and explosion, or collision point is
the contact point between two spheres (ship and missile) both have nonzero size. Same formula applied to Gauss shots. That's why real damage from missiles is always lower than base damage, and can also vary (for example I know that green spider can be killed with a guided missile but sometimes it can survive).
There is also a Multiplayer multiplier for weapon strength (D2 only). But this does not affect SP or Coop.
2) There is some vague hack with collision point computation for D1, comments say that it is not computed correctly in all cases, and I doubt I can figure it out only by reading the code. Apart from this hack, damage computation seems to be identical in both games.
3) Are you sure that red hulk fires PLAYER homers in both D1 and D2? I will look at it myself, i thought it uses robot weapons that scale damage with the difficulty level. At least in D1. And I still did not looked up the homer damage in D1/D2 weapon stats.
4) I still did not went into the robot/player weapon issues, apart from different stats they also use different handling code and it also can cause this.

My haxmedt32 is a part of Robot Construction Kit, which require win95 to install, probably. So I cannot use it. I will maybe try to find dmtools but for now I will try to write my own tool that simply dumps the robot/weapon stats into the text file.

Update : rbotedit shows that in D2 both lou guard and red hulk use the same ROBOT type missile, and I cannot view the stats in D1 with it, I even don't know where they are stored, from the code it seems they are in the PIG file. But I found no viewer for it. And I cannot even find dmtools over the web...

But, when you shoot your own missile into the wall right in front of you, conc and homer do same damage to your ship (25 and 32) in D1 and D2. But probably direct hit will do a bit more damage. Anyway it is possible that robot homing missile changed from D1 to D2.

Re: Lou Guards vs Super Medium Hulks

Posted: Sun Dec 10, 2017 2:59 pm
by Xfing
I only assumed that in D1 red hulks used player homers, simply because of the damage. They definitely use robot homers in D2, same as Lou Guards. That's why I'm confused as to why they do 43 damage in 1 and only 26 in 2. I though if the two games' codebases were getting unified for Rebirth, there would be a single algorithm to handle this, but we might have to wait a bit.

As for haxmed32, it really is more convenient to have around, not sure where else to get it though. It did scream for some DLLs at first too, but I installed them and now it works. I could upload my entire dmtools folder for you to get, but not sure if that would work.

Re: Lou Guards vs Super Medium Hulks

Posted: Sun Dec 10, 2017 3:02 pm
by Krom
When working with descent manager tools always install the dll packs, most of them won't work without them.

Re: Lou Guards vs Super Medium Hulks

Posted: Sun Dec 10, 2017 4:59 pm
by AlexanderBorisov
Xfing wrote:
Sun Dec 10, 2017 2:59 pm
I only assumed that in D1 red hulks used player homers, simply because of the damage. They definitely use robot homers in D2, same as Lou Guards. That's why I'm confused as to why they do 43 damage in 1 and only 26 in 2. I though if the two games' codebases were getting unified for Rebirth, there would be a single algorithm to handle this, but we might have to wait a bit.

As for haxmed32, it really is more convenient to have around, not sure where else to get it though. It did scream for some DLLs at first too, but I installed them and now it works. I could upload my entire dmtools folder for you to get, but not sure if that would work.
Yes, please upload dmtools if you can, and any other packages it uses if possible, I don't see why it should not work on my system if it works on yours. BTW does it work with D1 stats, too? And do you know where the stats are stored in D1? BTW D1 red hulk homers are ROBOT version (scale damage with difficulty), I tested it in L10 red hulk on various difficulties, on Insane one missile does 40 damage, Ace - 25, Hotshot - 16. Also varies a bit even on direct hit (+-2-3 points on Insane). And your own homer does the same damage to you on Hotshot to Insane. So yes, it seems you can just bump up the ROBOT homer damage for your mission, and probably give the Lou guard player version which does less damage. But remember it will make it much harder for low difficulty players.

EDIT : on Rebirth code unification : the code I've seen looks pretty "unified" to me, the bulk of the code being the same for D1/D2, with some conditional compilation sections for D1 and D2, that are controlled by single compile time switch. So probably they mean just further polishing it, unfortunately every developer knows polishing software takes infinite time :lol: but we like it. Still there are differences in data structures and AI algorithms, and some others, most of them probably cannot be unified because of backward compartibility requirements for mission data, saved games, etc. And of course weapon and robot data can be (and is) different for both games...

Re: Lou Guards vs Super Medium Hulks

Posted: Sun Dec 10, 2017 8:15 pm
by Alter-Fox
Yeah I'd give it a download to see if it worked too. Never got the installer to work on any of my systems, but, that doesn't necessarily mean the programs wouldn't.

Re: Lou Guards vs Super Medium Hulks

Posted: Mon Dec 11, 2017 5:47 am
by Xfing
As far as I know, robot data in D1 is stored in descent.pig. Haxmed32 doesn't let you access that, it only works with descent2.ham. The only way to read D1 robot data is to see the source code (most probably). Haxmed32 itself is rather limited, it doesn't support creating new item and robot classes within descent2.ham, you can only edit existing positions. That means you can't create another category of robot homers to give one to the red hulk and one to the lou guard - they still have to share the only existing one.

Here's my installation of dmtools, it should have everything you need bar the DLLs. Those can be easily obtained online and the applications tell you where to put them, so just take it slow and get all the dlls you need.
https://www.sendspace.com/file/b2sfzd

Re: Lou Guards vs Super Medium Hulks

Posted: Mon Dec 11, 2017 12:03 pm
by AlexanderBorisov
Thanks but it still does not work, first it asked msvbm50.dll, I downloaded it, then it gave "stif3 not properly installed" error, running as admin as you suggested in the old thread does not help, BTW the message is entirely correct... Maybe smth is still missing, or I should install the StIf, too?
About new items and robots, I don't think it possible because they are fixed-size arrays in the code - you can only modify existing entries... Still it would be interesting to make a simple reader/writer program for D2 ham and also D1 pig files. Two diferent formats (both documented) make it twice as difficult, however.

Re: Lou Guards vs Super Medium Hulks

Posted: Mon Dec 11, 2017 5:29 pm
by Xfing
Yeah, you need STIF too, but it appears to be included in the package. Maybe use the REG files to add registry entries? They're found in the Shell subdirectory.