Closed CoasterBlock closed 3 weeks ago
@CoasterBlock Hi, can you send me your character save and your blueprint? Thanks
Bug Report, Missing Hinges.zip
@tsunamayo I included a blueprint where I noticed this issue before. I copied out the broken CE's to a smaller ship. I dont have the original character and world-file anymore. I ended up making a new one and verified all my game files. Sorry about that :(
I also have been experiencing this same issue, including the random lag in a specific direction. Usually it occurs after quitting and relaunching a world.
The entities that seem most affected in my case are copy-pasted elevators and other internal features. Turrets, doors and exterior details seem to be less affected.
I think I've managed to find a method to reproduce this bug. I've done several tests, some of them are a bit more reliable than others, but they've almost all resulted in disappearing CE's.
I think I've managed to narrow down the reason slightly, I don't think this bug is caused by manually saving the blueprint or by anything related to copy-paste, as I've performed these tests with and without using either and the results were the same. Also of note: many of these tests use a lot of CE's, but I am 100% positive the bug isn't related to the quantity of CE's as I've had a blueprint with only 20-30 mess up before. The large quantities just make it happen more reliably.
Essentially, I've just put a ton of CE's onto a slab in different ways and exited the game right after. It works almost every time. I tested whether the issue was long CE chains by doing both single CE's without any grandchildren and longer chains of 4-5. Also, there was a single test where I manually placed down (without copy-paste) 256 pistons on a 4x4 slab and still had issues. I've tested mostly with both pistons and hinges, and pistons seem to bug out more often. I also considered doing a test with several hundred blueprints with only a few CE's on them, but that's way too time-consuming lol. Anyway, I'll share some tests that can be performed to reliably reproduce this bug. All of the following tests contain 1536 CE's.
Step 1: Place down a simple slab
Step 2: Place a stack of 5-6 pistons on the slab
Step 3: Copy-paste (or place individually if you're feeling spicy) the stack onto the rest of the slab
Step 4: Exit to desktop and restart the game. There should be several missing or bugged pistons. If not, try restarting the game several times, and it should work.
Not sure if it's necessary, but here's the player log of this exact test: Player.log
Funnily enough, doing an additional restart will exacerbate the problem:
This test was the same as the previous, except I removed all CE chains and placed all pistons on the main entity. I won't go through the process again, but here are the results:
Interestingly, I found hinges to be a bit more agreeable than pistons, counter to what CoasterBlock said. I often had to do several restarts before the bug showed up.
~~
I performed some of these tests with rails and rotators too, and found that they are similarly affected.
Final note: the blueprint is completely overwritten without any input from the player, at least in regard to these CE's. Despawning and respawning the same blueprint will cause it to spawn in with the bugged CE's instead of the original blueprint, even if it hasn't been saved in the bugged state.
Hi, I gave the repro steps a try on the default branch, 24w15a.
The first time, with a 10x10x5 cube of pistons (2m blocks), the entities were all present after a restart.
Thinking that perhaps it's a quantity issue, I tried again with a 16x16x16 cube of pistons (1m blocks). After a restart, a few of the pistons started disappearing:
And after every restart thereafter, another piston goes missing. Interestingly enough, the original box of 10x10x5 never loses a piston. Perhaps it's a limit per ship?
Actually, it gets even more confusing. Many restarts later, it's actually a different combination of pistons that go missing, and some of the missing ones come back:
Here's the world save for convenience:
And maybe the log?
I also have been experiencing this same issue, including the random lag in a specific direction. Usually it occurs after quitting and relaunching a world.
The entities that seem most affected in my case are copy-pasted elevators and other internal features. Turrets, doors and exterior details seem to be less affected.
Hi, so the lag was a different issue and was fixed already (patch is live). Thanks
@Dolan-online @CoasterBlock @asanagisae Hi, I am not sure on why this happens, but I was planning on updating the way CE are stored in the blueprint definition. It is a bigger dev though so you will have to wait a bit (as I need to convert existing blueprint format to a newer one)!
I just wanted to follow up on this issue. I understand that changing the way blueprints work is complex and takes a significant amount of time, both in designing it and testing it. Has there been any movement on this front?
I ran into this issue again in 24w20b, but on a smaller ship. One of the strengths of Starship EVO over the leading competitor is the way the game handles child entities, specifically the ability to support large numbers of them on a single ship without significant performance drops. The opportunities are boundless when using this technique to the fullest, but conversely it's a serious issue if the game randomly deletes a hinge or rotor without warning.
This limitation is understandable on complex ships with hundreds of hinges and rotors. However, the ship I was building is under 30m long, with only 61 child entities in total (and many more still in the plans). One of the main VTOLs disappeared on world load. Sometimes the rotor and all CE's are gone, sometimes the rotor base is there but the CE's aren't (pictured).
The rotor that was deleted was 3rd in the hierarchy. At this point in this chain, none of the CE's have siblings (except ones directly attached to the ship's root). All 4 VTOLs have the same setup, but only 1 was deleted by the bug. Parent > hinge > hinge > rotor (the one that disappeared) > hinge > ....
I was able to load and fix this BP in another world. In this other world, the ship does not exhibit the disappearing CE issue. The fixed BP, spawned back in the original world, no longer exhibits the issue.
As more players become comfortable with the game, I could see them reaching and surpassing this level of complexity rather quickly. It'll become a growing concern, causing many to go on indefinite breaks from the game.
I found some reproduction steps. I don't know if this is related, but it seems moderately repeatable (2 of 2 attempts). This will make a child entity disappear during a play session. The entity will return after restarting the game (2 of 2 times).
https://github.com/tsunamayo/Starship-EVO/assets/10069469/bd081e32-781e-4df3-9286-050e7666249d
Perhaps you could try the same in your development environment, while using a debugger or watching some variables?
The disappearing CE issue discussed in this thread is sometimes session-dependent: that is, on some sessions some CE's will be gone, but in other sessions a different combination of CE's will be gone. That behavior seems similar to this, in that disappearing CE's can return.
I also encountered this issue. I have nothing more to contribute. I can only express that this is crippling for people doing large builds. @tsunamayo Is there a fix in the works for this, have you been able to recreate it?
@tsunamayo I ran into the issue again, this time on the mech preview branch. The mech on the left should look like the mech on the right - the monowheel is missing. It remained missing after a restart of the game. When I spawn the mech from a fresh starter block, the monowheel is still missing. The monowheel was present and functioning when I saved the blueprint last, and there was no indication that it would be missing now. This build only has 19 child entities (plus the 2 that were deleted by the bug).
The missing mechanisms were rotors at 1/4 scale.
Ships with at least 19 mechanisms are rather common, with the average mechanisms-per-ship count increasing as players build more mechs. Highly destructive bugs such as this that can affect a large percentage of the user base really should be prioritized much higher.
I will attach the blueprint, which should be from the session before with the monowheel present.
Was the video I posted earlier (on June 3) able to help identify when a particular entity disappears while the game is running?
Worth noting: In my bug test world (a few messages higher in this issue), I had noticed that the pattern of missing pistons would usually be the same set as the last session, plus possibly one or two more. On a very infrequent basis (maybe one in 8-10 restarts?) the set of missing pistons was entirely different from previous sessions. Perhaps with sufficient restarts and a sufficient number of attempts, the blueprint may be able to render the missing monowheel.
This happened to me the other day too, I lost a hinge on an 150m ship with 200ish CEs. It's kinda scary it can happen to any ship without warning, and with no way of rolling it back!
I had a thought. The mechanisms that disappeared in my builds were flush with other blocks. Perhaps, due to rounding errors, blocks were being pushed into nearby blocks and causing them to not render due to collisions.
A new test of 16x16x16 1m pistons, split 1m apart from each other:
The session immediately after:
So it appears that it was not the case. The blocks around the mechanism do not affect whether it disappears, and it's not related to collisions.
The orange box in the previous screenshots (500 pistons) seemed to never lose any CE's during all of my testing. I thought it odd, then realized that I had linked every piston to a switch.
So I spawned in a copy of the orange box and removed the switch (right). I also started on a new box (yellow and violet, 1024 pistons), linking every piston by hand to a switch. The orange boxes and the new yellow/violet box are all 2m scale, which is also different from the previous boxes (which were 1m scale).
Here is the resulting session after reloading the game:
Even the original, untouchable orange box has started losing CE's. The copied orange box lost CE's. The new yellow violet box lost CE's.
So it appears that the scale of the mechanisms is not a factor, and having them linked to some logic element is not a workaround.
The CE lost in the new box is actually fairly far down - it's not just losing the piston head.
@ProPeach had an interesting idea. Perhaps the blueprints from before and after the lost CE's may differ.
The saved blueprint immediately after building, during the first session while all blocks were visible:
Saving the blueprint from the ship again in a later session, after many of the pistons had gone missing:
This latest version of the black and white box had lost quite a few pistons:
25 columns out of 256 had lost pistons. That's 10% of the build affected by the bug in just 3 play sessions....
If the .sevo file is compressed by some algorithm, then it is possible that less original data may result in a bigger file if the compression is less efficient. I'm not sure if any conclusions can be drawn from this observation.
I tried to respawn the original blueprint for comparison (taken before any corruption).
The .sevobu of the original (bottom) ends up with a completely different set of missing pistons compared to the .sevo of the original (left):
The original and backup files are in the blueprint zip:
This could be a file read issue, as the missing pistons in the backup are now present in the current copy of the blueprint.
Are the .sevo and .sevobu files copied directly from the files in the world's PlayerEntity folder?
@Regnion @ProPeach @asanagisae @CoasterBlock Issue fixed for 24w26a. Sorry I just didnt saw the ping and update, when there is something really blocking / urgent you want me to see and fix asap it is better to book a new case!
Cheers
Short Description of the issue:
After loading a ship with many child entities, and restaring the game, many child entities will have dissapeared. At the same time, massive amounts of frame-rate lag will also be present when looking in a specific direction in space.
Steps to reproduce the issue:
Build a ship with many child entities Save it as a ship Stop the game Reopen the game and load the world The ship should have lost some of its child entities. The game should also be lagging immensly when looking at the ship, having filled all GPU memory. (Usage went from 30% to 95%)
Respawning the ship does not work. It will still be missing the parts.
Environment
Additional information:
This bug does not concern a particular design, it affects all ships I made, both new and old. The bluerpint itself is also broken, the ship cannot be repaired by respawning it. If you try to respawn the ship, the game will lag incredibly, filling up the entirety of VRAM. The CE's that where missing before, are also missing in the respawned version.
EDIT 1: The only way to recover the ship is by using a backup made before the game was fully restarted or closed. Including, before steam was entirely restarted. I had to load a backup of my ship I made the evening before and that is located on a different drive in a specific directory as a .zip file.
EDIT 2: This seems to affect child entities that involve hinges. In all my blueprints that where damaged, the hinge was either missing completely or, had the the moving part of the hinge deleted.
EDIT 3: The game seems to delete the CE's both in the game-world AND in the files. AFTER the game was restarted. The blueprint in the game folder itself will also be corrupted.
Player Log:
Player.log
Screenshots
In both cases, the blueprint lags incredibly.