CDarrow / DXX-Retro

A source port of Descent 1 and 2, focused on quality competitive play. Uncompromising commitment to original gameplay (except where the original sucked). Based on the Rebirth project.
Other
50 stars 16 forks source link

Fusion Shake Is Reduced #55

Open CDarrow opened 9 years ago

CDarrow commented 9 years ago

Fusion shake while charging was much reduced between D1x and Rebirth. Why? Can we put it back?

[Requested by: Bahamut]

vLKp commented 9 years ago

Fusion shake is implemented in GameProcessFrame by adjusting the rotational velocity of ConsoleObject. As best I can tell, the only changes made in Rebirth were related to making the shake independent of the game's framerate. See dxx-rebirth/dxx-rebirth@63d2c4a2cfc98000978943f85f0034c360be2bd1 for the initial change, and dxx-rebirth/dxx-rebirth@8967ae77fefce9419500fc02ff8f14564ab9058f for some later cleanup to FPS-independent processing. The original shaking was probably happening every visual frame, so it built up faster than when it happens every game tick. If you want a more severe shake, your best bet is to change the scale factor on the amount added to rotvel.x / rotvel.z. For Retro, this is still in its legacy location of d1/main/game.c / d2/main/game.c.

[Historical citations point to the Rebirth repository since Retro was imported without history.]

CDarrow commented 9 years ago

Yeah, I'm aware -- but that can't be the whole story. Demo analysis shows it used to shake a lot more than I would expect given that, even at a low framerate. Maybe my intuition's off, but I'd like to see if I can characterize what was happening before putting a serious question to the player community.

I suspect the answer, at this point, will be "don't change it" -- we have too much invested in how the game currently plays for even something original like this to have the value it would have two years ago. But Bahamut has asked that I look into it, and it's an appropriate question to ask.

ryusei117 commented 8 years ago

Edit: When I posted this, I thought Bahamut was talking about the shaking while normally charging the Fusion (purple screen), but he was actually talking about overcharging the Fusion (yellow screen). My comment below is thus probably not relevant, but I'll leave it in case it contains anything useful.

I just tested the original D1 and D2 engines, DXX-Rebirth 0.58.1, and DXX Retro 1.4.X3, all on Insane difficulty. As far as I could see, fusion shaking was similar between all of the engines - too similar for me to observe any differences, anyway. My frame rate in the original engines was in the 30-40 FPS range, and in Rebirth and Retro it was a steady 200 FPS. Here are the demos I took, in case they can be analyzed in detail. (Oh yeah, the D2X-Rebirth demo has a blooper at the end ... heh heh.)