Author Topic: Descent in FreeSpace  (Read 4274 times)

0 Members and 1 Guest are viewing this topic.

Offline Mongoose

  • Rikki-Tikki-Tavi
  • Global Moderator
  • 212
  • This brain for rent.
    • Steam
    • Something
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. :p

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. :p) 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. :p)  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. :)

 

Offline Galemp

  • Actual father of Samus
  • 212
  • Ask me about GORT!
    • Steam
    • User page on the FreeSpace Wiki
I'm gonna be the first to jump in and shout 'LUA SCRIPTING!!!'

There. Now it's done.
"Anyone can do any amount of work, provided it isn't the work he's supposed to be doing at that moment." -- Robert Benchley

Members I've personally met: RedStreblo, Goober5000, Sandwich, Splinter, Su-tehp, Hippo, CP5670, Terran Emperor, Karajorma, Dekker, McCall, Admiral Wolf, mxlm, RedSniper, Stealth, Black Wolf...

  

Offline Mongoose

  • Rikki-Tikki-Tavi
  • Global Moderator
  • 212
  • This brain for rent.
    • Steam
    • Something
I really wish you hadn't. :p

 
I was thinking more on the lines of shouting "Clift Notes!"  :lol:
That's cool and ....disturbing at the same time o_o  - Vasudan Admiral

"Don't play games with me. You just killed someone I like, that is not a safe place to stand. I'm the Doctor. And you're in the biggest library in the universe. Look me up."

"Quick everyone out of the universe now!"

 

Offline Mongoose

  • Rikki-Tikki-Tavi
  • Global Moderator
  • 212
  • This brain for rent.
    • Steam
    • Something
Yeeeah...I kind of have a thing with writing pages of details to get across a simple point.  Let me see if I can't sum it up better:

--I was fooling around with table files for the first time ever, and I managed to get a ship setup that mostly replicates the feel of the Descent ships.  If these old converted models I have lying around actually work, I can presumably get all of the D3 player ships into FS2.

--I was thinking about what elements of Descent's gameplay would be required to create the most basic-level Descent multiplayer mod in FS2.

--*insert long descriptions about concepts from the Descent series, such as shields/energy and weapons*

--I'm no modder myself, and I'm also not looking for someone else to do all of this for me.  I'd just like to know how much of this stuff is possible from a feasibility standpoint, and what sort of level of work it would require to pull off.  If there are elements of it that I think I'd be capable of learning how to do, I'd definitely try to do so to get them implemented.

Hmm...I guess that was better than four pages of text. :p

 
If it's not in a mine/station with tunnels, it's not Descent, IMHO
Sig censored by people with no sense of humor

 

Offline Commander Zane

  • 212
  • Spoot Knight of Anvils
Pssh, if it's not the Pyro-GX it's not Descent.
Cheap ass Pyro-GL...

 

Offline Mongoose

  • Rikki-Tikki-Tavi
  • Global Moderator
  • 212
  • This brain for rent.
    • Steam
    • Something
If it's not in a mine/station with tunnels, it's not Descent, IMHO
Well, yes, obviously some sort of indoor environment would be the ultimate ideal for any serious Descent mod, but the whole point of this thread was to try to get a sense of what sort of bare-minimum mechanics would be absolutely necessary for any attempt at the general idea, mechanics that would have to be implemented long before one started worrying about flying around a mine.  If there's one thing I've learned from watching mod ideas around here, it's that trying to bite off more than you can chew usually leads to a quick death.  Starting with something extremely basic, like getting the ships to move right, and then working up from there can make things actually happen.

I was kind of hoping I'd find out that at least one tiny aspect of what I mentioned could be answered by something as simple as, "Oh yeah, you could just tweak table X, and that'd work."  I'm starting to think that I'll have to poke around until I figure that out on my own. :p

 

Offline Commander Zane

  • 212
  • Spoot Knight of Anvils
If it's not in a mine/station with tunnels, it's not Descent, IMHO
Okay, I got it.
Massive space stations (Think Death Star sized) in which you infilitrate the superstructres of the stations and fire a Mega Missile down a fusion vent into the reactor core.
Zing.

 

Offline Galemp

  • Actual father of Samus
  • 212
  • Ask me about GORT!
    • Steam
    • User page on the FreeSpace Wiki
Gee, if only there were already a game out that had full Descent-style weapons, ships, physics, arenas, missions, and robots in it, with full voice and music. Now that would be cool!







I'm kidding. I think it would be more productive to see what we can learn from Descent and bring into the FS engine, instead of trying to recreate the feel. They're fundamentally different games. I for one would like to see 'fusion cannon' primaries that can be charged for greater power.
"Anyone can do any amount of work, provided it isn't the work he's supposed to be doing at that moment." -- Robert Benchley

Members I've personally met: RedStreblo, Goober5000, Sandwich, Splinter, Su-tehp, Hippo, CP5670, Terran Emperor, Karajorma, Dekker, McCall, Admiral Wolf, mxlm, RedSniper, Stealth, Black Wolf...

 

Offline Mongoose

  • Rikki-Tikki-Tavi
  • Global Moderator
  • 212
  • This brain for rent.
    • Steam
    • Something
Hehe, point taken.  The thing is, unless you count the D1/2 open-source projects, which are fundamentally limited by the age of the source material they're working with, there really isn't a whole lot of potential for advancement in the Descent community.  The D3 modding world in particular has all but died off over the past year or two.  With the myriad of new features that the SCP has made possible, I've found myself fantasizing about how the Descent mechanic might be brought into this engine.  I'm not entirely convinced that the games are really all that incompatible, either; some features of the ship mechanics are already being used by the Fringespace mod, and one or two mods have done work with implementing terrain.  Even "mines" seem rather feasible, at least from the multiplayer standpoint (though I imagine they'd wreak havoc with the AI system).  Take the Karnak installation model, for instance; put the player starts inside of it, make it invulnerable, and voila! Instant mine.

I guess the bottom line is that I'm going to have to get started on some learning and see just what is feasible in this engine in terms of incorporating at least a few aspects of the Descent universe.  There is one simple question out of everything I typed out there that I wouldn't know where to look for the answer, though.  Is the engine bound to the four-quadrant shield model, or is there a way to tweak that into a single shield unit?

 

Offline Wanderer

  • Wiki Warrior
  • 211
  • Mostly harmless
Well... One way would be to use for example lua scripting to equalize shield quadrants every frame. But that wouldn't be the same as for making ships have just a single shield. However it should be possible to make it option to the ships.tbl and to have real single shield unit shields. Just requires some coding and that the current code freeze is lifted
Do not meddle in the affairs of coders for they are soggy and hard to light

 

Offline TrashMan

  • T-tower Avenger. srsly.
  • 213
  • God-Emperor of your kind!
    • FLAMES OF WAR
Wasn't a single shield code implemented some time ago?

I recall there being something like that.
Or was it a script?
Nobody dies as a virgin - the life ****s us all!

You're a wrongularity from which no right can escape!

 

Offline Mongoose

  • Rikki-Tikki-Tavi
  • Global Moderator
  • 212
  • This brain for rent.
    • Steam
    • Something
I'll have to do some digging and see if I can find any info on either of those possibilities.  In the meantime, I found out that those converted D3 models work in-game, in all of their low-poly glory.  I have no idea who put this ships pack together in the first place, or what they used to convert the models.  I did find an .oof (D3's model format) to .3ds converter buried in PlanetDescent's file archives that might have done the job, though I'm sure they required some cleaning-up afterwards.  If it actually does what it says, I'd love to be able to get the 1500-poly Pyro-GX model that someone created for D3 in-game; it'd definitely be a whole lot better than the D3 model alternatives.  I also did some poking around the D3 table files, but I'll have to find out from someone in the community if there's a good resource that describes all of the fields.  At least some of the ship data seems to be in relative terms, so I'd have to translate that to a FS equivalent if I wanted to preserve accuracy.

The one thing I'm not sure of on these converted models is exactly where the firing points are located.  I'm guessing one would probably need three or four primary slots, depending on how much one wanted to implement; one paired set would take care of the general energy-based weapons, a separate set could handle quad lasers, a single center-mounted slot would take care of the Vulcan-type primaries, and a rear-facing slot might be useful if anyone wanted to go all-out with primaries.  From what I remember, a paired slot and a single center slot would take care of all of the secondaries.

 

Offline Commander Zane

  • 212
  • Spoot Knight of Anvils
I'd love to be able to get the 1500-poly Pyro-GX model that someone created for D3 in-game; it'd definitely be a whole lot better than the D3 model alternatives.
Well of course, you wouldn't be flying a Pyro-GL anymore. ;7

 

Offline Mongoose

  • Rikki-Tikki-Tavi
  • Global Moderator
  • 212
  • This brain for rent.
    • Steam
    • Something
Okay, we get it, you don't like the D3 ships.  Chill. :p

The more I think about this whole idea, the more I feel like maybe I really should learn enough to try to make it a reality myself.  It's high time I figured out how to mod at least one of the games that I play.  I'm not going to promise anything at all, but given enough time and effort, maybe I'll wind up with something that's worthy of being released in some form.  I have rudimentary models to work with and table values to tweak; beyond that, maybe I'll see if I can't get a weapon or two in-game.
« Last Edit: October 05, 2008, 07:25:24 pm by Mongoose »

 

Offline Galemp

  • Actual father of Samus
  • 212
  • Ask me about GORT!
    • Steam
    • User page on the FreeSpace Wiki
In the meantime, I found out that those converted D3 models work in-game, in all of their low-poly glory.  I have no idea who put this ships pack together in the first place, or what they used to convert the models.  I did find an .oof (D3's model format) to .3ds converter buried in PlanetDescent's file archives that might have done the job, though I'm sure they required some cleaning-up afterwards. 

That would be me. :D I've always wanted the Descent ships in Freespace. The biggest problem was consolidating all of those little textures onto one big one for each ship. Cleaning up was intense; LODs, shields, debris, etc. Still, they turned out pretty good.
"Anyone can do any amount of work, provided it isn't the work he's supposed to be doing at that moment." -- Robert Benchley

Members I've personally met: RedStreblo, Goober5000, Sandwich, Splinter, Su-tehp, Hippo, CP5670, Terran Emperor, Karajorma, Dekker, McCall, Admiral Wolf, mxlm, RedSniper, Stealth, Black Wolf...

 

Offline Mongoose

  • Rikki-Tikki-Tavi
  • Global Moderator
  • 212
  • This brain for rent.
    • Steam
    • Something
Ah, cool.  I've had that archive sitting around for so long, I'd long since forgotten exactly where it came from. :)

 
      Isn't there fundamental difference between Descent and Freespace? The AI? I played Descent a few times, not sure if it was the first or whatever. But, okay, the AI in freespace is in a huge cosmic void of nothingness, but they still can't help running into every damn thing in sight. How would that same AI function in an enclosed environment???

 

Offline Droid803

  • Trusted poster of legit stuff
  • 213
  • /人 ◕ ‿‿ ◕ 人\ Do you want to be a Magical Girl?
    • Skype
    • Steam
     Isn't there fundamental difference between Descent and Freespace? The AI? I played Descent a few times, not sure if it was the first or whatever. But, okay, the AI in freespace is in a huge cosmic void of nothingness, but they still can't help running into every damn thing in sight. How would that same AI function in an enclosed environment???

Not very well, most likely.
 *imagines drones flying into a corner, getting stuck, and blowing itself up*
(´・ω・`)
=============================================================