Questions regarding Retro features
Questions regarding Retro features
I can answer one of these.
When Drak refers to original descent behavior, it's shorthand for how the original code behaved when played on computers available at the time descent was released. I can expound but I assume you are familiar with the history of descent. I would be happy to add some context if you wanted.
When Drak refers to original descent behavior, it's shorthand for how the original code behaved when played on computers available at the time descent was released. I can expound but I assume you are familiar with the history of descent. I would be happy to add some context if you wanted.
-
melvin
- Posts: 515
- Joined: Thu Mar 20, 2014 11:23 pm
Well, maybe I misunderstood the first point? Did Drak mean "original homing missile behavior restored and additionally capped at 30 (25) fps"?
I remember the DXX project having a hard time with homing missile behavior, years ago.
I remember the DXX project having a hard time with homing missile behavior, years ago.
-
karx11erx
- Posts: 22
- Joined: Tue Jul 08, 2014 7:24 am
Yeah, that's right.
To summarize:
Homing missiles are running the original algorithm, but it has been capped at 25 FPS (D1) / 30 FPS (D2), independent of the master framerate. Technical discussion at http://www.descentrangers.com/forum/vie ... f=34&t=668
The orientation fix is called 'sniper packets'. It sends the forward vector of the ship in the shot packet, so the shot is going absolutely, no kidding, totally lag-proof, the SAME direction on both screens. Technical discussion at viewtopic.php?f=4&t=54
The collision detection fixes are math bugs -- one from the Rebirth era and one from the original source code, both of which were made worse by running at a high framerate. In a nutshell, post-fix your ship's hit sphere is a consistent size from shot to shot. Pre-fix, it wasn't. I can't give you a much better summary than that without just giving you the math, so . . . technical detail at viewtopic.php?f=4&t=119 and http://www.dxx-rebirth.com/frm/index.ph ... l#msg19556 .
You can find my source code at https://github.com/CDarrow/DXX-Retro , and have my warm encouragement to steal/reuse anything that appeals to you.
To summarize:
Homing missiles are running the original algorithm, but it has been capped at 25 FPS (D1) / 30 FPS (D2), independent of the master framerate. Technical discussion at http://www.descentrangers.com/forum/vie ... f=34&t=668
The orientation fix is called 'sniper packets'. It sends the forward vector of the ship in the shot packet, so the shot is going absolutely, no kidding, totally lag-proof, the SAME direction on both screens. Technical discussion at viewtopic.php?f=4&t=54
The collision detection fixes are math bugs -- one from the Rebirth era and one from the original source code, both of which were made worse by running at a high framerate. In a nutshell, post-fix your ship's hit sphere is a consistent size from shot to shot. Pre-fix, it wasn't. I can't give you a much better summary than that without just giving you the math, so . . . technical detail at viewtopic.php?f=4&t=119 and http://www.dxx-rebirth.com/frm/index.ph ... l#msg19556 .
You can find my source code at https://github.com/CDarrow/DXX-Retro , and have my warm encouragement to steal/reuse anything that appeals to you.
-
Drakona
- Site Admin
- Posts: 1494
- Joined: Fri Aug 30, 2013 5:35 pm
The post you're working off of is a little dated, by the way. Retro also now includes a complete overhaul of the net code. Technical details here: https://dl.dropboxusercontent.com/u/146 ... anges.html
-
Drakona
- Site Admin
- Posts: 1494
- Joined: Fri Aug 30, 2013 5:35 pm
Are you aware of the fact that pps is a lower limit? Descent will send certain data (shots, data marked as urgent) faster.
Sniper packets are a good idea. Just sending the forward vector is not sufficient though, I believe.
The math bugs probably do not exist in d2x-xl for a long time, since I am using float math for calculations where fix can over- or underflow.
Important messages are something I have been thinking about, too. However, I didn't like the idea of a handshake mechanism for a couple of reasons; I can tell you more if you care.
Some of your changes look very much like being inspired by d2x-xl. I will definitely look into your code; ty for the link.
karx
Sniper packets are a good idea. Just sending the forward vector is not sufficient though, I believe.
The math bugs probably do not exist in d2x-xl for a long time, since I am using float math for calculations where fix can over- or underflow.
Important messages are something I have been thinking about, too. However, I didn't like the idea of a handshake mechanism for a couple of reasons; I can tell you more if you care.
Some of your changes look very much like being inspired by d2x-xl. I will definitely look into your code; ty for the link.
karx
-
karx11erx
- Posts: 22
- Joined: Tue Jul 08, 2014 7:24 am