Slight rework of the Overheat and Derelict systems

    StormWing0

    Leads the Storm
    Joined
    Jun 26, 2015
    Messages
    2,126
    Reaction score
    316
    • Community Content - Bronze 1
    How about we put these two together shall we so they are both useful completely?

    I've been thinking what if the Overheated entities that normally despawn didn't just stop existing but got saved to a list of entities than respawned as a derelict type entity elsewhere in the system they died in?

    I figured this would help both with resource issues on servers that turn off asteroid respawning and also let people make one last attempt at recovering their lost stuff. Now Derelict entities need a slight rework to let us pull this off, they'l maintain their pay credits to repair and reactivate it thing but in the event someone doesn't here how you tell what they'd get depending on the block. Blocks at or above 50% HP are salvaged as normal blocks, Blocks at or above 25% HP but below 50% HP give you a mix of scrap and either raw or capsule resources that were used to make the block, anything below 25% just gives scrap.

    I figured this would both still limited people from harvesting massive amounts of blocks from pre spawned stations while also giving them at least a little for their work. Also letting someone track down lost builds for recovery. :)

    If a derelict is overheated however it just despawns outright no spawning into the system later for things that are already derelicts. :) Also anything below X mass docked to an entity that finishes overheating goes with it, let the admins of the servers determine the threshold on that. Things over that threshold are force undocked like normal. :)

    Any ideas?
     

    jayman38

    Precentor-Primus, pro-tempore
    Joined
    Jul 13, 2014
    Messages
    2,518
    Reaction score
    787
    • Purchased!
    • Thinking Positive
    • Legacy Citizen 4
    The one problem I see with derelicts being left in-game is database bloat. With every derelict, that's a new blueprint in the game until it is completely salvaged down to nothing.



    I would recommend a game function that searched for existing derelicts that closely match the the current derelict's "design" (blocks remaining, block damage, etc.) If it doesn't find a close match of a pre-existing derelict, then it creates the new derelict blueprint and resumes normally with the new derelict. On the other hand, if there is a partial match, such as 80% (server-configurable in the configs?) of the same blocks, then the non-matched blocks explode, matching blocks are matched to the HP level, and the new derelict becomes a copy of the matched derelict blueprint, to reduce database usage. Then the derelict can be removed from active memory when there are no players in proximity, as normal.

    When the copy is salvaged, it has a new over-heating timer that only starts when it is first hit with salvage or regular damage. It will continuously reset this timer as long as it is receiving some kind of damage, so as long as the timer doesn't run out, a passing player has time to salvage or shoot the whole thing. However, if they take a break from salvaging, (for instance, if they run off to the shop to sell excess blocks), and the salvaging overheating timer runs out, the remains of the derelict explode, so that the newly partially-salvaged derelict will not create a new blueprint in the database. If that is the "last" derelict using the blueprint, then the blueprint can be erased from the database, saving space.



    The problem with the overheating, partially-salvaged/damaged derelict, is that this entity will force that sector to remain loaded until the entity explodes, which may overburden the server. The timer could probably be based on the number of blocks remaining, so if it's nearly gone, the timer is shorter.



    Current derelicts in the universe should probably broadcast their sector coords to every player in that galactic neighborhood (no need to notify players in the starting galaxy that there is derelict 5 galaxies away....) like homebases are broadcast now. It may be slightly unrealistic, but it will encourage players to actively seek out and salvage derelicts, theoretically helping reduce load on the game database.
     
    • Like
    Reactions: DeepspaceMechanic
    Joined
    May 18, 2015
    Messages
    287
    Reaction score
    165
    • Purchased!
    Since ships now use reactor hp to determine when they overheat, I think the way they despawn is fine. What would be nice to add is a big, damaging explosion that is proportional to whatever reactor (and maybe weapon) blocks are left. Throw in a little bit of loot (or maybe just scrap) dispersed in the explosion radius. The loot can just disappear when the sector unloads (I'll just assume the Scavs got it).

    For derelicts, I'd just as soon not extend the horrible decayed block "system" (if you can even call it one) to ships, that was originally put in place years ago to "prevent the get-rich-quick method of stripping down space stations". I'm (naively?) hopeful that a better solution will eventually surface.

    I like the idea of getting blocks or scrap based on how damaged the blocks are. Another improvement would be to make salvaging crafted items take much longer that mining asteroids. Or maybe the salvage beam needs two modes: Normal Mining mode which is fast, but only gives you scrap from crafted blocks, and precision Salvage mode, which is slower, but reclaims the blocks intact (assuming blocks aren't too damaged).

    The problem with the overheating, partially-salvaged/damaged derelict, is that this entity will force that sector to remain loaded until the entity explodes, which may overburden the server.
    Not necessarily. Currently, overheating entities remain where they are when the sector unloads, but just stop overheating. I imagine that they could still unload, but continue counting down in a way similar to how NPC ships move while unloaded.
    Current derelicts in the universe should probably broadcast their sector coords to every player in that galactic neighborhood
    Presumably the Scanning system will eventually be more functional and players can use it to detect all manner of things. I would not go preemptively broadcasting ship locations to the players unless they had a "Continuous Long Range Scan" chamber upgrade. Also, how are ships being identified as derelict anyway? Aren't the stations only "derelict" because it's just part of their name?
    [doublepost=1537576040,1537575104][/doublepost]I answered my own question about identifying derelicts by re-reading the OP :oops:

    Regarding derelict type entities, the idea sounds OK, but I would get rid of the "pay to repair" part, and just have it base on block HP percentage. The whole pay to repair a "decayed" station was a quick and dirty solution to a larger problem, and, as I said, I wouldn't want it extended further. Ships should be repaired in shipyards, and stations need the yet-to-be-invented Automous Astrotech Repair Drone (or a fleet of them).