Thank you all so much for your continued support, I couldn’t do this without you!
Hope you enjoy the update and as usual, report and issues or ideas you have!
good job man, you are doing really hard work to make Roblox new physics, my game that is using your time scale module will be improved a lot because of you
Sorry for the quick update straight after the last but there are some big backend changes to the framework. These include:
Added a settings to toggle for if BasePart should be an affected instance.
Documentation is now included in the original post.
Optimised changing time scale even further.
Organised code to make future updates easier.
Started on animation fixes. Still needs loads of work however.
Coming Soon
Going to look into working on the animation system more to get that fixed up if possible. If anyone can help with scaling animation with time then please feel free to send me a message, any help is greatly appreciated!
Finishing Up
Hopefully this update will help those who have been facing small amounts of lag when toggling the time scale. Thank you all and stay tuned for more updates!
Another quick little update to fix some bugs from the previous release as well as bringing some overall improvements to the framework.
Improvements
Here’s the release notes for this update:
Fixed some physics errors.
General bug fixes.
Improved code organisation for future updates.
Improved compatibility with existing games.
Improved overall performance.
Removed some no longer needed code.
Finishing Up
Thank you all for supporting me throughout working on this, I hope it has come in handy to many of you & I can’t wait to see how much more I can do with this in the future!
This update adds proper animation support with bugs fixed from the previous implementation now in place. Let me know if there’s anything else I need to change or fix with it going forwards.
API Rework
This version includes a major rework to APIs and where they are located. This will require subtle changes to code for where it refers to objects. This is to make future updates easier and work better with existing projects. There will now be 2 folders. One in ReplicatedStorage and one in ServerStorage.
The APIs have also been expanded allowing for more functionality and easier developing. The documentation in the original post has also been update accordingly.
Changes
Changes to the framework to help make it a more well rounded tool for developers to use. These are the following:
Added proper animation support. This will support Humanoid and AnimationController for the time being but please know that these methods have been deprecated and should not be used. Please use Animators instead. Also note that the BoolValue system for identifying animators which should appear normal in slowed time will be replaced with an attributes system once those are released.
Changed up the APIs. Please refer to the documentation in the original post to see what has changed.
Finishing Up
Cheers all once again for the support, sorry for the rapid number of updates lately, shouldn’t be a need to update for a little while now until Roblox pushes out some new updates. Thank you all so much for you support throughout this project and hope it has been of use to you! More coming in the future!
this is great, the animation support is fixed, now we don’t have to worry about your movement slowed down then revert to default at a randomized time, this update reduced the chance of your movement slowed down when activating the ability by 90% (this bug still occur but now it’s rare), despite the rare chance of movement slowed down while the ability is activated, everything else is doing GREAT!
I would love to see more stuff and features that you added to the framework
oh and i need the CPU and GPU tracker again, this is important so we can track if the ability or the environment will affect the rendering, FPS and much more stuff
Hello, you can find the CPU and GPU tracker can be found here. I removed it from the demonstration place to simplify the place for developers to breakdown easier.
Didn’t take too long for the new feature I was hoping for to come out.
Attributes
Hello all, just letting you know that this is only a minor update that changes the old value system over to the new attributes system. This update is a drag and drop one where you can just replace the old time scale framework folder with this one and nothing on your end should change.
Finishing Up
Thank you all for your continued support with this framework! This is just a small mostly optional update to bring the framework up to speed with the latest from Roblox to stay ahead of the curve.
Will there be support for tweens? I know how hard it is trying to make it compatible with tweens but hopefully Roblox has something to slow down tweens like a property of tween service.Something like this;
local TweenService = game:GetService("TweenService")
TweenService:GetTweensPlaying()--something like this since we will be able to do for loops with it.
Unfortunately I don’t think an API like that exists at the moment. It would need to be up to the developer at the moment to implement this feature. I can look at making a custom TweenService that developers can use which is integrated into the framework. Sounds like a fantastic suggestion which I will look into!
Had some ideas and I think to start with I might make a simpler wrapper that handles scaling tweens with the time scale framework for you, but I’d be happy to expand it into a more fully featured system in the future.
Many thanks for the offer to help, let me know if you get something working!
This update has API changes that you will need to account for. These changes have been made so that the APIs can be more streamlined going forwards.
This update makes large structural changes to the framework so let me know ASAP if anything is broken!
I have also made some progress on multiplayer which gets a big rework in this update to help improve its stability and functionality. I still do not recommend using multiplayer in public projects JUST yet though.
Changes
General bug fixes.
Improved ability to adapt to live tag changes.
Improved framework organisation/structure.
Improved multiplayer.
Improved performance.
Improved physics simulation with bounces.
Moved ServerScriptService/TimeScaleFramework/Functions/ToggleSpeed to ServerStorage/TimeScaleFramework/ToggleSpeed.
Removed unused code.
Coming Soon
Multiplayer is getting close to being stable enough for use in a public environment so that will soon be stable enough to be recommended for use if you wish! Please report any issues you have with it to me so that they can be worked on before its next update.
I’m also currently working on a custom tween service to allow tweens to be used with this framework to allow for even more possibilities. No estimated date as to when this should release however I will try to get it in for the next release.
Finishing Up
Thank you all so much for all of your amazing ideas and support! Please be sure to let me know if there’s any other changes you would like made!
Animators will now require the TimeScaleWhitelist tag. This was not required before this update.
This is just a quick little update to the framework which focuses on animations.
Changes
Added ability to toggle animations (Was not functional before & is now available in settings).
Fixed animation bugs.
Improved animation transition performance.
Finishing Up
Sorry about the quick release although I wanted to fix the long standing animation bugs quickly.
I figured out a way to make a scaling tween and make the TweenService:GetTweensPlaying() but I have been thinking making some like this:
TweenService:GetTweensPlaying(-- the instance, -- and the tween) --(use for loops with workspace parts to before I thought just getting the tweens with the api service but I would just test out both
This update has changes that you will likely need to account for.
This has been a long time in the making & brings a massive overhaul to the entire framework which drastically improves flexibility, physics & so much more… Massive thank you to those who have been messaging me with your ideas and helping out the past months I’ve been working on this update!
Changes
Added ability for TimeScaleUtilities to work from the client.
Added Attribute: ReplicatedStorage/TimeScaleFramework/TimeScale to allow for easy access to the TimeScale value from anywhere.
ServerStorage/TimeScaleFramework/IsTimeScaleSlowed - To mimic old behaviour, change to ReplicatedStorage.TimeScaleFramework:GetAttribute("TimeScale") ~= 1.
ServerStorage/TimeScaleFramework/ToggleTimeScale - To mimic old behaviour, set the TimeScale attribute on ServerScriptService.TimeScaleFramework.
Removed RemoteFunctions:
ReplicatedStorage/TimeScaleFramework/IsTimeScaleSlowed - To mimic old behaviour, change to ReplicatedStorage.TimeScaleFramework:GetAttribute("TimeScale") ~= 1.
Removed settings module.
Finishing Up
Tweens are on the way, they just need some more work. This update will greatly help with the development of tween support so more information soon hopefully!
As always, thank you all so much for supporting this project of mine & I hope to do more work on this in the future!
This update has changes that you will likely need to account for.
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
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
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!