News:

Herr Otto Partz says you're all nothing but pipsqueaks!

Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Cas

#391
Chat - Misc / Re: Association game
April 27, 2023, 02:35:17 AM
Apes
#392
Competition 2023 / Re: Unstable replays at ZakStunts
April 23, 2023, 04:56:20 PM
@Duplode, of course I wouldn't request pipsqueaks to have to go through so much struggle or make them responsible for so many safety measures. These are recommendations in case you're worried that your replay may be unstable and you feel you want to make sure you're not working on something that will later bring problems. Something for people to do when they want it, not as a request.

For instance, I imagine maybe some of us have DOSBox configured by default at low cycles and changing this is a very simple thing you have to only do once and might help, so why not?  Not that it is required.
#393
Stunts Forum & Portal / Re: Forum language options
April 23, 2023, 04:49:01 PM
I just thought the joke was genius and didn't know what to add to keep it rolling :P
#394
Competition 2023 / Re: Unstable replays at ZakStunts
April 23, 2023, 07:05:08 AM
If it weren't that different computers and set ups can result in different time-lines, I would say first load from Options and if that fails, hand to the pipsqueak the responsibility of providing instructions that work in replaying successfully, but this might not work for everyone. I'm therefore willing to support any educated decision the community makes here and if tied, I'll just pick a choice :P

While all this research helps much more to understand how things work than to prevent or fix unstable replays, I still think it's immensely valuable and I think we should continue adding to it all we have and I agree that it things get confusing, we can just split the thread. In fact, my opinion is this should go to a wiki article as well!  There are many points here Duplode makes that I hadn't considered at all.

Adding more to the research... I had not considered these "checkpoints", although I did know about how rewinding actually fast-forwards. It looks like Duplode's work can help us see ahead when a replay could result in instability and take special care during RH to ensure it won't fail. While Duplode took a very different angle to look at the problem from the one I did, both seem to be very compatible... especially about how rendering time seems to be the primary culprit here.

I will make some predictions about things we may observe in the future if things are the way they're looking to me:
- We'll find that replays with no PG can be unstable. The faster the speed, the more likely. PG replays are more likely to be unstable only because they are so fast
- We'll confirm that turning while at high speed increases the chance of instability and that a replay may be unstable because of fast speed, yet not noticeably unstable because the car isn't turning that much, so the result is practically the same
- We'll encounter more unstable replays in the future coming from low-cycle emulation than from high-cycle emulation, although all can be, because at high-cycle, the rendering time is shorter

My understanding about what causes this in the first place is that:
- Stunts uses an asynchronous loop, like when you have a ship you can move with your keys while enemies move around. They have to keep moving even if you don't. This results in a non-deterministic physics/world, but would compensate if the math were infinitely precise
- Stunts reads the input in a loop after rendering and thus, rendering time creates a time offset from the beginning of the loop to when the action turns into effect. Reading the input means from the keyboard while recording, or from the replay file while replaying.
- While fast-forwarding does not do rendering, there may exist some small actions before input reading in the loop, so while extremely unlikely, fast-forwarding can also produce a difference from system to system. This is completely theoretical and I don't expect we'll ever see it happening
- Increments (deltas) that are added at each iteration of the loop to calculate new positions and speeds have a limited precision. The adding of these increments is the core of the creation of instability. I suspect that Stunts tries to compensate the time offset when rendering by removing time from these increments, but because the precision has a limit, information is lost, causing an error that accumulates with time. On faster driving, increments are larger and so are errors. If vector directions vary slowly and smoothly, these errors may not be as noticeable, but they exist

My recommendations would be:
- When recording a replay, use fast emulation. If you're going to drive a fast car or use PG, make it even higher or maybe reduce the rendering details
- On high speed turns, while building a RH replay, take a look at what replaying looks like and how it compares to fulling fast forwarding to have a chance to fix problems before working more on an already unstable replay
#395
Stunts Forum & Portal / Re: Forum language options
April 23, 2023, 04:28:01 AM
 ;D
#396
Chat - Misc / Re: Association game
April 23, 2023, 04:26:42 AM
Namco
#397
Competition 2023 / Re: Unstable replays at ZakStunts
April 22, 2023, 01:38:37 AM
I'm watching Overdrijf's ZCT232 replay and I'm getting exactly the same as you when loading it from options and playing it with F2. Just as you describe, on different sides of the bridge at the exact same time. However, playing with F3 with the default setup from the beginning at normal speed, I see the car going near the start/finish line at 0:36.45, which triggers finishing, that is, Stunts stops reading inputs from the replay and so the car slows down to a stop almost crashing with a boat (it touches it slowly and bonces, then comes to a rest). I then tried it with the other cameras at normal speed and all yield the same result. Using double speed from the beginning, all four cameras crash at the bridge, but only F4 crashes at the beginning of the bridge. The other three crash on the right side of the bridge. I'm using 20000 cycles.

It seems to me that, when Stunts calculates the physics, strangely, instead of using a single deterministic cycle, it is using two parallel "times". That is, on one side, there's a cycle reading inputs and on another, there's a cycle executing the changes. Because they're not the same timeline, they can drift and this is more likely to happen when more things are going on inside the loop, such as rendering, but because the calculation never takes "zero" time, it can happen anytime. It'd be very interesting to get to read how the code does this, because it's really unusual. Why not use a simple single-timeline loop?  I guess it must be part of a strategy to make the game run faster on slower machines. I don't know. If this is the thing, I see no other solution but what you suggested: first, evaluate loading from Options, which is more likely to work, and if it doesn't, go and check the other ones.
#398
Chat - Misc / Re: Association game
April 21, 2023, 11:40:10 PM
King
#399
Stunts Forum & Portal / Re: Forum language options
April 21, 2023, 10:59:19 PM
I have also always used 24 hours
#400
Stunts Chat / Re: Stunts VR (Virtual Reality)
April 21, 2023, 10:56:33 PM
I can view these things by crossing eyes and sitting far from the monitor, but it's a little uncomfortable and when it's calibrated the other way (for split eyes), it looks weird. Anaglyphs sacrifice colour, but are easier to render and view. I'll try to dedicate some time to doing some of this.
#401
Stunts Chat / Re: Stunts VR (Virtual Reality)
April 18, 2023, 08:23:31 PM
What I was mentioning in the Telegram group about this is that, with some work, not terribly hard, I can make my engine draw two images at a time on the screen instead of one, with a slight horizontal offset. This would allow whatever method of taking this to 3D. Of course, right now, we can't play Stunts through my engine, but we can reproduce races, so it'd be interesting to try. I don't know how to interface actual 3D goggles, but I could leave that part up to you.

This particular implementation, which includes a cell phone and Google, is not for me, but I figure other things can be done. Some large cardboard thing with lenses to hold to the monitor?  Ha, ha.... Who knows!  It would also be much more work, but technically, I could create anaglyphic images from this, for red-cyan glasses. Anyway, all this is work and would take time.
#402
Competition 2023 / Re: ZCT261 - Thiers
April 18, 2023, 08:15:30 PM
It's a very tough one, but enjoyable track. I'll keep on trying. I think I can still improve my lap :)
#403
Hey, welcome, Farsil!  Thanks for sharing, including the source  8)
#404
Chat - Misc / Re: Association game
April 17, 2023, 10:24:07 PM
Brakes
#405
Competition 2023 / Re: Unstable replays at ZakStunts
April 17, 2023, 04:51:32 AM
There's another one that allows you to see the keys live. Not sure if I passed that one