This might also give you the option of having a more advanced version of a laser weapon, that is very similar to an older version, but only takes up half the amount of slots. This way players can replace an older version of the laser by two of them, or equip a much smaller ship that was not able to field such a powerful weapon before with the newer miniaturized version.
But how could we do it without the overused "ship designer screen"? I don't know, slots are...
Maybe the slots (or some of them) are shared, and players can gear their ships more for defense, offense, or any other kind of task as they see fit?
Hmm, I was thinking of simply making more hulls available, so the players can buy what they desire. I mean, I don't want/hate the generic hulls you get in 4X nowadays (you get a frigate full and make out of it a scout, a combat vessel, transporter, colonizer...), the mood here is poor. I wanted something more distinctive like you build a hull with plasma weapons or a hull with one big gun or one that is immune to radiation.
But you brought a good point that the player should be able to customize them. Probably I would use here the audience mechanic (designers visit you and ask (mutually exclusive choice) what you want to have in that hull type preinstalled).
As for modules, definitely not weapons/shields, only weird ones Like:
* Communications array
* Tactical net
* Command bridge
* Escape pods
* Tractor beam
As for outfiting ships with the modules, the simpliest way would be:
- you select what module a certain hull type should have in a given fleet (I have a system that supports formations)
- after you click OK all these ships (in that fleet only), existing and future and transferred (transfer of ships always must go via the shipyard anyway, can't move ships between fleets freely), get this module instantly installed and for free; for the next 1-2 turns all ships of that type in this fleet get -10% to something (less ready to fight because of change of equipment).
Not sure I'm happy with it but that's the simpliest solution I can think of for now.
You could always put limits on your slots... like if its a huge support weapon, it can only go into a spezialized weapon carrier ship. If its a very sophisticated radar array, it can only be installed in a specialized radar ship.
My intention was less to have only generic hulls and then have the players customize them with the modules... my intention was to give even more choice with different hulls having different stats bound to the hull (for example how quick a ship can turn, how much normal armour it has, some crew modifier showing how efficinet the crew can work in it, and so on... and, of course, how much slots of which type it has, so that it can be outfitted with guns, additional armour, support systems, engines, and so on).
Of course that could prove to be a balancing nightmare, so IDK how far you want to take it. Most probably you should decide for a subset of these ideas and leave the rest out, just to prevent "runaway OP builds" slipping through your testing radar. In the end, if a single build is clearly better than others, all that customizabilty will go to waste anyway.
About your dislike of the ship designer screen... why not give the player the option to swap modules "on the field" so to speak? Explain it with a quick-change module technology that allows ships to swap modules in minutes. Have a repair ship / forge ship / mother ship, that other ships can dock on / fly close to, and can swap out installed modules against modules in storage.
This way, you do not need a ship designer window. If ships are in the range of your mother ship, they will show a neat drag and drop interface where players can drag a module from the motherships storage unto the slot on the other ship, and the rest of the module swap will be done automatically.
If your game is about larger formations, maybe make a similar drag and drop interface available without the need of a mothership, and all changes will affect all ships of that type?
Or is your dislike of a ship designer screen meant differently?