clipmove / NotBlood

Gameplay Mod For NBlood
https://github.com/clipmove/NotBlood/releases
64 stars 4 forks source link

Player Speed Slower? #88

Closed Tiddalick closed 10 months ago

Tiddalick commented 10 months ago

Hi there,

I am not confident at all with this one, but is the player speed at all modified in NotBlood?

I have been playing Blood for many years and I just feel a tiny bit slower in my movement in this Port compared to NBlood, or the original DOS. It is only very tiny if it is there so I wonder if it could be some other effect of the FOV or other aspect that is giving me that sensation. I tried timing a run across a map with NBlood and then repeating it with NotBlood, but I couldn't detect any differences in the numbers. Still, I thought to ask.

tmyqlfpir commented 10 months ago

Using the launch argument -validate will process 11 hours of demos, and compares the player position, random gametick seed and health to values extracted from DOS - if this is a single bit off sync, an error will display and dump the details to log. This ensures both that NotBlood is demo accurate, but also that there has not been any game logic inaccuracies introduced in the fork. I've caught several of accuracy issues (such as https://github.com/nukeykt/NBlood/issues/604 and https://github.com/nukeykt/NBlood/issues/683) because of this testing methodology.

Game feel wise, NotBlood uses floating point precision for viewport interpolation and other elements (which can result in a slightly smoother experience), but when vanilla mode is enabled it'll fall back to the integer-based calculation. It's likely that this might be the reason it feels different, you can compare by turning on vanilla mode.

That said, there are still likely to be blind spots in my testing, and until Atari and co open source the code for Blood, all of the source ports will be 99.9% demo accuracy to the original executable.

Tiddalick commented 10 months ago

Thank you for the detailed and insightful answer here. I realise that you have closed this report, but I thought I should confirm your suspicions that it was the floating point usage over integer that was causing the difference in 'sensation'. Turning on the vanilla mode restored the original 'feeling'. After confirming that it was the reason, I have happily turned off the vanilla mode.

tmyqlfpir commented 10 months ago

Which do you prefer the feeling of, vanilla or notblood?

Tiddalick commented 10 months ago

I think I am more 'used' to the feeling in vanilla, it just 'seems' faster.

As I already mentioned, I did some speed tests using the timer and could see no difference and you already explained that your demo accurate with the other setting. Its just funny to me that I played the game for so long in the past that even a truly tiny difference is enough for me to detect. When I actually start playing a session, I quickly forget the difference, aside when running a distance so its not like its detrimental or anything. Interestingly, running diagonally feels more like the original speed to me, even though I know this is not the case.

I think the other improvements that you have added well and truly override the vanilla game.

I assume the switch to floating point has many other advantages to the engine which more than makes up for this change.

tmyqlfpir commented 10 months ago

I'll add this an option that can be toggled. It has no gameplay purposes other than viewport interpolation. Thanks!

Tiddalick commented 10 months ago

Well if it is that 'simple' to do then it would be a good addition. Your flexible port is the reason that I am using it above all the others!

Tiddalick commented 10 months ago

I see you have updated the build already! Thanks again for listening to my pedantic requests.