Ship Design

Modular design

One question I am facing in my plugin design is if I should make ships modular or not. By modular what I mean is to have ships like those in Master of Orion; one would buy a chassis then equip it with everything from armor, shields, weapons, engines, hyper drives, power cores and subsystems. There would be many benefits to doing this, however it would mean a lot of extra work and some cleaver manipulation of the program. I was wondering if anyone has given this a try and how they found it to work.

The dude resource would be insufficient to use if one was to go with the modular design would it not? I recon that the only way to have significant opponents is if they were fleets with outfits corresponding to the tech level of the current time of the game. Would this not also increase the realism of the game?

I want to hear what everyone thinks about this strategy. Please feel free to tell me why this is a good or bad Idea, lets figure out new ways to keep the challenge in the old ships.

Colosseum uses a semi-modular system, and the forthcoming Revenent uses full modularity.

The amount of ship configurations and graphics would go up fairly quickly, if you wanted to represent this on-screen.

Think about this: let's say you had just one base ship. Let's provide 3 engine types, 3 cargo pods and 3 different weapons. We want all these to show up on your ship.

The total number of ship renderings required needs to reflect the total number of possible different configurations, which is 3 x 3 x 3. That's 27, for those of you who don't like math.

That's a lot. 4 of each becomes 64.

I think you can see where this is headed. Try the maths yourselves, and see what happens if you make, oh, say, 2 base types? 3?

You also run into problems when players try to board and capture ships, since the A.I. can't use engine and shield outfits, among almost every other outfit. I was able to get around it in Colosseum by making boarding "against the rules", and thus impossible. Though that's not going to work elsewhere. Plus there's the "zero-shield-insta-escape-pod-death" bug.

You can get around the problem of the AI not using armor, shield, engine et al outfits by making one outfit that is the inverse of whatever the ship is equipped with.

For example, let's say that you make a fighter that you want to have an Azdara Engine that grants 500 speed, 1000 acceleration, and 80 maneuverability. All you have to do is give the AIs versions of that ship 500 speed, 1000 acceleration, and 80 maneuverability, then under outfits give it the Azdara Engine AND (here's the critical part) another invisible outfit that gives it -500 speed, -1000 acceleration, and -80 maneuverability. You can do the same for shields, armor, jammers (although you need to give them jamming via gövt, not shďp). This of course doubles the number of resources you need to devote to said outfits, but it allows both the AI and any player who captures the AI ships to function properly.

Another thing you're going to have to keep in mind if you do a modular design is that you're going to need different shields, engines, etc. for different ship sizes. Again, Colosseum didn't have this problem because the player only has access to fighters, but if you're going to have fighters, medium ships, light capitals, freighters, heavy capitals, and perhaps more, you're going to need different classes of outfits for each one. If you really wanted to go overboard, you could give each ship its own unique set of outfits (for example, interceptors' outfits weigh the same or maybe slightly less than those of a heavy fighter, the former's engines are better ton-for-ton and the latter's shields are more powerful per weight). This would require tons of work though.

Anyways, that's not meant to discourage you; I think modular ships are an awesome way of approaching Nova, but just keep in mind that it's going to be a good deal of extra work.

Another thing that might be a problem is the limit of 8 outfits per ship resource, though I wonder if you could use a dummy weapon resource to add the associated outfits to a ship. Make a beam with a duration of zero, and have the outfit that uses be primarily, say, armor but reference the weapon so you can get it on the ship via the weapons part of the ship resource.

@keldor-sarn, on May 28 2008, 07:20 AM, said in Ship Design:

Another thing that might be a problem is the limit of 8 outfits per ship resource, though I wonder if you could use a dummy weapon resource to add the associated outfits to a ship. Make a beam with a duration of zero, and have the outfit that uses be primarily, say, armor but reference the weapon so you can get it on the ship via the weapons part of the ship resource.

That would work fine if you run out of outfit slots.

Quote

Think about this: let's say you had just one base ship. Let's provide 3 engine types, 3 cargo pods and 3 different weapons. We want all these to show up on your ship.

The total number of ship renderings required needs to reflect the total number of possible different configurations, which is 3 x 3 x 3. That's 27, for those of you who don't like math. - Pipeline -

Currently my ship count is at 21, these are ships that have been fully rendered and are in the plug in, I also have a number of ships in the process of being completed, as well as a number of ships I am still theorizing about. The fact that making a plug modular makes each ship a factorial user of the ship resource would probably not allow me to have the number of ships that I desire for my universe. 21*27= 567 = not enough resources.

Quote

you're going to need different shields, engines, etc. for different ship sizes. - Archon -

It was my belief that the option to base a outfit's weight on ship size would have solved this problem, but I'm still somewhat noobish at this whole design game. Does this option not change the protective power also based on ship size? Or does a layer of armor give the same protection to a battleship as it does a freighter?

Quote

but if you're going to have fighters, medium ships, light capitals, freighters, heavy capitals, and perhaps more, you're going to need different classes of outfits for each one. If you really wanted to go overboard, you could give each ship its own unique set of outfits - Archon -

This would be so very cool, and is kinda what I wanted but I can see now that already I am going in a more traditional base model and upgraded version method.

Quote

making boarding "against the rules" - JoshTigerheart -

"I'm sorry Dave, I'm afraid I can't do that." -2001, A. C. Clark- I'm a corsair at heart, If I couldn't board ships why live?

Time will determine how my tc comes together, time and my learning curve. Modular design may be out of the question for this TC but perhaps a different project may arise from my desire to do this.

Cheers

This post has been edited by Imhotep : 30 May 2008 - 08:00 PM

Having an outfit's mass/cost increase with ship mass only increases those two stats, unfortunately.

Well, here's another way you could go about it:

There's a seldom-used (and somewhat buggy) outfit type called "ModMax." You give the mod value the ID of whatever outfit you want to increase the maximum number of, and the max number is increased to its typical max number times the number of ModMax outfits the ship has. So if outfit 200 has max of 5 and outfit 201 has ModMax on outfit 200, if you have 2 of 201 you can buy 10 of 200, with 4 you can buy 20 of 200.

Using this setup, you could give all the modular outfits very low effectiveness, but make them cheap and light, then give heavy ships a bunch of outfits that ModMax on the defensive outfits, lighter ones a bunch of ModMaxes on the engine outfits, and mediums somewhere in between. This would keep the customization element much higher without sucking up all the resources (öutfs really disappear quickly as I've found).

You'd probably have to change the in-game descriptions a bit; rather than just being "a shield generator," the generator outfits could be tune-ups that increase its strength or small expansion packs or something. A large ship with 100 individual shield generators would be... weird.

Edit for clarification: The ModMax outfits in this setup should most likely be invisible. A few bugs (or features) involving ModMax outfits is that the first never has any effect (since the first just multiplies the standard max number by 1), so keep that in mind. Also, having several outfits that ModMax the same outfit tend to create rather buggy performance.

This post has been edited by Archon : 28 May 2008 - 12:51 PM

@archon, on May 28 2008, 07:44 PM, said in Ship Design:

You'd probably have to change the in-game descriptions a bit; rather than just being "a shield generator," the generator outfits could be tune-ups that increase its strength or small expansion packs or something. A large ship with 100 individual shield generators would be... weird.

I don't know. I kind of like the idea of 100 shield generators spread around the ship working in a grid of some sort, to me it actually feels that that is a more likely way to get working shields rather than having some huge generator in the middle of the ship somewhere.

Actually, I kind of like that too come to think of it. Maybe you could even mix & match generators. You know, get 75 really strong generators and 25 weak fast-recharge generators. With engines though... that doesn't work quite as well. 😉

Anyways, if you don't want to mess with the ModMax type, there's another way of getting roughly the same effect that I just remembered. You can make a token system. Again, you'll need tokens for each class of modular outfit. Say the token for a shield generator is resource 300. You make every type of shield generator require that the player have outfit 300 (o300), then make every type of shield generator remove one every time they buy a generator (d300) and grant another when they sell it (g300).

So if you don't want to hazard a stab at the sometimes-buggy ModMax field, this should give you the same effect.

Sometimes-buggy? How so?

There's the problem of the first instance of a ModMax outfit not doing anything. This can be remedied by making an invisible outfit that stays with the player and grants one of up to 4 different modmax types, but that creates another problem. If you have several different outfits that all contribute to the same modmax, you get really weird errors erroneous "can't have any more" messages, limits to the number you can buy by option-clicking, and from my limited experimentation (before I started to shy away from the system altogether) sometimes the max number you can have just doesn't add up. Selling and rebuying the modmax outfit seems to solve this, but it's got some serious flaws. It usually seems to be best to find alternatives whenever possible.

For example, in Anathema ch. 3, there's a weapon that used to use the ModMax value to determine total ammo storage. I used this rather than the MaxAmmo function under the wëap resource because the outfit can be modified to become a point-defense turret rather than a primary weapon, and Nova doesn't like having two different weapons determine max ammo using that field. In addition to max ammo being determined by ModMax under the primary turret and point-defense, the player could purchase "pods" that would increase ammo storage further.

This entire system was a gigantic failure due to Nova's poor handling of the ModMax type. It could be made to work, but exhibited the above behaviors to the point at which it wasn't worth the trouble (to the player, not the developer). I decided instead to limit ammo by giving it weight and consuming ammo at the end of bursts, which simulated the effect of >1 ton per round.

For simpler applications of the ModMax field, I haven't had much trouble. For example, a particular outfit that allows the player to buy two Electric Rewirings has worked fine.

Anyways, that's only tangentially related, but it's a good thing for folks to know anyways.

This post has been edited by Archon : 29 May 2008 - 07:43 PM

@archon, on May 30 2008, 12:41 PM, said in Ship Design:

There's the problem of the first instance of a ModMax outfit not doing anything.

I can't really comment on anything else but this part is not a problem. It's how it's supposed to work and it allows more flexibility.

It's true that that's not a problem in and of itself, but when combined with the others, addressing it becomes very tricky. Really, your only options are 1) make the player buy 2 instances of the outfit before any effect takes hold or 2) make another outfit that contributes the same modmax, but that's when other problems start to crop up.

Does anyone know what happens if you put ModType1 = ModMax 128 and ModType2 = ModMax 128?

Yes.

OK I was going to be a smart-ass and leave it at that, but my inner professor got the better of me. It acts just like having two outfits that each have modmax 128. So while buying one of these would bring you up to twice the normal max, the second would put you at 4x. Which isn't necessarily a bad thing I suppose.

Side-note: this is how I got that outfit to allow two electrical rewirings.

Oh wise Prof. Archon, who is learned in the ways of getting nova to do what you want, your thick pupil comprehends your guidance to a very limited degree.

Quote

There's a... ...outfit type called "ModMax." -Archon-

I am running Mission computer 3.3.3, and in the outfit resource the closest thing I found was a "Increase Maximum" type, is this the one?
If it is, then am I right to believe that for each resource of this type I can reference to four resources of the proper type; for instance if I were to have four types of armor that may be obtained each increase max outfit, that should be invisible, would be able to double the amount of these four outfits that may be equipped, would it not? However one problem I foresee is that this would allow a person to have all four armor types in numbers exceeding the desired max number, control bits could surly fix this problem.

However, if we are to return to an aforementioned problem, will the ai ships be able to properly utilize this technique, say if a stock Earth Battleship class vessel had 100 units of Earth standard armor, etc, while a upgraded version has 100 units of Alterran Armor as an example, or would there need to be specific ai ships? If there needs to be specific ships this is a problem with boarding and capturing ships, a very, very good way to upgrade in the original version with all those Kestrels we still love.

The token system is also appealing because I suppose that it could use even less resources and give the player even more versatility if all shields and armor were given the same token, likewise with engine modifiers, hyper drives, and power cores. And you say this method is less buggy. At first I didn't understand but on closer study this has become quite clear. Again will ai use equipped armor?

This post has been edited by Imhotep : 30 May 2008 - 09:08 PM

an AI will NOT use an armor outfit.

Quote

an AI will NOT use an armor outfit.

Hate to let this one go.