Shipyards

    Joined
    Aug 12, 2014
    Messages
    154
    Reaction score
    29
    What I propose is a change on how ships are acquired by players. Currently, you design a ship, maybe test it, save it, then go to a shop and spawn it as often as you want. That is, while convenient, not the most engaging or deep system.

    Therefore, here are changes for implementing a construction based system instead:

    1. No more buying complete ships from stores. Money tends to not be a problem for people, so some resort to just making a "ship" with lots of components they want to buy rather then craft and then spawn+deconstruct ad infinitum, which takes away from the new crafting system and from the "shops have limited supplies" system.

    2. 3 new blocks: Shipyard "core", shipyard extender and shipyard enhancer.

    Shipyards project a similiar cube as docking modules, initially being big enough to comfortably fit what is normally considered a fighter class in it, and when supplied with enough power, raw materials and a blueprint for a ship (just select from the catalogue available to you) they will start constructing that ship at a set pace one block at a time. This process can be sped up by adding enhancer blocks, with the effectiveness of each additional enhancer declining (meaning you need to add a lot of additional enhancers to build bigger ships at a reasonable pace).

    For this to happen, some requirements must be fullfilled:
    1. The space assigned to the shipyard needs to be big enough to fit the ship into its cube horizontally. This means that for a bigger ship to be build, you will need to add extender blocks to your shipyard core.
    2. The blocks that the ship is made up of need to be in a stash connected to the shipyard core. This means that constructing big ships will become a task for a whole faction to work on, as the amount of crafting (or blowing up of other factions ships and scavenging of their parts) to get both the shipyard capable of constructing the desired ship and the materials used for the ship itself should be too much for a single person.
    3. The shipyards area of construction needs to be clear of stuff, obviously.
    4. Enough power must be supplied. It should only drain when actually constructing, but the drain should be noticable unless the station is vastly overpowering the shipyard. Shipyards should drain more power for each enhancer and extender added to them.

    Last point: Ships under construction are not protected by the stations shields and turrets need to be added separatly. Constructing turrets along with the ship might be hard to add, but if it isnt, there should be an option for those who want to skimp on the extenders to leave the turrets off the construction and just have the core ship build.

    So, this is the core idea. In my eyes, it would promote crafting, the setting up and supllying of factorys and interfaction diplomacy/hostility over scavenging or marauding players bent on constructing their factions own titan.

    Now to an idea that flowed from this one:
    Repair/Refit/Dismantling:

    Basically using the same logic, it should be able to take a ship to a shipyard and give it the command to convert the ship into another design. The shipyard would then take the ship, rearrange the blocks already there that are relevant to the new design (much quicker than constructing from scratch), add the blocks required that are not already there and remove blocks unused by the design selected (really fast). Bonus points if there could be a Bobby AI command to send a ship to a previously saved shipyard for refit/repair/Dismantling.

    By using the design the ship is origianally made off, damaged ships could also be repaired by having destroyed blocks replaced and damaged ones automatically repaired. By selecting no design (or hitting the appropriate button if available) the shipyard can also be ordered to just dismantle the ship and store its parts for later use. Same limitations as construction applies, a shipyard for fighters is not going to easily dismantle a frigate.


    There we have it, a wall of text, I am proud of myself and looking forward to feedback
     
    Joined
    Aug 11, 2013
    Messages
    389
    Reaction score
    99
    • Purchased!
    • Legacy Citizen 5
    • Community Content - Bronze 1
    A very well written and thought out suggestion, so it makes me a little sorry to say that unfortunately this has all been suggested before in one form or another. Maybe not all together, but still, it is out there.
    I do like this though, and really wish it would be implemented. I cant remember if schema has ever commented on the idea of shipyards or not, I dont think he has, but I like to think its being considered.
     
    Joined
    Aug 12, 2014
    Messages
    154
    Reaction score
    29
    so it makes me a little sorry to say that unfortunately this has all been suggested before in one form or another.
    I did expect that it had been proposed (seemed pretty straightforward as far as suggestions go), but i couldnt find any recent ones aside from the "mobile fighter shipyards" thread. Also, it lingers in my head everytime I play Starmade, so writing it down was kind of a therapeutic task of sorts.
     
    Joined
    Aug 26, 2013
    Messages
    56
    Reaction score
    16
    What if the existing docking system could be used for this, but attached to a shipyard ai with settings? This would allow the current stations to easily utilize this feature if it were implemented.
    It would reduce the block count and possibly the programming required.

    The easier it is to code the more likely it is to be applied! (Maybe?)
     
    Joined
    Aug 12, 2014
    Messages
    154
    Reaction score
    29
    What if the existing docking system could be used for this, but attached to a shipyard ai with settings? This would allow the current stations to easily utilize this feature if it were implemented.
    It would reduce the block count and possibly the programming required.
    But then you run into the problem that someone might park his fighter on your battleship-shipyard. Unless attaching a shipyard AI makes docking impossible, then yeah, why not convert docking space into manufacturing areas.
     
    Joined
    Aug 26, 2013
    Messages
    56
    Reaction score
    16
    "Docking confirmation" should already be a thing! some way to set what factions/ships/people can dock on your ship. Something like a more advanced "faction permissions/friend-foe system" module which is probably already planned.

    That, however, is nowhere near as cool as combining this idea with the storage thread!
     
    Joined
    Aug 12, 2014
    Messages
    154
    Reaction score
    29
    The one with nearly 2000 views and a response from Schema? Yeah, that was kind of what I planned to include in this idea (a package thing, if you will) before seeing it. And without it, this idea would feel.... disjointed.
     
    Joined
    Aug 26, 2013
    Messages
    56
    Reaction score
    16
    What if the entire docking network could be turned into "computational zone identifier computers" connected to specialized equipment! The zone would be linked to either some group of blocks to define the mass of blocks able to be held for a dock, some group of blocks to simulate a storage transport system and computer, some group of blocks to define a turret bearing, or some group of blocks to define a ship assembly/ship-dock machine!

    Sounds robust to me! It may take mangling the existing docking framework to implement...
    I think parts of the concept are doable.
     
    Joined
    Jul 6, 2013
    Messages
    451
    Reaction score
    108
    • Purchased!
    • Community Content - Bronze 2
    • Legacy Citizen 5
    I was going to make a separate post but since this one is here already. I had a variation of this idea. Broken done into sections/steps.

    Required Block types

    Shipyard docking block and docking enhancers (could reuse normal docking blocks but due to centering of core maybe not)
    1. A place for the work to happen and linking other blocks to the dock.
    2. If a ship is docking for repairs/upgrade ships core should be located in the exact center of the shipyard docking area. This will make calculations for finished ship placement a lot easier.

    Control block - material supply, control menus

    Construction enhancer block - to speed up construction or repair rate.

    Control block is linked to the shipyard docking block and to the construction enhancer blocks. The shipyard docking enhancers connect to the shipyard docking block to increase the docking size.

    Construction block. Visual block of no practical value or use with 1HP mass 0.2 0Cr unsellable, will be explained later.

    For the rumoured feature of capital ship attributes these blocks would count so you don't have small construction ships floating around only capital class ones and stations maybe.

    Material supply/recycling
    Materials are dropped into the control block for recycling into materials used for construction. There should be a loss penalty to encourage manufacturing. Say at a station each block recycled gives half its average value of credits to the shipyard. This % wastage should be controlled by a variable. The waste for a mobile shipyard may/should be worse. The total value of materials stored in the control block minus waste should be shown as a credit figure.

    This gives a base amount of credits the shipyard can use. Destruction of the control block should cause either random loot drop or at least loss of all stored materials.

    Buying new construction cost
    Using the controller block should bring up the standard list of usable blueprints. Prices as per buying from the shop.
    A Display of value of loaded materials should be shown and the price difference. When buying a ship the materials is used first and remainder draws upon the players credits. We need some built in checks mostly that the new ship will fit in the shipyard docking area and that you can afford it. Blueprints should be colour coded for example:

    Purple = doesn't fit in shipyard (this would be sped up if the blueprints included the boxdim of the ship and core location)
    Green = can be built with materials in control block and docked ship value
    Orange = requires all the materials in control block and docked ship value plus player credits
    Red = you can't afford it

    Repair or upgrade cost
    Like buying new construction uses the same costing as above with the these additions.
    The cost of the ship docked in the shipyard is substracted from the blueprint cost, then the loaded materials and finally credits from the player if needed. Damaged blocks are worth the % of HP they have left. A 50hp block with 10hp left is worth 20% of the orginal block price. So damaged ships will be worth less. This way if your repairing a blueprinted ship to the blueprint the cost will be the % damage to all the damaged blocks plus the cost of the missing blocks.

    There should be a confirmation dialog to start the process. Before the process is started there should be a safety check of the construction area for objects. Either the construction volum,e explained later or the entire shipyard.

    Access control: is going to be problematical. Who has the right to dock there, use it, remove materials, cancel construction etc.... I have no idea about this really and it can be a big issue.

    Shipyard construction process
    On confirmation of success order:
    1. Saved file of the docked ship if any. The ship is then removed.
    2. a copy of the finished blueprint is made just incase someone tries to change it in the middle of construction
    3. Materials used from control block is removed and amount's saved.
    4. Credits used from player removed and saved ammount and name if refund is possible.
    5. No other construction possible till completion or interruption.
    6. A set of construction blocks appear in the shipyard. Its volume depends on how complicated you want to be.
    a. simple - get the box dim of the previous docked ship including all docking areas attached to it.
    b. Complex - get the volume of the existing ship and the ship its going to be and overlay them over each other with the docking areas as solids. Get the combined block map for that and make that constructions blocks.
    The construction blocks block off the area the ship is building in to avoid issues when construction finishes or is interrupted. They should also be docked to the shipyard incase its mobile. And the mass will also slow the ship down. You could build using actually blocks but I shudder at the programming required and what to do if its interrupted.

    7. construction begins

    Construction speed - Difference in the docked ship if any and the total blueprint cost in credits. The construction enhancers construct so many credits per cycle. More blocks more credits per cycle. It also uses energy. If the energy requirement for a cycle isn't met it doesn't start. As long as you have a big enough energy cap you can use a small power gen to run the shipyard but it will waste time building power for each cycle. You might make brand new construction instant like shops.

    Once enough cycles are done the construction is completed and the new ship replaces the construction blocks and is docked with the shipyard.

    Or construction is interrupted or cancelled. Triggers for this are:
    a. Not enough battery to supply construction cycle
    b. shipyard blocks modified
    c. construction block destroyed or removed.
    d. construction cancelled.
    This should result in:
    a. original docked ship relacing construction blocks and docked to shipyard. (including damage)
    b. return of materials to control block with penalty maybe or complete loss
    c. return of credits to original player with penalty maybe or complete loss

    The programming hurdles for this isn't completely mind boggling once you set the steps and parameters out properly, and should make a viable shipyard/repair/upgrade bay. That could then be expanded to use personal/faction storage and block use for construction instead of credits later. The biggest problem looks like programming permissions to me for both use, supply or materials and return of materials.

    I gotta stop here as my browser is lagging horibly while I type this.
     
    Joined
    Aug 26, 2013
    Messages
    56
    Reaction score
    16
    I like this idea, but I wish it were tied to a new block storage system and I wish the blocks were actually slowly repaired. I know this jacks up the programming hurdles required, but it would be cool!

    Serious now:

    does it have to center on the ship core? Couldn't the blueprint and ship save its bounding box and then just set halfway as middle? The only difficulty in programming this is converting all the numbers, but you might not even have to do this. As long as it checks boundaries correctly it should work properly. It would simply adjust the placement when it places the construction blocks. You would already need a blueprint to repair ships, so the "blueprint fits" check would work the same as any ship dock works. I see no problems using the current docking system for this!
     
    Joined
    Jul 6, 2013
    Messages
    451
    Reaction score
    108
    • Purchased!
    • Community Content - Bronze 2
    • Legacy Citizen 5
    True but I would like to see the ship in the centre of the shipyard docking area.:)

    With normal docks the ship is placed up against the docking point so its not floating off a side of a ship or station. So it looks like its attached.
     
    Joined
    Aug 26, 2013
    Messages
    56
    Reaction score
    16
    You could have the ship simply shift positions when it checks before it starts building. It would predict and check the area that the ship would take up, and then shift the old ship to the predicted position before it adds the construction blocks. This may actually be simpler then completely reprogramming or modifying the old system.

    Idk, I still think ur idea is a good one!
    I wonder if schema looks at threads that people say schema more often in. If schema is said like 40 times, then maybe schema will look at this thread! schema schema!
    :p
     
    Joined
    Aug 28, 2013
    Messages
    1,831
    Reaction score
    374
    • Legacy Citizen 2
    • Top Forum Contributor
    • Legacy Citizen
    schema, schema, schema!
    Okay, no taking the name of the cat in vain.
    Anyway, you wouldn't have to offset the coordinates of the blocks (in fact, you shouldn't.) You could instead dock the center of the ship off center (so offset in x, y, and z instead of just z)

    [side suggestion to go with above: have ships dock with no half gap inbetween them and the mothership. Then when they undock, put them back into the universe with the half-block gap]
     

    NeonSturm

    StormMaker
    Joined
    Dec 31, 2013
    Messages
    5,110
    Reaction score
    617
    • Wired for Logic
    • Thinking Positive
    • Legacy Citizen 5
    [side suggestion to go with above: have ships dock with no half gap inbetween them and the mothership. Then when they undock, put them back into the universe with the half-block gap]
    Anybody seen what they do in SE with pistons?
    They fly with their ship above a landing platform, expand pistons with landing gear, dock and then retract it (otherwise their thrusters may damage the main ship)

    This got me an idea:
    Replace frontward/backward and sidewards movement with an horizontal(angular and distance) movement once you selected a dock

    Let the ship move vertically relative to it's docked position with up/down, while moving down, the ship should turn around its Y axis to match the closest 90° dock position.

    This would allow you to stop exactly over the dock (auto-slow down dependent on a speed <=> distance * deceleration ability relationship) and a very cool dock animation.
    Could also resolve the issue with docking orientation.
     

    Lecic

    Convicted Lancake Abuser
    Joined
    Apr 14, 2013
    Messages
    5,115
    Reaction score
    1,229
    • Thinking Positive Gold
    • Purchased!
    • Legacy Citizen 11
    Shipyards are confirmed by the cat and code god @schema .
     

    Ithirahad

    Arana'Aethi
    Joined
    Nov 14, 2013
    Messages
    4,150
    Reaction score
    1,330
    • Purchased!
    • Top Forum Contributor
    • Legacy Citizen 8
    Yeah, shipyards are indeed confirmed. I'd just rather get them sooner than later. (Like, this update with FTL and universe updates, then chairs and other astronaut gameplay improvements, then shipyards. THEN other stuff.)
     
    Joined
    Aug 12, 2014
    Messages
    154
    Reaction score
    29
    Shipyards are confirmed by the cat and code god @schema .
    Doesnt stop me from throwing an idea his way, does it? ;) The reverse, actually, because it is confirmed, ideas concerning it might change it in its planning state.
     

    Lecic

    Convicted Lancake Abuser
    Joined
    Apr 14, 2013
    Messages
    5,115
    Reaction score
    1,229
    • Thinking Positive Gold
    • Purchased!
    • Legacy Citizen 11
    Doesnt stop me from throwing an idea his way, does it? ;) The reverse, actually, because it is confirmed, ideas concerning it might change it in its planning state.
    Oh, yeah, definitely. If it's confirmed, offer as many suggestions for how it could be as possible. I'm just telling you that you've got good chances.
     
    Joined
    Mar 28, 2014
    Messages
    76
    Reaction score
    9
    I like the retrofitting idea, I had that idea and figured I should see if it's already been suggested!
    I would say for a simpler coding design though, it should be limited to removing unneeded blocks and adding new ones.
    Trying to move existing blocks around could get really complicated really fast code-wise.
    If you wanted to keep the speed boost for re-arrangement, you could make it so that blocks that were removed cost no time to replace, or a fraction of the time.
    So, during retrofitting, first the shipyard would compare the ship and the blueprint, removing x number of blocks that are not in the blueprint every tick of x seconds. Then, in one tick, all blocks that were removed would be used to add missing blocks, then the rest of the missing blocks would be added x number at a time every tick.
     
    Joined
    Aug 12, 2014
    Messages
    154
    Reaction score
    29
    I like the retrofitting idea, I had that idea and figured I should see if it's already been suggested!
    I would say for a simpler coding design though, it should be limited to removing unneeded blocks and adding new ones.
    Trying to move existing blocks around could get really complicated really fast code-wise.
    If you wanted to keep the speed boost for re-arrangement, you could make it so that blocks that were removed cost no time to replace, or a fraction of the time.
    So, during retrofitting, first the shipyard would compare the ship and the blueprint, removing x number of blocks that are not in the blueprint every tick of x seconds. Then, in one tick, all blocks that were removed would be used to add missing blocks, then the rest of the missing blocks would be added x number at a time every tick.
    That actually was the jist of it, might have worded that poorly. Whatever works and is easy to code in I guess is a good option.
     
    • Like
    Reactions: NeonSturm