It's been a long time coming, but a number of important changes are coming to the movement system! Within the past week, I have finally been able to get started on reworking pieces of the movement system that were in dire need of attention. A number of decisions made early on in development have led to some undesirable side effects, including, but not limited to, the ability to scale steep terrain with minimal difficulty, issues with sloped ground, and issues with ramps. It can quite easily be concluded that slanted surfaces were unkind to our beloved bots and their movement abilities. That shall soon be a thing of the past.
Previously, the easiest way to get movement working was to calculate the desired velocity of the bot given player input and setting the velocity of the object. This took away some of the control the game engine had over movement, which was the initial intent. However, it didn't want to stay gone, causing other issues to crop up left and right. One by one, most of them were addressed in exceedingly complicated ways. Eventually, a compromise between the engine's control over movement and the programmer's control over movement was reached... or so I thought. Testing on more varied terrain revealed just how many of my previous fixes were just band-aids, not actually fixing the underlying issues.
Fast forwarding a bit, I finally came to terms with the fact that reworking the movement system was not only going to be better for my sanity, but better for the game and its inevitable massive fanbase. So began my process of reimplementing a very small segment of code to change how movement was applied. That part was relatively easy. The remaining challenge lies in adapting the remaining code to handle the issues I believed I had fixed long ago.
Overall, the upside is that things are starting to handle a bit smoother (and there's a little bit of drifting now too, which is definitely a cool development), but there are still a few holes that need patching before I can consider it a success.
In other news, the functionality of the oil slick is getting a small rework alongside the movement system. The intent is to increase the drifting to less than ideal levels after hitting an oil slick, instead of just messing with turning.
As we draw towards the end of development, things are coming together quite well. The systems are meshing and, while there are still plenty of things left to do, it's feeling like it'll be quite the enjoyable experience once we're all said and done.
- Zach Gross, Battle Programmer
Comments