Lewisk3 / MechDoomer

MechDoomer SourceCode
23 stars 0 forks source link

This is Arnuld15Governator from youtube. I'll leave suggestions here per public release. #1

Open StrOf10kBabies opened 4 years ago

StrOf10kBabies commented 4 years ago

First off, I want to say it's impressive how quick you are to release these quick patches. I did notice that cATM range is pretty low. I would adjust them accordingly:

If it is possible then cATM's should function in meters:

0-120m: No damage (dud missiles) 120-270m higher damage per missile 320-500m: medium damage per missile 550-1100m: low damage per missile

So min range for cATM's should be 120m, while 1100m should be it's max range with damage scaling decreasing over missile distance traveled.

ER Pulse Lasers should get a 200m boost over their regular pulse laser counterparts, but with higher heat generation (could be copy pasted from the pulse laser category, or alternatively change the color pallets for ER Smalll Pulse to orange, ER Medium Pulse to yellow, and ER Large Pulse to Purple to avoid confusion) whenever you decide to implement them.

I would increase the range of MRM's by another 100m. 450m seems a little short.

If you need a handy little guide there is https://mwo.smurfy-net.de/equipment that is based off of Mechwarrior Online's values. I would suggest following the max range of all weapons instead of the regular range category, since if you were to implement the regular range values only it would be a nerf to most of the weapon systems already present in the mod.

Awesome work! Continue these great updates and I'll add feedback/constructive criticism as they go on.

fire-h0und commented 4 years ago

I beg to differ on the ATM, they are actually each separate ammunition types according to lore. Ideally, we should try implement ammo switch rather than that workaround?

Lewisk3 commented 4 years ago

@StrOf10kBabies Calculating meters in Doom is really strange. I do have a system in place but, no matter how I do the math it's not consistent enough.

I've adjusted things slightly, hopefully from a gameplay standpoint this feels good enough. LRM Minimum range: 100 -> 120m ATM Minimum range: 50 -> 80m ATM Maximum range: 450 -> 800m

I'll work on the ER Pulse lasers shortly, I think the slight color change is a good idea.

@fire-h0und Not sure exactly what you mean about an "ammo switch".

fire-h0und commented 4 years ago

@Lewisk3 along the ammo dump key there might be another to load ammo from "free tons" into the "weapon feeder" and make it available for shooting There are at least two weapon types in MechWarrior lore that support this mechanic: ATM and LB-X autocannons, either the dump key already could do this ('k' in original MW2 game IIRC) or a new key binding could be chosen

Lewisk3 commented 4 years ago

ER Pulse Lasers are in. 0be9e4e38011f12767534225c6c90d40f7079d62

StrOf10kBabies commented 4 years ago

I beg to differ on the ATM, they are actually each separate ammunition types according to lore. Ideally, we should try implement ammo switch rather than that workaround?

I completely forgot about ammo switching in battletech. I'm in favor of this if it is possible in Doom.

@StrOf10kBabies Calculating meters in Doom is really strange. I do have a system in place but, no matter how I do the math it's not consistent enough.

I've adjusted things slightly, hopefully from a gameplay standpoint this feels good enough. LRM Minimum range: 100 -> 120m ATM Minimum range: 50 -> 80m ATM Maximum range: 450 -> 800m

I'll work on the ER Pulse lasers shortly, I think the slight color change is a good idea.

@fire-h0und Not sure exactly what you mean about an "ammo switch".

Ok cool. Can't wait to see the update with the ER pulses. And wow they are already in before I got the chance to read the comments here.

Lewisk3 commented 4 years ago

I completely forgot about ammo switching in Battletech. I'm in favor of this if it is possible in Doom.

What's possible in Doom isn't really much of a question with GZDoom. If you look at some of MechDoomer's code you'll notice just how powerful ZScript is, it's similar to C# or Unreal Script. So, yeah it certainly can be done. I haven't really messed with switchable ammo in any of the Mechwarrior games so I'm a little unsure of exactly how I need to implement it. If you could describe exactly how ammo switching functions, I think I could implement it relatively quickly.

StrOf10kBabies commented 4 years ago

I completely forgot about ammo switching in Battletech. I'm in favor of this if it is possible in Doom.

What's possible in Doom isn't really much of a question with GZDoom. If you look at some of MechDoomer's code you'll notice just how powerful ZScript is, it's similar to C# or Unreal Script. So, yeah it certainly can be done. I haven't really messed with switchable ammo in any of the Mechwarrior games so I'm a little unsure of exactly how I need to implement it. If you could describe exactly how ammo switching functions, I think I could implement it relatively quickly.

From what I understand on how it works in lore, is that Mechwarriors would field weapon systems like LBX's/ATM's that would yield different ammo types. For example, LBX's can have a cluster round (where it functions like a cannon grape shot, so it impacts the target as a solid round but shrapnel's and functions like a buckshot shredding internal armor components). There is also solid slug rounds that function like semi-auto autocannons.

https://www.sarna.net/wiki/LB-X_Autocannon

Since you claimed that switchable ammo is possible in Doom, I would have one ammo type for each weapon system labeled as "LBX Autocannon Ammo Slug" and "LBX Autocannon Ammo Cluster". Both projectiles would function like solid projectiles, where the slug ammo would function like a single high damage hitscan projectile while the cluster round would travel as a solid projectile but would impact as multiple hitscans onto an enemy. Maybe give the cluster rounds a chance to stun as to simulate the grape shot shredding the enemies internals on impact (damn that sounds brutal).

ATM's can be "hot loaded" which eliminates the minimum range issue that they face but at a cost of accuracy. So that is pretty self explanatory. Just have the default ATM's with the minimum range limitations and have a variation called "hot load" which bypasses the minimum range issue but at the cost of missile accuracy. I would increase its spread.

https://www.sarna.net/wiki/Advanced_Tactical_Missile

Another thing that I can suggest is adding half ton ammunition for all missile and ballistic type ammo systems, so that people can use the spare .5 tonnage to fill up any miscellaneous tonnage while getting half the ton of regular ammo.

Lewisk3 commented 4 years ago

Awesome, thanks for the detailed explanation!

StrOf10kBabies commented 4 years ago

Awesome, thanks for the detailed explanation!

No problem, can't wait to see more future updates!

StrOf10kBabies commented 4 years ago

Nice. Saw the switchable ammo types and tested them both. Could you add half tonnage ammo for each of the missiles/ballistics in the game? The sole purpose for half tonnage ammo is to utilize any unused tonnage (IE Gargoyle being 79.50 tonnage, and if I used a half ton of LBX10 Slug ammo that would bring me up to 80 tons which is the max tonnage). It's useful for mechs with limited podspace options.

Also, I'm not sure if this was previously mentioned yet, but will we see updates for the corresponding mech damage indicator silhouettes for the classic Mechwarrior 2 mechs that have them? What I'm referring to is the bottom right damage indicator mech silhouettes for mechs like the Rifleman IIC https://www.crayven.net/warhawk/mechbay/rifleman.gif and the Marauder IIC https://www.crayven.net/warhawk/mw2battleshots/mw2marppc.gif. I know the mechs in MW2 Mercs only shared the same damage profile indicator, but all of the classic Mechwarrior 2 mechs did have their own unique damage indicator profile. I think the Warhammer IIC is using the Hellbringer profile but I think it did have it's own unique profile as well.

Lewisk3 commented 4 years ago

Could you add half tonnage ammo for each of the missiles/ballistics in the game?

Strangely enough, this poses quite the issue, code-wise. Half-ton ammo would need to be a separate class so I'd need to check the countammo and takeammo routines. I can give it a try though.

will we see updates for the corresponding mech damage indicator silhouettes for the classic Mechwarrior 2 mechs that have them?

The main issue is that the damage indication colors don't line up properly with lots of different mech shapes. The UI code clips portions of the paperdoll graphic which it then colors accordingly. Requiring that each mech have different math for all its clip portions would make adding new mechs very tedious. I may be able to separate the paper doll into separate graphics, that'll require a bit of a UI rewrite which is tedious and will probably take some time to do.

Edit: Oops, i left some debug text in again! Lol. I figured out the ammo situation, update will be out soon.
StrOf10kBabies commented 4 years ago

Could you add half tonnage ammo for each of the missiles/ballistics in the game?

Strangely enough, this poses quite the issue, code-wise. Half-ton ammo would need to be a separate class so I'd need to check the countammo and takeammo routines. I can give it a try though.

will we see updates for the corresponding mech damage indicator silhouettes for the classic Mechwarrior 2 mechs that have them?

The main issue is that the damage indication colors don't line up properly with lots of different mech shapes. The UI code clips portions of the paperdoll graphic which it then colors accordingly. Requiring that each mech have different math for all its clip portions would make adding new mechs very tedious. I may be able to separate the paper doll into separate graphics, that'll require a bit of a UI rewrite which is tedious and will probably take some time to do.

Edit: Oops, i left some debug text in again! Lol. I figured out the ammo situation, update will be out soon.

Cool. Glad you could figure out the half ton ammo count. I hope you can eventually figure out the paper doll issue and implement the unique mech profiles in a future update. I suggest not getting burned out and taking your time if it is tenacious work, since I have seen way too many good Doom projects go to the wayside due to over ambition.

fire-h0und commented 4 years ago
  1. The "half clip" 0.5t ammo will play nicely with machine guns arrays down the road.

  2. For the time we rather stick to the McKie paperdoll and focus on said coloration to represent HTAL damage, but sure it is wise to keep in mind an later upgrade to custom per-mech paperdoll for each asset. As a matter of fact, we do have art for it in the svg files iv'e contributed, all that remains to be done is scale them and export the PNG or even reuse the present PNGs scaled to the HUD size? (the in game menu art)

StrOf10kBabies commented 4 years ago

Seems like the latest patch broke the external camera drone view. Can anyone else confirm this or is it just me? I keybinded it to F4 as suggested and it's not working on any mechs so far.

Also, I don't want to sound like a pest but has there been any progress with the paper dolls for the MW2 Mechs that do not have their own unique mech silhouettes? Is it on hiatus, or are all of the mechs that do not have a unique paper doll profile from MW2 going to be indefinitely on hold?

Lewisk3 commented 4 years ago

Seems like the latest patch broke the external camera drone view. Can anyone else confirm this or is it just me? I keybinded it to F4 as suggested and it's not working on any mechs so far.

To switch Drone views you must first be in normal Drone mode (Defaults to V).

Also, I don't want to sound like a pest but has there been any progress with the paper dolls for the MW2 Mechs that do not have their own unique mech silhouettes? Is it on hiatus, or are all of the mechs that do not have a unique paper doll profile from MW2 going to be indefinitely on hold?

That is a feature I do plan on working on soon, just not atm but, I will get around to it.

StrOf10kBabies commented 4 years ago

Seems like the latest patch broke the external camera drone view. Can anyone else confirm this or is it just me? I keybinded it to F4 as suggested and it's not working on any mechs so far.

To switch Drone views you must first be in normal Drone mode (Defaults to V).

Also, I don't want to sound like a pest but has there been any progress with the paper dolls for the MW2 Mechs that do not have their own unique mech silhouettes? Is it on hiatus, or are all of the mechs that do not have a unique paper doll profile from MW2 going to be indefinitely on hold?

That is a feature I do plan on working on soon, just not atm but, I will get around to it.

I feel incredibly stupid. I completely forgot that you had to switch to drone mode first before changing drone camera angles. And cool, I'm looking forward to it.

StrOf10kBabies commented 4 years ago

Just got around to checking out the paper dolls. Nice, I think the only one that is missing is the Kitfox but other than that this is really shaping up well. I think the only thing I can really suggest is if you wanted to expand over to the Ghost Bear's Legacy tech and mechs, but I think you already have enough on your plate with MW2.

For quality of life suggestions, I would recommend trying to add a "sell all" feature for the mech shop for equipment.

If you wanted to make the mod more "Battletech-ish", you could add miscellaneous things like Beagle Active Probes (increases detection radius of enemy units via minimap), Targeting Computers (Increases global range and accuracy ala reduced spread of all weapon systems on a mech), Laser AMS (Does not consume ammo, but halts heatsink functionality until all enemy projectiles are destroyed), ECM (Electronic Counter Measure; Not really sure how this would function in DooM, but perhaps make it affect only mechanical units like Arachnotrons, Revenants, Spider Masterminds, Cyberdemons, etc. when in sensor by giving them a 'confused' state similar to the invisibility sphere function), and the last thing I can think of is NARC and TAG (NARC is a device that launches a warhead that will lock onto an enemy, thus decreasing missile spread and perhaps give it a unique property to allow missiles not to lock on during the duration of NARC. TAG should decrease missile lock on time when the mech has complete line of sight of the enemy.)

If you want some ideas on how Targeting Computers, ECM, Beagle Active Probes function, etc you can reference the MWO wiki: https://mwo.gamepedia.com/Targeting_Computer https://mwo.gamepedia.com/Electronic_Countermeasure_(ECM) https://mwo.gamepedia.com/Beagle_Active_Probe https://www.sarna.net/wiki/Laser_Anti-Missile_System https://mwo.gamepedia.com/NARC_Beacon https://mwo.gamepedia.com/Target_Acquisition_Gear_(TAG)

Lewisk3 commented 4 years ago

Just got around to checking out the paper dolls. Nice, I think the only one that is missing is the Kitfox

Didn't realize I missed that, lol. I'll get its paperdoll ready for the next commit.

For quality of life suggestions, I would recommend trying to add a "sell all" feature for the mech shop for equipment.

Hmm, perhaps I could make a tick-box of sorts to toggle between sell-all or single-sell modes.

If you wanted to make the mod more "Battletech-ish", you could add miscellaneous things like ...

I'll look into those things. Lots seem to be related to range/spread of weapons which atm is essentially hardcoded, I could change that system in the future though.

Laser AMS (Does not consume ammo, but halts heatsink functionality until all enemy projectiles are destroyed)

Laser AMS or LAMS is actually already implemented, that's what prompted the Toggle AMS key.

if you wanted to expand over to the Ghost Bear's Legacy tech and mechs

That could be pretty interesting, might do that in the future. As you know though, it already took quite a while to get the current amount of mechs implemented. I plan on added 3 more medium mechs at some point. (Hunchback, Centurion and Crab)

Zeether commented 4 years ago

I keep having crashing happen on the newest GZDoom version, crash log is attached CrashReport.zip

Lewisk3 commented 4 years ago

I keep having crashing happen on the newest GZDoom version, crash log is attached CrashReport.zip

This should never happen, GZDoom is designed where mods should VM abort, not crash the engine. As such, this does not give me any useful information in terms of how to fix the issue. I'd have to know the ins and outs of how the VM works and how its memory space is set up to parse this.

What'd be the most useful would be if you could give me a step-by-step process in how to reproduce the crash, then I could see if it crashes for me as well, and if it does then I'd have something more concrete to work with.

StrOf10kBabies commented 3 years ago

Seems like there is a new glitch introduced with the latest public release. Whenever you try to remove an engine from any mech, the mech bay screen turns into a yellow tint and freezes up completely. The only thing players can do is exit their mech (and there's a N/A next to the message). I verify with earlier versions of MechDoomer to make sure it wasn't anything on my end and it doesn't seem to be. Also I am running the latest version of Gzdoom.

StrOf10kBabies commented 3 years ago

I'm digging the new laser beam visuals! The pulse lasers, ER and regular lasers are on par with what I would imagine a port from MW:O would be. I did notice that occasionally a pulse laser volley would fire visually over some of the mech's hardpoints (Over the barrel of the Rifleman IIC's top barrel and a few other mechs with visible arm mounted weaponry). Other than that, this was an unexpected but very welcome update to energy based weaponry.

Also, included a screenshot of the pulse laser occasionally firing over the top of the barrel here: https://i.postimg.cc/YqFYghh8/Screenshot-Doom-20210226-154559.png Like I stated earlier it doesn't always happen, but it's hard to not notice with mechs that have visible arm mounted weaponry.

Lewisk3 commented 3 years ago

Due to the way the hardpoint system is implemented, there needs to be a little bit of position randomization on weapons so that when 2 or more weapons equipped on the same hardpoint are fired, they do not fire at the exact same location and overlap eachother. For now, there's no real solution to this issue, I might decide to create specific points for weapons in the future (unlikely, but that'd be the only "real" solution.)

StrOf10kBabies commented 3 years ago

Due to the way the hardpoint system is implemented, there needs to be a little bit of position randomization on weapons so that when 2 or more weapons equipped on the same hardpoint are fired, they do not fire at the exact same location and overlap eachother. For now, there's no real solution to this issue, I might decide to create specific points for weapons in the future (unlikely, but that'd be the only "real" solution.)

No big deal. I wanted to give a little bit of feedback with the latest sound effects. Everything sounds good but the large pulse lasers could use a little more bass and the ER PPC impact sounds could use a slight noise reduction. The ER PPC sound impacts sound a little too high pitched when using headphones. Also ran into an LAMS glitch where my mech would drastically overheat (I think the LAMS is trying to target way too many projectiles at once). Other than that everything else seems to be good so far.