Sonic Fan Remix added wip version of Chemical Plant
Posted 23 March 2013 - 04:04 PM
Posted 04 April 2013 - 01:43 AM
If anyone knows what I'm on about, was there also a workaround that was ever figured out? Cheers.
Posted 08 April 2013 - 01:03 PM
I think Merc made the mistake of not simply using Update() to catch input, storing it, then dealing with the stored inputs in FixedUpdate().
That's the standard approach for handling input, and I'm quite sure Unity doesn't drop inputs between Update() calls.
He talked about a CustomInput handler, but talked about it in terms of running it inside FixedUpdate(). If it's inside FixedUpdate(), it's out of sync with Update(), and Update() is what the player sees and thus registers as "feeling laggy".
Soon I'll give this the same test I gave SFR. That is, play S2HDa in the background and compare the jumps.
Posted 10 April 2013 - 01:53 PM
All inputs should normally be managed inside an Update() method, and normally all forces should be applied inside fixedUpdate() method. In many cases you want this behavior: "When I press X, then something simple occurs". "Something simple" would be do the character execute a single movement like a punch or a kick, that will only trigger a sprite animation function. It would also works with a single force addition to that character. In those cases, we can get the inputs inside Update() and execute the animation or add that single force to the Rigidbody that is the character. But when you want to apply some kind of continuous force, like Sonic's progressive jumping, then fixedUpdate() is the choice if you want a coherent behavior. Yes, you could store a bool that contains if the user is pressing the button or not inside Update() and then checking its value inside fixedUpdate() and apply forces accordingly, but that is useless, since the game execute fixedUpdate() in a different rate than Update(). So you can get the inputs inside fixedUpdate() with the same results.
I think the delay you are talking about would be caused for one or two reasons:
- The physics timescale. By default, it is at 0.02, meaning that will be 1/0.02 = 50 fixedUpdates per second. If the game is running at 100fps, then each two screen frames would reflex one physic update. As higher physic timescale is set, higher would be the difference between the updates (more delay is appreciated).
- If you have excessive forces applying, mesh renderers with colliders and that physics stuff, it is possible that the physics engine couldn't follow the physics timescale setting in an strict way. That means that fixedUpdate() may be called “whenever as possible” and not each 0.02 seconds (by default).
I hope this has made things clear for you
Posted 12 April 2013 - 10:07 AM
2. That is possible. However, after experiencing it on my laptop I tried SFR on a friend's beast machine; no difference. This is maybe the best theory though; suggestion that something in its code was simply making FixedUpdate() take too long. People were also reporting very mixed results with SFR, so yes, quite a possibility.
As for the inputs, something like GetKeyDown() could be missed by FixedUpdate(). That one must be in Update() for accuracy.
But for GetKey(), which Merc would have been using, I'd say you're right in that it wouldn't make a difference. However it would still be wiser to use Update() and store it, purely for clarity, since getKey() does not mean "Get the state of the key"; it means "Get the state the key was in when Update() was last called, whenever that was." The user could be holding X throughout 3 FixedUpdate() calls and GetKey() will still return false if Update() still hasn't rolled around again. The results are the same, but the reason for those results is clearer if GetKey() remains in Update(). But yes, I believe it's unlikely that input delay could come from this.
Ultimately, FixedUpdate()/Update()... both should be running faster than a Megadrive on a TV.
Posted 16 September 2016 - 02:10 AM
Sega has never to my knowledge ever "banned" a fangame, and recently, the official Sonic the Hedgehog social media account even said they were cool with fangames.
I think Pelikan just got bored and moved on to other projects, namely 90's Arcade Racer.
Posted 16 September 2016 - 02:14 AM
But but Streets of Rage...
Posted 16 September 2016 - 10:20 AM