Offering 100k Robux for difficult bug/problem resolution and fix

Hi, I’m working on a racing game and there’s a really horrible problem with items and objects not disappearing when they’re meant to. Sometimes they will stick around after they’re supposed to be deleted from 1 - 30 seconds or so. Sometimes the problem won’t happen at all, and some people say they don’t see the problem playing on their computer, ever. I’ve seen the problem happen on 6 different computers, under several different internets aswell. Me and several scripters, including recently Echoreaper have spent very much time trying to figure out the exact cause or to try and replicate the issue consistently, but it seems to occur very randomly and thus is a very annoying illogical problem. The issue happens with objects that you drop, collect, hit or use. Also, it would seem that sometimes while items are staying behind post mortem, new items also cease to appear. All of this only pertains to actually seeing or not seeing the items. They are still physically there, as I can run into items that are falsely invisible and get damaged by them, and I am also unable to hit items that are falsely staying visible.
Different scripters I’ve talked to have told me it seems like a replication problem, a rendering problem, a data sending/overflow problem, or that it’s simply not fixable because it’s ‘the way Roblox is’. I’m really desperate to get this problem fixed, whether it’s finding some line in the code that’s causing it, or it’s something on Roblox’s side that would require re writing the way my game functions (which would be a heavy task). I’m offering 100k Robux, in the form of Robux, or Paypal, if the problem is fixed. I really need to get the game done soon though, so I need someone who can work diligently…

Anyways if you are interested please PM me or add me on skype, my username is fatherrage (I have a blue DNA icon). I’ll post on this thread once I have someone secured for the task. Thanks for reading

2 Likes

I’ve run into the same exact problem on VOLT, a recent Tron game I’ve released with @badcc. We both believe it’s a rendering bug. Our problem isn’t the maps disappearing though, it’s the trails from bikes. It seems sloppy connections or computers have the problem worse. We’ve watched people play the game on Youtube and anybody with a nice computer doesn’t even have a hint of the problem.

You should find out if players are able to walk through the maps that aren’t being removed. If your problem is the same as ours, they will be able to walk through everything. The parts and everything aren’t actually there, they just appear to be.

I could be wrong, but it does seem the parts do eventually disappear. The speed that happens though will vary between computers.

Last I checked we were going to bug somebody at Roblox on here through a private message and figure out a way around it, or at least get it reported and fixed. Let us know if you find any fixes. We’re interested.

1 Like

“Last I checked we were going to bug somebody at Roblox on here through a
private message and figure out a way around it, or at least get it
reported and fixed. Let us know if you find any fixes. We’re interested.”

Sadly, tried already. The great bear riding god was not favorable towards assisting, and delayed greatly his agreement to attend.

As for the bug, it is definitely not having too much processing tied to RenderStepped, Echo mentioned that it could be it, so I moved almost all the processing to Heartbeat, and it didn’t change it at all noticeably.

If it helps as well, the parts aren’t in Workspace at all anymore, just their rendered “ghost” is, also in-case it’s correlated, the game uses custom characters.

1 Like

Try parenting the object to lighting or something instead. Maybe it is a roblox bug and some weird engine code isn’t letting the object be removed. If it’s not a data sending problem and you can still make changes to the object, taking it off screen by parenting it out of workspace and then destroying it should do the job.

Actually I just re-read your issue and you’re saying that object you are spawning in are also not being rendered. So I guess this wouldn’t solve your issue. I still think you should try it for removing items though.

Here is a possibly related issue, which only seems happen on a bit lower of a graphics level from max
https://youtu.be/eMsQ-OUuYK0

You’ll notice the ship disappears and re-appears randomly. I think its something to do with render distance and the character, except I don’t use characters, so I am not entirely sure.

Yes Asimo, as I said in the post, the fake ghost items are walk-throughable. Also, I was testing on studio and found out something very interesting. I tested for about half an hour, I lagged my game so I experienced the rendering issue greatly, and consistently saw the problem. When I see that items are staying behind, I bring my mouse cursor out to other windows in studio like properties, or into other tabs like my windows task bar or calender and clicked once, and every single time, this eliminated the fake items. They would vanish immediately. Every time. It’s strange bug true.

Are all cases of this problem using Custom Characters? There might be an issue with rendering if the Character is nil?

This issue only happened to me when I was displaying too many unions on a players screen. Odd behavior such as clothing not updating, or ghost parts were present (players resetting, unions that were destroyed, etc).

Merely not using these unions fixed the problem. A sacrifice.

1 Like

Shard Seekers RPG was having a lot of problems with ghost parts and graphics not updating. I fixed the ghost part problem by setting the cframe of parts to CFrame.new(0/0, 0/0, 0/0) and waiting a renderstep before destroying them.
Without this I would get floating ghost faces when someone turned away, because it would destroy the face but the graphics would stick around.

I fixed the missing part problem by removing the humanoids I used for shadows. Graphical problems used to happen when there are lots of characters on screen, but it’s mostly fine now.


… Although sometimes decals don’t update when I change to the blink texture and back:

When I used humanoids for shadows, sometimes people would turn into demons o_o and adding a part would refresh the graphics and fix it.

Independent pupils are definitely worth the occasional glitch though

4 Likes

Thanks for the insight. I was thinking of changing the position of the parts and then deleting as well, if I can’t figure out how to address the root of the glitch

Corecii is accepting the offer, he’ll be receiving the place and taking a crack at the issue. I’ll update here if it couldn’t be fixed by him

Confirmed

( http://devforum.roblox.com/t/200k-robux-for-fixing-numerous-bugs-in-game/27366/1 )
@Corecii/@Vurse
What was the solution to the rendering issue? I’m noticing that with about 800 unions and 200 parts, things are staying for a short time after they’re destroyed and are overlapping with things that are created and rendered after destroyed is called but before the object disappears.

Well… For us, our solution was replacing a weld with a motor6D on the kart hitbox. It was a very ugly noticeable problem for many computers, and that ended up being the solution…

Using a weld was also the cause of the rendering issue? I guess my rendering problem is unrelated then.

I’d like to add on a bit about how we discovered the issue and where I think it originates:

The bug: Unions, on certain computers, can sometimes take more than 10 seconds to disappear or appear when destroyed or added to Workspace. Their instances are no longer in the object tree, physics are not calculated for them, but they are rendered.

How we fixed the bug

The first theory I had for the cause of the bug was that it related to some internal rendering update system that devs were not given direct access to. I still hold this theory to be the likely one after reading about clusters. Fitting this was that the CTRL+ALT+F6 menu showed updateInvalidatedClusters with a high value.

Before fiddling with the game itself I wanted to create a sort of ‘bug repro’ for it. I was able to achieve almost the exact same effect by setting CFrame/Transparency for thousands of parts per frame at this place. I happen to have a computer where the bug in the game does not happen, but by setting the CFrame/Transparencies of thousands of parts per frame I was able to activate it, which fits perfectly with how clusters can have different limits on different computers.

In my quest to fix the bug I tried lowering how often the CFrame property was being set by making the custom animations of parts at a distance update less often. That didn’t work, so I disabled all of the custom animations completely, and the bug didn’t go away!

The last part of our troubleshooting involved deleting scripts after the bug happened until the bug disappeared. We continued deleting or disabling sections until we found a single line:

HitboxWeld.C1 = HitboxWeld.C1:lerp(DesiredAngle,KartAngleTween)

Changing HitboxWeld into a Motor6D fixed the issue almost entirely. The issue still shows up every once-in-a-while, but generally for a second or less. My guess is that, now, it is being caused by the custom animations which set the CFrame property of a lot of parts every frame. The solution I implemented for this, rather than rewrite all of the custom animations, was to simply set the CFrame of the union that is begin destroyed to (0, -50, 0), then wait a frame to destroy it, which makes it disappear instantly.

An extra note: This wasn’t a network bug: those custom animations are all client-side and the game is FilteringEnabled.

What you need to know

First, read through these posts by staff members about clusters. (I linked to this earlier)

If you’re having this issue then look at how often the CFrame, C0, and C1 properties change and of what objects by ClassName. You might also want to check into how often Transparency, Reflectance and other rendering properties change as they can cause the issue to. CFrame is handled differently from Transparency/other properties in terms of cluster updates. Also check how often you are adding/removing unions: Lots of adding or removing causes this effect too. You can check all of these with game.ItemChanged, game.DescendantAdded, and game.DescendantRemoving.

I’ve written a little snippet exactly for this purpose:

Welds should only be used for static joints. Motor6Ds should be used for dynamically animated joints. Be careful how often you set properties that affect rendering: too many at once can cause updates to be delayed, including adding/removing unions and possibly other parts (I haven’t checked).


I think giving devs more tools to debug these sort of issues would be excellent. Having stats about how many queued cluster updates there are, what’s causing them, and maybe even emulating update limits of other, less powerful computers would help.

2 Likes

This one wouldn’t have helped in this case, but it’s geared towards debugging deep-rooted issues: Debugging tool: track what's modifying objects and properties

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.