• 0 Posts
  • 81 Comments
Joined 5 months ago
cake
Cake day: June 6th, 2024

help-circle



  • Because the math checks out.

    For a high level description, QEC works a bit like this:

    10 qubits with a 1% error rate become 1 EC qubit with a 0.01% error rate.

    You can scale this in two ways. First, you can simply have more and more EC qubits working together. Second, you can near the error correcting codes.

    10 EC qubits with a 0.01% error rate become one double-EC qubit with a 0.0001% error rate.

    You can repeat this indefinitely. The math works out.

    The remaining difficulty is mass producing qubits with a sufficiently low error rate to get the EC party started.

    Meanwhile research on error correcting codes continues to try to find more efficient codes.
















  • So here’s the thing that confuses me about your use of the word “deterministic”: even if you have balls phasing through collision objects, the game will still be deterministic in the sense that the same initial conditions for the ball will result in the same final location of the ball.

    Ways that it can become non-deterministic are usually either intentional randomness, race conditions from multithreading, or using a variable time delta for your update cycle, such that the time delta is dependent on the operating system, physical device, etc.

    As long as you aren’t doing any of those things, the game will still be “deterministic”.


  • A few ideas:

    1. Instead of doing only one “update” per frame, do multiple smaller updates per frame. This doesn’t completely solve the issue but it does decrease the threshold of how small an object can be before this becomes a problem.
    2. Compute a region between the before and after locations, and detect if the collision object intersects that region. Then if there is an intersection you have to compute where the object would have intersected it, which is going to be a bit more complicated, depending on the shape of the bounding regions you are using.
    3. Just ignore the problem. Many games have this bug, but design their game so it only becomes noticeable in rare edge cases.

    I’m not sure what you mean about decimal point handling - that’s always going on (unless you are trying to work with purely integer variable? Even then, there’s rounding involved whenever you need to divide…)

    I’m also not sure what you mean by the engine becoming “nondeterministic”.