Hey everyone! I have a big dream of creating a video game, but I'm feeling a bit lost on where to begin. I want to develop my own physics engine to achieve a hyper-realistic experience since the ones I've encountered often have their own odd behaviors. I'd really appreciate any advice or tips on how to avoid common issues, like characters moving through hitboxes or excessive memory usage with features like flowing water. How can I keep everything feeling smooth?
3 Answers
Just dive in and get started! Begin by making some simple shapes move around and implementing collision detection. You might find that your engine has glitches even worse than those you’re trying to fix, but don't sweat it—improving it is part of the journey! It's helpful to look into how others have tackled these problems before. Depending on your skill level, you might want to:
1. Go low-level with languages like C++ using Allegro, SDL, or SFML, or Java/C# without an engine, to learn the ins and outs, even though progress will be slower.
2. Use game engines like Unity or Godot for quicker results, though this might make some complexities less visible.
3. Consider web-based development since you can create applications targeting WebAssembly smoothly nowadays!
I get where you're coming from, but I'd question whether building your own engine is necessary. Many of the popular game-making tools have decent pre-built physics engines that you can tweak to fit your needs. It might save you months of pain trying to develop a janky custom solution!
Numerical instability is often the source of the awkward behaviors you might see. A fun project to kick things off would be to create a falling sand game. It’s a simplified version of a physics simulation but can help you understand key concepts. After you've got that down, try to modify it to use small spheres instead of sand grains for a bit of a challenge that gets you closer to fluid dynamics. If you're comfortable with C, I suggest checking out Yusuke Endoh's entry from the International Obfuscated C Code Contest for some interesting inspiration!

I appreciate that, but the existing VR physics engines I’ve tested are really buggy. I know creating a new engine won’t be quick, but I feel like it could significantly enhance the VR gaming experience, which would be beneficial for all game developers.