Okay...so before I get started on what will most likely be a rather lengthy post, let me preface it by saying that I don't consider myself a modder in the least; in fact, I haven't really read this forum in a good year or two. I can't model, I can't texture, I can't tell a story...I really don't have any artistic ability at all. Why does all of this matter, you ask? Well, I don't want to give anyone the vastly misguided impression that I'm in the midst of working on some sort of vast total conversion, or anything like that. This whole affair started under the guise of "Mongoose opening up a table file for the first time and learning things that most people had within a week of first playing the game." Call it one big hypothetical, if you like.
We clear on this? Good. Now let me actually create a topic.

A few years back, I had become rather intrigued by Nuke and one or two other people discussing the creation of a Descent mod for FS. Descent's the only game series I love equally to FS, and D3 the only PC game I've ever really played multiplayer in on a regular basis. I remember Nuke talking about wanting to implement combat in mines, weapon powerups...the whole nine yards, really. Just the other day, I remembered this discussion, and I decided to do a search to see if anything had ever come out of it. I was able to come across the relevant threads, but as so many project ideas do, the originators had all sorts of other projects they were busy with, and nothing really came of it. To my surprise, I learned that there had been another mod attempt a few years before that, by Nico and one or two others, but it seemed as though nothing had come out of those attempts, either. (To date that thread, everyone in it was absolutely drooling over shots of Nico's brand-new Ezichiel model.

) It was at this point that I started to think to myself, "What would it take to finally make something like this happen?"
Now, I was vaguely aware that there's a "Descent-style physics" cheat available, but I wanted to see if the same effects could be duplicated just through table editing. So, for the first time in several years of playing the games, I opened up a table file and started poking around. It took a lot of digging through the Wiki, but I soon figured out where the relevant fields in ships.tbl were. Before long, I had a .tbm for the Ulysses that had most of the relevant motions going on: a top reverse speed equal to the top forward speed, lateral thrusting enabled, the works. I still need to tweak it, since the damping values for motions like changing sliding direction are still much too high, but at least it feels remotely like a Descent ship. (I've never fooled around with Descent's tables, either, so I don't know if there's information that I can simply re-use for the conversion; if not, I'll just have to fire up D3 and get a feel for how the ship should handle.)
It was only after this that I finally decided to try that Descent-style cheat, and I quickly realized that even my amateurish effort was an improvement. While Descent ships don't have a whole lot of inertia in terms of changing direction, the cheat eliminates it entirely...and for some baffling reason, firing your afterburner brings the ship to a sudden screeching halt. Okay, so that idea was out from the beginning. It was also at this time that I decided to try fooling around with an old mod of the D3 player ships ported to FS; I had wanted to try to learn how to fool around with tables myself, but I also wanted to see if whoever had done this before me had made any big improvements. To my surprise, my attempt wound up being far more accurate. No offense to whoever created that pack to begin with, but the damping values for things like changing the direction of a slide and going from forward to reverse thrust were waaaay too strong to have any sort of Descent feel. I haven't tried the actual D3 models in-game yet, though I'm going under the assumption that those will work fine (though you know what they say about assumptions...).
So presumably, at this point, I can get a Pyro-GL that controls at least vaguely similar to how it does in D3 into a FS mission. (In fact, just to play around, I created a test mission with a single cargo container as a point of reference. Yes, that's about as complex as my FREDding gets.

) Since then, I've been pondering to myself what the bare minimum requirements would be for a mod that can actually be considered legitimately "Descent-like." For the purposes of this discussion, let's right off the bat eliminate any ideas of what would be required for a singleplayer campaign: indoor mine models, terrain, robot models with specifically-scripted behaviors, a storyline, and the like. What would be the bare minimum required to pull off a multiplayer mod, where two people could hop into Pyros and shoot at each other in empty space, or around something like an Arcadia? I've been thinking about it for a few days, and here's what I've managed to come up with:
1) Controls: Like I said, even though I'm not quite at the point where I've managed to accurately capture Descent-style motion, I can at least see that point. There are two real issues that I can see, and both actually have more to do with joystick control than anything else. The first of these is "trichording" (or its lesser cousin, "bichording"), the speed boost incurred in the Descent games by sliding diagonally, moving forward/back, and angling your ship properly. It's really a concept of vector addition; bichording can get you a speed boost of 1.4 times your normal speed if you point your ship right, and trichording can take you all the way up to around 1.7. I'm not sure if this speed boost is occurring naturally in FS, but at least I know that multiple sliding directions are supported...on the keyboard. Somewhat to my surprise, I learned that FS2 doesn't seem to support more than a 4-way HAT switch, so my own personal preference of using the HAT to slide seems to be out the window. That's really more of a preference than anything else, but it does put a damper on my usual piloting abilities, since I've never developed a good sliding key configuration for Descent.
The other issue is one of throttle usage. Descent ships have equal forwards and backwards speeds, with a switch between top speeds in either direction occurring rapidly; it's part of what makes combat in that game so frenetic. Again, I can duplicate this effect just fine on the keyboard, but it's a whole other story on a joystick throttle, which is my usual way of playing the game. The absolute throttle control seems perpetually lower-bound by zero forward speed, and the relative throttle won't let you dip below that either. In the Descent games, the 50% position on a joystick throttle is defined as at rest, with full forward and reverse speed possible in either direction. Again, this comes down to a personal control preference issue on my part, since I think most Descenters use some sort of keyboard config for linear motion. I believe that taylor has said at some point in the past that big improvements to the whole control input system are part of his plan for the future, in the 3.7 realm of things, so it could be that both of these issues would have to sit tight until the day those improvements come.
(One additional tiny note: in Descent, it generally seems as though the afterburner’s effectiveness declines the longer it’s held down, reaching its minimum speed boost when it’s almost depleted. This led to the strategy of “pulsing” the afterburner to try to maintain that top speed. I’m not sure if that’s the sort of effect that could be easily replicated in-mission.)
2) Shield/Energy Usage: In the Descent series, your ship's entire "health" is defined by shield strength, which can value anywhere from 0 to 200 points. You start each level with a shield value of 100; picking up floating shield orb powerups increases your shield strength by a set value (which in the Descent series actually depends on the difficulty level you're playing at). There is no hull strength; once you get below 0 shields, you go kablooey. And unlike in FS, your shield doesn't recharge on its own. Even putting the idea of shield powerups aside for the moment, I'm assuming that effect could be pulled off with a very low hull strength and no shield energy...with one or two possible issues. First off, Descent ships have only one single spherical shield (though I think D1 and D2's ships actually used accurate hull-based damage, which is an option for D3 that's often used for LANs); can the FS engine forego the shield quadrant system in favor of a single segment? And secondly, is there a way of defining an exact numerical value for shield strength that could be displayed somewhere on the HUD?
The second question is one of energy. Much like shield strength, energy in the Descent series is a numerical value of 0 to 200 that can be augmented by power-ups (as well as energy refill stations, which only take you back up to 100). Energy is drained when firing most primary weapons, as well as for recharging the afterburner (and a few more esoteric functions, like firing flares and using a headlight, which are essentially useless to this conversation). However, unlike FS, both weapons and afterburners draw off a single energy bank, and that bank doesn't recharge at all. Is this sort of mechanic do-able with the current FS energy management system, and again, could one obtain a numerical energy value that'd be able to be displayed on the HUD?
3) Weapons: This is the one that'll probably be the kicker, since it's kind of the core element of Descent gameplay. Descent tends to have a somewhat wider variety of primary and secondary weapon types than FS, with an array of different mechanics. D2 doubled the amount of weapons that D1 had, while D3 replaced some of the earlier weapons with completely new ones. A few of the primary weapons, such as the lasers and Plasma Cannon, are essentially the same as things like the Subach and Prometheus; most of the secondary weapons consist of either dumbfire or heat-seeking missile types that would be relatively easy to manage as well. There are a few unique types that might be somewhat more difficult, though. I do know that ammo-based primaries are do-able, so presumably the chaingun-like Vulcan/Gauss/Vauss and the railgun-esque Mass Driver wouldn't be too bad (though the zoom function on the latter would probably be out, I'd bet). Not that they'd be much use in empty space, but certain of the secondaries, such as the Smart/Cyclone/Earthshaker Missiles, spawn secondary munitions either on-impact or after a certain time, which seems easy enough. (The proximity bombs and smart mines of the first two Descents might be slightly harder; D3 had a few more esoteric countermeasures, such as the turret-like Gunboy, but those were never used all that much anyway due to lag issues.) However, then there are the much more esoteric weapons...like the flame-throwing Napalm cannon (also ammo-based) and its cousin the Napalm Missile, the bouncing Phoenix (again, not much use in space), the homing energy beam of the Omega (which had its own energy reserve in D2 that drained off the ship's energy), the rotating Spreadfire/Helix Cannons, and the black-hole-esque Blackshark. And by far most important of all, you have the chargeable Fusion Cannon, which is pretty much
the defining Descent series primary. As you can see, there's a whole lot to work with there, and I have no idea how much is even remotely possible in the FS2 engine.
However, all of that might not even be the largest weapons issue. You see, in the Descent series, the player could acquire new primary and secondary weapons (as well as ammo pick-ups for ballistic primaries) by flying through power-ups, just like the shield and energy power-ups. Perhaps most troublesome, the Descent ships can carry far more weapons at once than any FS ship; the original Descent game featured five primaries and five secondaries that could be selected via the 1-0 keys, while D2 and D3 doubled that to 10 of each, with a second keypress on the number keys selecting the "alternate version" of each weapon. (There was also a configurable weapon auto-select function that would allow the player to define which weapons would override others if picked up.) There are a few ideas I've had on how to work around this in the FS realm. In the simplest case, one could just ignore the Descent mechanics and force pilots into picking out two or three primaries/secondaries before starting a multiplayer match. Another method would be to have permanent floating power-up models that, when flown over, would simply replace whatever weapon the player was currently holding. Obviously, the most complex (and probably most unfeasible) method would be to try to duplicate Descent’s system of having many weapons at once that could be freely selected. There’s also the fact that, when a ship in Descent was destroyed, it would spew out all of the primaries and missiles it was carrying as power-ups (as well as some shields/energy); I’d imagine that that might create issues in and of itself.
This post wound up being even more obscenely long than I had first planned, so I appreciate anyone who managed to read through the whole thing. Those three areas are the main points I could come up with at the moment that would be necessary for implementing the simplest sort of Descent mod. So…what do I want from you? All I would ask is that those of you who have a much better grasp on the engine’s modding capabilities could peruse through what I’ve written and lend a hand at figuring out which items would be easily do-able now, which would require some more involved FREDding/scripting, and which would go up to the level of fairly major code changes. Like I said at the outset, I’m no modder myself, but I would like to get at least some sort of grasp on how feasible such a mod would be, and if there were any elements of it that I’d feel confident enough to attempt to enact. At the very least, what I think I will be able to do is provide ship table files that re-create the handing of a Descent-style ship in FS to the best of my ability. And who knows…if anyone else is interested in tackling some other segment of such a mod, maybe we can see where things progress from there. Thanks again for reading.
