HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
CDarrow
DXX-Retro
C2014–2018
CDarrow / DXX-Retro

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.

3Distinct people
5Mentions
0Explicit recommenders
52GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

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.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year5 dated mentions

Observed mentions: 2014-06-26 05:39:42 UTC to 2018-12-30 01:52:14 UTC.

0122014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC202
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC202
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC000
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC000
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101

What Hacker News says

5 sources
People still play competitive multiplayer Descent I (D1) matches nearly every day. You can download the data files from GoG[0] for under $4. The binary you want is called DXX-Retro[1] which has the latest and greatest multiplayer tweaks and fixes for competitive Descent. Check out the Descent Champions Ladder[2] if you're interested in heads up 1v1 play. If multiplayer anarchy (like the glory days of Kali) is more your thing, check out the Descent Rangers[3], who play organized multiplayer games nearly every day. The best way to meet up with folks committed to playing multiplayer Descent is to hop on to the Rangers' mumble[4] server and start chatting. Descent Overload[5] is a modern, fun, updated version of Descent by some of the same creators, but the focus is not on multiplayer, and as a result the experience suffers somewhat. [0] http
Read the rest
In How DOOM fire was done
They've already tracked down the original license holders/issuers in order to release the software in the first place. It seems to me like it would be orders of magnitude less work to contact a source port author and get all parties to agree to a simple modified license that would allow for source modifications to be included in the bundle. (The original Parallax license for Descent, as well as the Rebirth modification to it, can be found at https://github.com/CDarrow/DXX-Retro/blob/master/COPYING.txt . I'm not sure it would even need to be modified -- it prohibits "end users" from using it for revenue-generating purposes, but doesn't prohibit the original rights holders from bundling that end-user code with the original software.)
In How GOG.com Saves and Restores Classic Videogames
Retro was originally envisioned as a simple mod for Rebirth -- essentially a testing ground for fixes to be put into the next version. Over time, Rebirth development has slowed significantly (still hasn't incorporated the homing missile fix from August of 2013 [0]), and Retro has gotten pretty far ahead. It's now the de facto standard for the active multiplayer pilot community, including the Descent Rangers [1]. The developers of the two mods have different goals -- the Retro developer [2] is a competitive pilot [3] who wants the game to feel like the original with improvements in the metagame, while the Rebirth developer is a casual pilot who likes to make sweeping software architecture changes for stylistic reasons, which sometimes have unintended side effects. (No offense to zico; he's done a lot of good work and we're all grateful
Read the rest
for it.) The key improvements in Retro: - homing missiles follow original trajectories (important for single player as well as multi!) - netcode fixed. Shots travel in the same direction for all players (Rebirth's compression algorithm introduced errors of up to 30 degrees in shot direction.) - gauss/vulcan ammo no longer duplicates inappropriately - raised network PPS limit (30 packets per second max; it's beautiful!) as well as other network fixes [4] - collision detection fixed. Shots which were almost exactly one frame away, and aimed at the edge of the ship, were detonating prematurely due to a vector math bug. - host options: add extra primary and/or secondary weapons, cap the number of secondary weapons allowed in the level, reduce vulcan ammo, allow players to select their own ship colors - improved calibration settings for joystick, mouse, and gamepads You can find more at the github page and the bountysource page [5]. ---------- [0] http://www.dxx-rebirth.com/frm/index.php/topic,1696.0.html [1] http://descentrangers.com/Home [2] Disclosure: I'm married to the Retro developer. [3] Video from her perspective: https://www.youtube.com/watch?v=JLuTJz-pDaM#t=263 . That's a girls-vs-guys team game with Lioness, against the legendary "kiln" (Mr_1994) and "Arch-Angel" (Stan), at the Descent in Denver LAN in August. [4] She wrote about the netcode fix here on HN, and one of the original developers showed up to comment: https://news.ycombinator.com/item?id=8401086 [5] https://github.com/CDarrow/DXX-Retro/issues and https://www.bountysource.com/trackers/2571293-cdarrow-dxx-re... . "JinX mode" is a spectator mode JinX was working on before he died suddenly last March, which has been renamed in his honor.
In An Exemption to the DMCA Would Let Game Fans Keep Abandoned Games Running
Just a few months ago, I did an overhaul of the network code for DXX-Retro[1] -- a source port of Descent. Descent worked much better over the (laggy, lossy, bursty) net than DOOM, and -- if you're looking to mimic old school games -- is really worth studying. Some quick technical commentary: The bandwidth calculation in the article is predicated on sending updates at 60 hz -- or what we'd in the Descent community call 60 PPS. Probably because the screen is refreshing at that rate? It's unnecessary. You want a high framerate for control of your own game, but you don't need it to see enemies smoothly. Remember, movies only run at 24 FPS. ;) The highest I allow in Descent is 30 PPS, and really . . . it's seen as a luxury. 20 is generally fine. Sometimes I play games at 10, and there you can definitely tell -- even with the smoothing
Read the rest
(it sends velocity and acceleration, too, and interpolates) -- but it's perfectly playable. Which is something worth remembering. With old school games, "crappy but perfectly playable" is actually all they were able to achieve. No, the physics engines aren't perfectly locked, and how tolerable this is will depend on your game. In a simple FPS, this really isn't a big deal. You just lag lead (compensate in aim, both for the motion of your enemy, and the fact that the data is old). :) Some of how he's proposing to send the data is wasteful. He initially proposes sending "is weapon equipped" and "is firing" as 1 byte a piece -- and later concludes he can get those in 1 bit a piece. True. That's a savings by a factor of 8 right there. But I can do you one better -- don't send it every update. How often do those states really change? In Descent, we have two classes of data: position and orientation data that's sent at a steady rate (10-30 PPS), and event data that's sent . . . whenever it happens. Equipping weapons is definitely the second type; it happens extremely rarely -- like, seconds pass between weapon switches. :) One thing that may surprise you. We don't send "is firing" as a flag with every packet -- we send one packet per shot taken! Two reasons for this: one, it's actually lower bandwidth. Shots fire rarely -- our fastest gun fires 20 bullets per second, but the next fastest fires six. Then five, then four, then . . . one shot every two seconds. And you're not always firing, either. Sending one packet per shot saves bandwidth. But it also increases accuracy! We attach those shot packets to a position and orientation update, so -- even if the receiver has incorrectly interpolated your position -- the shot goes exactly where you intended it to. This is very important. :) As a player (and a programmer -- but mostly a player), I'm concerned about the article's conclusions about the value of prediction, and the recommendation to avoid position popping by applying smoothing -- to quote the article, "it ruins the virtual reality of the game". Ok, yes, it does. But the thing is, you have a choice here. You can present your players with something pretty and smooth that is fundamentally a lie, or with something jittery that is the best knowledge you have about where the enemy is. This is a fundamental tradeoff: versimiltude or accuracy. You can't have both. My players overwhelmingly prefer accuracy. To them, the avatars on the screen are targeting aids, and they understand that the data is old and a bit lossy and bursty sometimes, and they want the best data possible so they can take the best shot possible. :) I suppose your mileage may vary by audience. Mine's been playing this game 20 years and "crappy but playable" is both normal and good to them. :) But -- I can't imagine this would be different in another FPS -- taking a shot that you know is good on your screen, and have it not hit the other guy . . . that's rage-inducing right there! Yeah, networked games are hard. For sure. And there are fundamental hard tradeoffs involved in engineering them. For sure. But it's an interesting problem, and also worth it. :) [1] https://github.com/CDarrow/DXX-Retro
In Making Fast-Paced Multiplayer Networked Games Is Hard
My wife is the developer of a mod for a 20-year-old game [0], which she forked from another mod about a year ago. The reason for the fork? The other mod made missiles follow slightly wider turning arcs, so they were harder to dodge by going around corners. It seems like a tiny difference, but high-level competitive players want their missiles exactly right because different missile tracking leads to different viable tactics. "That shot into that tunnel is a sure kill" turns into "that shot is unlikely to hit"; "I can dodge that" turns into "I have no option but to run". The primary developer of the other mod was not a high-level competitive player and did not see this as a problem. Merely suggesting the fix (which my wife originally coded as a patch to the other mod), with simulations, a mathematical proof of correctness, and uniform
Read the rest
ly positive feedback from many top-level pilots, was enough to touch off a flamewar that wasn't settled for weeks. People can be fanatical about their video games. [0] the game is Descent (1 and 2). Her mod can be found at https://github.com/CDarrow/DXX-Retro . The other mod is at http://www.dxx-rebirth.com/ . Current competitive 1v1 play is at http://descentchampions.org/ and group play is at http://descentrangers.com .
In The Rage of the Mechwarrior Online Community (2013)

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.