Be careful when starting to code in the evening, when you get in deep you forget the time. I had an intention of just wrapping up a few loose ends in my attempt to port my take on the 1979 Asteroids arcade game from Type Script to Rust. I just wanted to control a space ship and see some asteroids in the game view, no collision detection and no nothing.
But I ended op implementing all the default collision detection I needed, the destruction of the asteroids when they where hit by space ship bullets, the mass based collision handling of asteroids, the destructive asteroid to space ship collision on screen and finally the animation of space ship and asteroid obliteration. I went to bed around 2 am. My code still panicked when I destroyed to many of the smallest asteroids.
Next morning I found the bug I has made that classic mistake of looping a collection and removing elements from it inside the loop. It just goes to show that if you code when you are tired you start making mistakes, so think of that when you believe you can save the day by putting in extra hours 🙂
As an aside! I now have a functional Rust based Asteroids game with HiScore and all! 😉