AFADoomer / Wolf3D-TC-3.0

Updated version of the Wolf3D TC using new GZDoom engine features
34 stars 7 forks source link

Difficulty bug? #13

Closed Hexaae closed 1 year ago

Hexaae commented 1 year ago

It's just my impression or the game seems easier than the DOS original: less fire damage, and nazis firing less than expected at the most difficult level ("I am death incarnate")? Is difficulty correctly scaled in the TC? I'm using Wolf3D-TC-3.0 + GAMEMAPS.WL6 + GAMEMAPS.SOD + GAMEMAPS.SD2 + GAMEMAPS.SD3.

AFADoomer commented 1 year ago

The enemy states are as close as they can get to being accurate to the original source code (Wolf3D runs at 70 tics per second instead of 35, so some states that were 1/70th of a second are 1/35th instead).

That said, they still use the Doom A_Chase function, which is not the same as the Wolf3D T_Chase function - though, generally, it does the same things, just with more capability and options.

I've just done some source code comparison to see if I could get things closer... Enemies within 128 units of the player now can fire continuously without taking steps between shots. Other than that, the code is as close as I can get it without some significant rewriting for minimal gain, I think.

AFADoomer commented 1 year ago

OK, just made some significant changes in 118081a3bd02535fcb9a2c51783660a3638dd6ed to enemy movement logic and firing frequency to better recreate the Wolf3D code... Please test and give feedback.

Hexaae commented 1 year ago

Great news! Will check this out...

Hexaae commented 1 year ago

One question: does Game Options > Fast monster option do something in Wolf3D-TC?

Enemies seem a bit more aggressive now indeed, which is good, but... the problem seems with target accuracy (also for player?). Playing original game through ECWolf enemy's fire seems more accurate (makes you more damage more often. I'm playing at max difficulty "I am death incarnate") and player seems aim assisted as your fire seems more accurate too, and you can fire just close to the target. Looks like they fire more, but miss the target more (or are inaccurate) often hence doing less damage on average. Original game results noticeably harder ineed.

AFADoomer commented 1 year ago

There's nothing coded in to add support for fast monsters. I'll add a generic fast speed that all of the enemies will use, but nothing more than that.

You do have aim assist - Autoaim is still whatever the default is if you haven't set it to zero. I'll make it default to 0.

The enemy damage code uses the A_WolfAttack function in GZDoom, which was directly derived from the Wolf3D T_Shoot function - the output is virtually the same.

Try after 557e1f28b27751dad7c63bb52d68917280fb5978. I changed the code to use the Wolf3D random number table when possible, and added a pres-set fast speed for all enemies if fast monsters is turned on. You'll probably have to manually turn off autoaim ('autoaim' cvar in the console, or in the player menu).

Hexaae commented 1 year ago

Mmmh, it seems even easier now. I think original game also increases damage the closer you are to the enemy fire, while in this TC it seems always the same random range numbers... In ECWolf for example they can kill you with 2-3 shots at close range in E1L1 at max difficulty.

AFADoomer commented 1 year ago

OK, try after 62fc2d62032883cf8887c34880e2a4f4933169a5. I wrote my own version of the shooting code to better match the Wolf3D source.

Hexaae commented 1 year ago

Now here we go! MUCH better and closer to the original difficulty! 👍🏻

One thing: when you die in the original game it freezes and view turns towards the enemy who killed us. Can this be implemented? :) Another small detail: IMHO high-score should appear with a small delay after the red fade-out.

AFADoomer commented 1 year ago

Re-added the turn-to-face-killer in aaa2b84cfd068f31a0b241051758d67c86572bf3.

The high score screen pops up when you die after losing your final life.

Hexaae commented 1 year ago

The high score screen pops up when you die after losing your final life.

Yes, I meant it appears too soon while the red screen is still fading... ?

Hexaae commented 1 year ago

Re-added the turn-to-face-killer in aaa2b84.

There's a difference with the original: the enemy is always freezed while shooting you dead. In the TC I see always killers walking 😅 Floor 1 - Wolfenstein 3D TC 20_11_2022 18_59_23

AFADoomer commented 1 year ago

OK, changed that in 83c994d858e363b47dc43c5feb36ff6287896c3b.

AFADoomer commented 1 year ago

And fixed the high score screen showing up too soon in 336b2cb6c76aa3b48cfb8754896c747e8ac15d0d.

Hexaae commented 1 year ago

And fixed the high score screen showing up too soon in 336b2cb.

I think there's a misunderstanding: I'm talking about the fade out -> high score screen animation. ATM is still visible a sort of red transparency with the high score screen already loaded in background, that suddenly becomes 100% visible. Original game had fizzle red fx, fade-out to black, high-score screen finally fades in. You can try with an online version of the game at http://wolf3d.atw.hu/

Hexaae commented 1 year ago

OK, try after 62fc2d6. I wrote my own version of the shooting code to better match the Wolf3D source.

New AI is almost perfect IMHO. To be picky I'd say enemies can fire a 10% more, even though the avarage behaviour is very close to the original, at least at max difficulty.

Hexaae commented 1 year ago

I think this can be closed. Latest updates vastly improved gameplay. Absolutely similar to the original.