Time Scale Framework

V3 Update 1 :loudspeaker:

Summary :zap:

:warning: This update has changes that you will likely need to account for. :warning:
Apologies for any inconvenience in releasing V3 so soon after V2, this brings large changes that have been in the works for a while including important multiplayer fixes & internal changes to the framework to help clear up the code & make it easier to work with in the future.

Changes :hammer_and_wrench:

  • Fixed multiplayer bugs.
  • Improved framework structure.
  • Improved performance.
  • Removed BindableFunctions:
    • ServerStorage/TimeScaleFramework/GetSpeedTimePlayers - To mimic old behaviour, replacement code can be found in the demo game in the “Game” script in ServerScriptService.
    • ServerStorage/TimeScaleFramework/GetTimeScale - To mimic old behaviour, change to ServerStorage.TimeScaleFramework:GetAttribute("TimeScale").
  • Removed ServerStorage “TimeScaleFramework” folder as it is no longer needed.
  • Removed SlowedTimeScale attribute as it is only used in the demo and is not used in the framework itself. You can now edit SlowedTimeScale as a variable in the Game script.
  • Removed TimeScaleFramework folder from ReplicatedStorage as it is no longer needed.
  • Removed TimeScale attribute from TimeScaleFramework folder in ServerScriptService.
  • The TimeScale attribute can now be set from TimeScaleUtilities in ReplicatedStorage.

Finishing Up :wave:

Massive thanks to everyone who supports me with this project. I couldn’t do this without your support!
Be sure to let me know of any ideas & issues you have so I can continue to improve!

1 Like

V3 Update 2 :loudspeaker:

Summary :zap:

This release includes more humanoid bug fixes, bug fixes for gravity when in time scale & performance improvements.

Changes :hammer_and_wrench:

  • Fixed bugs when changing time scale between lots of different values.
  • Fixed gravity when in time scale.
  • Improved handling of removing parts from time scale mid use.
  • Improved performance.
  • Removed TimeScaleIsInSpeed attribute from Humanoids - To mimic old behaviour, set TimeScaleWhitelist tag instead as needed.

Finishing Up :wave:

Thanks to all of you supporting my work on this project! Appreciate all of the feedback I get with each version. I look forwards to more providing you all with more updates soon.

1 Like

You pushed these updates multiple times in quite a short time, you did it all just for us to use them for our projects, big pleasure to you for helping the community, i see people just abandon their project because its old, but you seem to be doing the opposite, im hoping to see more updates coming soon :eyes:

1 Like

Don’t know if it’s possible for this model, but if yes, then it would be nice to have this on GitHub, I usually like to go over DevForum resources through mobile, and it’s impossible to see how something works with a Roblox model, having a repo on GitHub allows that, has nice statistics to look into, nice way to report issues, and a nice way to contribute / get contributed. I think you might enjoy using it going forwards.

1 Like

A GitHub is now available so you can work with the code here. I haven’t worked much with Roblox files on GitHub before so there may be some changes I need to make but all the source code should be there for everyone to view and work on.

1 Like

V3 Update 3 :loudspeaker:

Summary :zap:

Only a small release to improve the animation tracker. Just a drag & drop update with no extra changes required.

Changes :hammer_and_wrench:

  • Changed internal layout.
  • Improved AnimationTracker.

Finishing Up :wave:

Massive thanks to @LucasMZ_RBX for helping to setting up the GitHub.
Thank you all for supporting this project & I look to release larger updates in the future with hopes of brining tweening support soon to allow for even more creations using this framework! :grinning_face_with_smiling_eyes:

2 Likes

I was about to use this for a game… but i realized 2 bugs:

  1. A Humanoid character model that is affected by the time slow will fly up (Sometimes when the timeslow is turned off). Even unanchored Baseparts will be affected by this bug as there is a chance that they will also fly up.

  2. A ParticleEmitter’s TimeScale property (Once time slow is over) doesnt change or doesnt go back to normal. I checked the ParticleEmitter and I saw that regardless of the set time scale, The ParticleEmitter’s time scale property will always stay the same as it was when time is slowed down. To fix it, I had to add in an extra check for any ParticleEmitter that are affected by the TimeScale and make sure that the time scale is set to 1 when TimeSlow is over.

Hello & thank you for notifying me of these issues,

I’m investigating the issues you have reported & unfortunately I haven’t yet been able to reproduce the issues described in your post.

I have experienced issues with parts flying upwards in the past though I believe I have addressed this issue in the past. If you are able to get steps to reproduce these issues & DM them to me; that would be most appreciated.

I’ll keep a lookout for these issues while working on the new version which can be found on the GitHub page here. However there is a large number of changes pending release which may have resolved the issue already.

Thank you again for your feedback & I will do my best to rectify the issues described.

Uhh, its rather simple. What i did is that, I got a health dummy (To test damage on) and the timescale i set for the game when time slow is activated is 10. When that happens its either:

  1. During Time Slow, The dummy will fly up and when time slow is deactivated it never falls down.

  2. When time slow is deactivated, gravityForces (The things the module made) will still be there causing the dummy to fly up.

For the particle Emitter, I really dont know. But it sure is isnt random. It happens all the time and i had to hard code it to return to its normal timescale (Which is 1)

Is it because:

  1. I set the timescale too high (If so, tell me why)

  2. It’s a bug that has been laying around.

I can always send you the place file, In it you can see the scripts.

1 Like

Thanks for the details!

I’ll look around for issues to do with those points & a place file would be greatly appreciated!

The time scale framework is not that good. it still has problem dealing with low mass parts. I would only use this for effects…

Hello there!

I’ll take a look into the issue with low mass parts you being up here. I understand this framework can be quirky here & there but I am working hard to get it working perfectly so everyone is able to drop it in their game with minimal development time added.
There’s an update I’m currently working on which changes up the physics system a little so I’ll see if the issue is already resolved on there too.

Thank you!

Quick update all, I won’t be able to post updates for this anymore as my account has been terminated for scamming???
I am looking to get my account reinstated but have been unsuccessful with Roblox appeals.
I will do my best to finish the update in the works on GitHub although without studio I can’t make any promises.
Thank you all so much for your support while I got to work on this!

1 Like

Hope you get your account back, project looks really cool.

Thank you!
I did eventually manage to get my account back in the end thankfully so I can continue to support this project! :grin:

1 Like

Question, does this slow down velocity of objects? Because I am using ApplyImpulse() for some of my game objects.

Thanks my dude!

Hello,

This framework does slow down the velocity of objects although I haven’t tested it with ApplyImpulse so I’m not sure as to how it will react. You are more than welcome to try it out a let me know if there’s any changes that need to be made to try and support this use case.

Thank you!

1 Like

Got it! My last question before I leave you :sweat: is all the slowing down done on Server? Because I would like to use this for a singleplayer game, is there anything I need to keep in mind before converting your framework to local?

No worries about the questions, best to post them here so other people know what they’re getting into with this. :slight_smile:

To answer your question, yes this is a server sided system and converting it to local will cause a desync between the clients and the server. If you’re working on a singleplayer game you’d be best to keep it server sided and set the server max player count to 1.

Hope this helps answer your question! :smiley:

1 Like

Sorry for reviving this post, I have to say this module is quite amazing, I’m currently trying to use this for a game mechanic on my project which is a multiplayer game, I noticed this module affects the whole game, is there a way this can be used on a radius/area around the player who activates it? (so instead of affecting the whole workspace, it only affects objects in the radius of the player) Or does that means I would have to do some little rescript to it? Still thank you for providing such good quality module! And sorry if my question seems a bit dumb, I’m not used to frameworks yet lol