Procedural Structure Generation

    Lone_Puppy

    Me, myself and I.
    Joined
    Mar 12, 2015
    Messages
    1,274
    Reaction score
    529
    • Purchased!
    • Community Content - Bronze 2
    • Legacy Citizen 8
    Hi Folks,

    I guess this is more of a universe or over-all game suggestion.

    I'm seeing a lot of cool ideas and requests for more procedural content within Starmade. In particular more variations in stations, more structures generated on planets, derelict ships and recently an interesting idea for stripped out derelict ships embedded in planet plates and asteroids.

    My suggestion to Schine, would be to put into place some kind of new procedural structure system. One that is extensible and something where we (both player and developer) can easily link/combine with existing blueprints (BP’s) in the existing catalogue. This would allow for easy implementation of future content, for both developers and server owners.

    I would also suggest incorporating the way the NPC Factions use BP’s, allowing easy update and control of NPC structures/entities.

    Procedural Structure Control
    • Game Controls
      • UI Catalog control of whether a BP is available for procedural generation or not. This could use the existing Admin tab, or more logically a new Procedural tab in the catalogue UI.
      • In the BP itself, it could have a setting like those used for NPC Faction use (Defence, Mining etc.). This is primarily for BP handling mechanics during procedural spawning. Perhaps it could be called something like “Procedural” or something.
      • Server config options ideas;
        • PROCEDURAL_STRUCTURE_SPAWN=TRUE/FALSE (NPC/Universe)
        • PROCEDURAL_STRUCTURE_SPAWN_MIN=1 (Minimum structures spawned each tick or x number of ticks)
        • PROCEDURAL_STRUCTURE_SPAWN_MAX=10(Maximum structures spawned in total)
        • PROCEDURAL_STRUCTURE_SPAWN_FACTION=TRUE/FALSE (In Faction territory only)
        • PROCEDURAL_STRUCTURE_SPAWN_FACTION_MIN=1 (Minimum structures spawned each tick or x number of ticks)
        • PROCEDURAL_STRUCTURE_SPAWN_FACTION_MAX=10(Maximum structures spawned in total)
    • Mechanics
      • Basically, the Procedural Menu TAB on the catalogue would set where, how and functions of the procedural content.
        • Where it’s allowed to spawn, planet, asteroid, station, space (as in derelict ships), a cluster (as in debris field)
        • How could be where you may want to combine additional docked entities. These additional entities could be selected from a dropdown to generate a list of what rail, rotator, turret, etc axis the entity will dock to.
        • Functions could be built in to initiate some kind of action by the entity at spawn or some timed interval after spawn. Like an explosion or jettison of an escape pod or something. True, this could be handled by logic, but random exploding section like sun damage would create completely different structures every time.
      • Allow a default Docker within the BP to be useful in spawning combined/docked structures.
        • Perhaps something new added to the BP
        • Or use and existing ID inside the BP to ID the Docker used for structure spawning. Maybe a particular flight mode slot, e.g. 1/9
      • Perhaps implement a new Spawn Logic block or use the existing Inner Ship remote to label things;
        • New Spawn block could be called something like “Spawn Structure” block or something.
        • It could have the following controls & functions
        • Identified with a label. Similar to how the Inner Ship Remote.
        • The label would also incorporate a set of tick box or dropdown options. Dropdown more practical for game expansion. Possible options could be, Ship, Turret and something else.
        • This block would be tied to a rail, rotator, turret axis, etc. using the master/slave select tools.
        • Logic control would be where you could send a pulse to the block to enact functions on the rail/axis whatever.
          • Undock (Could be useful in undocking ships or seeker torpedoes)
          • Disable/Enable BobbyAI (Could be useful for booby traps or
        • I’d suggest it being placed on the primary structure being spawned. Not sure if chained spawning would be a good idea, but up to developers really.
        • A use example would be where you could have a building spawn on a planet with a radar dish docked or maybe turrets of different types, perhaps with a randomisation option to keep players guessing.
      • NPC Faction Integration
        • Having new Procedural UI controls in the catalogue or perhaps a new UI specifically b built for NPC Faction Management
        • This would be a replacement for the existing folder locations where all the NPC faction structures are stored. It would be redundant if you simply had the same control in the Catalogue UI like what we have for permissions. Only a little more advanced with setting useful parameters to maybe override the default BP type (Defense, Mining, etc) so you can have Corvettes or fighters deploy with a mining ship without having to build a fighter BP with the Mining category.
        • Server Admin functions added into the UI
          • The Procedural settings for the server could be accessible here for immediate and easy access to server admins
          • A counter next to each BP to ID the total number spawned could be helpful.
          • Other counters and stats could be provided here for admins. I’m sure there a numerous features admins would like to have for NPC Faction control. Example;
            • Deletion of a particular Faction or all Factions and all content from server DB at the click of a button.
            • Instant generation of same content as if starting from new.
            • Implementing a new custom faction, with all other controls such as making it public to allowing players to join with a specific rank.
            • Manage deployment and resource allocation.
            • Manage NPC Faction server side settings you normally have to set from within the config file.
            • I’m sure there are loads of other functions that a server admin would like.
    I suspect there are loads of awesome ideas out in the community that could expand this suggestion and I hope it has provided Schine developers something useful and maybe new thoughts on future procedural generation within the game.
     

    Lone_Puppy

    Me, myself and I.
    Joined
    Mar 12, 2015
    Messages
    1,274
    Reaction score
    529
    • Purchased!
    • Community Content - Bronze 2
    • Legacy Citizen 8
    Wouldn'T that be an exploit giving ressources?
    I wouldn't think it would be any more than existing derelicts and asteroid respawns.
    [doublepost=1513022924,1513022348][/doublepost]I just realised you mean if the ships or whatever are non-derelict where you don't get scrap when salvaging them.
    Would that be a problem?

    Either way, finding a functioning ship or other structure would be useful and give exploring players a reward or treasure hunters something to look for.

    I would prefer a new method of salvage, where if you use a harvester it shreds the structure into scrap. But salvaging with the portable fabricator salvages the block if 100% intact or a percentage of it's components if damage, i.e. the capsules, composit and mesh that make up the block.
     
    • Like
    Reactions: NeonSturm