Re: Recommended Game Version
Posted: Thu Jul 14, 2016 11:51 am
Yeah, it's a fair question. Something I always intended to investigate that never quite made it to the top of the queue.
Doing a quick analysis just now --
The code that causes the fusion shake is in game.c. In the original D1 and in D1x, it bumped the ship in a random direction by fixed amount each frame, where that amount went up as the fusion charge built up. The buildup has no limit so in the impractical event that you overcharge by about 80 shields, you can really shake around. Anyway. This algorithm would have made the shake much worse at higher frames in DescentR and D1x. I went to verify that in DOSbox, and holy cow is that ever true. At high frames, that thing will turn you upside down quick!
In Rebirth, it uses the exact same code. Same bump amount, same randomization . . . but there's a timer so it goes off every 50 ms. This basically means that the fusion shake we have in Rebirth is identical to what it was in D1x and in D1, but it's locked to 20 FPS. That's probably pretty mild, if you're coming straight off of D1x -- not many of us played at 20 FPS . . . but that's strikingly similar to what we did with the homers, using the same algorithm and locking them to 25 FPS. I haven't done anything to it, so the Rebirth code is what we have in Retro as well.
Experimentation backs that up. I flew around Retro and fired some fusion shots, and flew around in DOSbox D1 (I'd test D1x, but D1x stopped running for me two OSes ago). Original D1 doesn't have a frame counter, but I brought the CPU cycles down until the ship bob seemed familiar (it's frame-dependent, too), and if the fusion shake is different, I sure couldn't see it. It's small either way. Mostly cosmetic except in long shots.
Given that that's the mechanism, we could have a big discussion about what framerate it *should* be at, but my inclination is that since it's reasonable, similar to the benchmark we used for homers, and that we've all been playing on it for 3 years . . . longer, for those who go back to the Rebirth era . . . it's probably in a reasonable spot.
Anyway. That's what I can do for ya, I think. Melvin's right that I really have to be careful about my priorities these days. I have a hard time getting my job done and also making time for ladder matches . . . I don't want to be a wimp, but heavens do I sleep a lot. Perhaps things will improve. My hope is to come out with a stable 1.5 (basically fix any of the last round of bugs and features requests with obs mode), figure out a mac build, port that all over to D2 . . . hopefully before I totally dissapear into babyland. We'll see. Sometimes even that much feels optimistic.
Which I know doesn't change the urgency of things being broken around here, but I guess it is what it is. :/
Doing a quick analysis just now --
The code that causes the fusion shake is in game.c. In the original D1 and in D1x, it bumped the ship in a random direction by fixed amount each frame, where that amount went up as the fusion charge built up. The buildup has no limit so in the impractical event that you overcharge by about 80 shields, you can really shake around. Anyway. This algorithm would have made the shake much worse at higher frames in DescentR and D1x. I went to verify that in DOSbox, and holy cow is that ever true. At high frames, that thing will turn you upside down quick!
In Rebirth, it uses the exact same code. Same bump amount, same randomization . . . but there's a timer so it goes off every 50 ms. This basically means that the fusion shake we have in Rebirth is identical to what it was in D1x and in D1, but it's locked to 20 FPS. That's probably pretty mild, if you're coming straight off of D1x -- not many of us played at 20 FPS . . . but that's strikingly similar to what we did with the homers, using the same algorithm and locking them to 25 FPS. I haven't done anything to it, so the Rebirth code is what we have in Retro as well.
Experimentation backs that up. I flew around Retro and fired some fusion shots, and flew around in DOSbox D1 (I'd test D1x, but D1x stopped running for me two OSes ago). Original D1 doesn't have a frame counter, but I brought the CPU cycles down until the ship bob seemed familiar (it's frame-dependent, too), and if the fusion shake is different, I sure couldn't see it. It's small either way. Mostly cosmetic except in long shots.
Given that that's the mechanism, we could have a big discussion about what framerate it *should* be at, but my inclination is that since it's reasonable, similar to the benchmark we used for homers, and that we've all been playing on it for 3 years . . . longer, for those who go back to the Rebirth era . . . it's probably in a reasonable spot.
Anyway. That's what I can do for ya, I think. Melvin's right that I really have to be careful about my priorities these days. I have a hard time getting my job done and also making time for ladder matches . . . I don't want to be a wimp, but heavens do I sleep a lot. Perhaps things will improve. My hope is to come out with a stable 1.5 (basically fix any of the last round of bugs and features requests with obs mode), figure out a mac build, port that all over to D2 . . . hopefully before I totally dissapear into babyland. We'll see. Sometimes even that much feels optimistic.
Which I know doesn't change the urgency of things being broken around here, but I guess it is what it is. :/