Recommended Game Version
Re: Recommended Game Version
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. :/
-
Drakona
- Site Admin
- Posts: 1494
- Joined: Fri Aug 30, 2013 5:35 pm
Well i appreciate the response and i'm sure you're quite occupied these days being with child and all if we get a chance to meet up and have a discussion about it soon that would be good, yeah?
-
Behemoth
- Posts: 62
- Joined: Tue Nov 05, 2013 12:59 am
Um, you WILL meet up soon. At my LAN 1st weekend of August
-
Jediluke
- Posts: 1879
- Joined: Fri Aug 30, 2013 10:00 pm
Haha, sure. I know this issue is dear to you and to Baha, and "Well, it's probably fine?" isn't a very satisfying answer. The thing to keep in mind with this sort of thing . . . like just about everything in retro . . . changing the 'framerate' would be very easy, but getting the community to agree on what to change it TO would be very, very hard -- especially something like this where the original version was clearly broken, and discussions about how the game was 'intended' get very messy. Like, how many frames was the game 'intended' to get?? Hehe, Retro stuff is almost always like 15% coding and 85% politics. "Don't change it" is just about the only thing people ever seem to reliably agree on.
-
Drakona
- Site Admin
- Posts: 1494
- Joined: Fri Aug 30, 2013 5:35 pm
I personally feel that the fusion the way it is ....is perfectly acceptable. imo
-
Jediluke
- Posts: 1879
- Joined: Fri Aug 30, 2013 10:00 pm
I'm sure you do jedi but you have your x4 missiles, and barely use fusion
Most of the guys who like fusion that i've talked to about this agreed with me, not just baha but guys like dj, dkh, zero and rethink iirc so it's not just me.
no worries drak, you and me can discuss this soon in mumble, whenever is convenient.
Most of the guys who like fusion that i've talked to about this agreed with me, not just baha but guys like dj, dkh, zero and rethink iirc so it's not just me.
no worries drak, you and me can discuss this soon in mumble, whenever is convenient.
-
Behemoth
- Posts: 62
- Joined: Tue Nov 05, 2013 12:59 am
then it would have to be a hosting option so you guys can play with it "old-skool foosion" setting or something
it is something that would have to be 'agreed upon' when hosting a DCL match imo ((the default setting being what it is now))
it is something that would have to be 'agreed upon' when hosting a DCL match imo ((the default setting being what it is now))
-
Jediluke
- Posts: 1879
- Joined: Fri Aug 30, 2013 10:00 pm
also drakona, what about phys.c? or whatever it's called
and how does it tie in with game.c?
and how does it tie in with game.c?
-
bahamut
- Posts: 508
- Joined: Wed Oct 30, 2013 10:52 am
Drakona, put it all back the way you found it if you did not get bahamut's approval!
-
Jediluke
- Posts: 1879
- Joined: Fri Aug 30, 2013 10:00 pm