I could not decide a good category for this Post.
Topic: Android, Engine
My question is.
Is this engine very good for Rhythm games, for very low latency (frame time to sleep time) comparison like osu! ?
I’ve seen at least a few rhythm games created using Solar2D, but I can’t remember their names.
Whether or not Solar2D is a good engine for rhythm games and whether your game will run smoothly will depend entirely on how experienced you are as a developer and how you program your game.
If you know what you are doing, then it should be fairly easy to create optimised code that’ll run smoothly.
Framepacing is generally quite poor from our experience. This is particularly evident on pc builds but we have made a fairly detailed scroller game on s2d which we published on all platforms and even at a stable fps, there’s considerable microstutter on all platforms
We had brought this up to Rob who managed the community during the Corona days and going by his response at that time, it does not seem like that is being actively worked on.
Other users were able to confirm this issue and it’s probably down to timer precision issues and render pipeline management.
One possible “fix” is to used fixed time steps based on avg fps which definitely made things appear smoother but if your fps is not extremely stable this may not work.
Not the most technical answer you will get but only replying to caution you that it could be a problem given your game’s concept
Yeah, you’ll almost definitely want to use delta time since the time between frames can fluctuate.
Using the built-in timer to trigger events in (rhythm) games that require precision isn’t advised given that it runs once a frame and checks if “more than the specified amount of time” has passed, which means that if you had 0.1ms left on a timer, it would wait until the next frame to trigger, at which point it’d be around 16-17ms late.
However, I don’t know of a single rhythm game that requires precision down to ~20 milliseconds. Most games tend to also have a grace period which means that events can happen slightly before and after the “actual time.”
But yeah, these are all good points to consider.
You can look at our game osudroid. We would probably like to switch to Solar Engine. Because AndEngine is no longer supported for a very very long time.