![]() I think it will work out for the best as it’s easy to get overwhelmed, and I want to ease into those topics. This article will not cover rotation, multiple contact point collisions, or constrained simulation. There are already some great articles going over the hard math involved, so I am going to focus on the design aspect instead because I haven’t seen anyone do that, and it’s also a real headache.Īt the current moment, this physics engine is not fully featured, but in future articles I plan to build it out further. I boiled it down to just what was needed, and based my design around that. I looked at how bullet and box2d went about sorting their engines and concluded that the way bullet went about it was solid. It’s a problem that calls for good planning and robust design. Do they want a collider? Do they want to respond to collisions? Do they want to simulate dynamics? They could want dynamics, but not gravity. It’s a generic problem that the user can configure at several different levels. Objects can collide with one another, then choose to respond in several ways. Physics engines are responsible for figuring out where each object in a scene is over time. They end up being much simpler than at first glance. I bet that some other people are interested in the details of how these systems work, and I want to learn how to explain code better, so I am going to try and make some videos going over the internals of these systems. I wanted to learn how those things worked along with C++ and code design in general. There is an argument to be made about saving time, but this was the first C++ project that I was making and the goal from the start was to go through all the major pillars of an engine: input, graphics, physics, entities, and audio. Recently, he has been posting videos about huge aspects of his engine like physics and entity systems, which were what I really wanted to learn about by making myself, but he ended up using libraries instead of going through the internals! I am not against using libraries, but to use them for the fun stuff? I felt like it defeated the point of making a custom engine series. With self-taught programming it’s hard to not doubt yourself constantly, wondering if you are doing things right or just think you are. ![]() I couldn’t wait to finally have a professional opinion on how to make one. By coincidence, right when The Cherno announced his game engine series I was just starting to get going on my own engine.
0 Comments
Leave a Reply. |