September 24, 2017 - 2 minutes
So before I went on a massive detour of trying to implement DMUX in different languages, one of the coolest things I thought I did was implement online play. And all networking functionality got torn out when I started this refactor and was not restored until now.
On an unrelated note, I should really get the lines of code count for before and after the refactor, but I can always git revert and see. And I might edit a blog post in the future.
Nothing practically, however the following major issues have been resolved:
- Spawning outside of the map
- The wheels not spinning for the players cars
- Cars being removed visually after disconnect, but the car can still be collided with
This much needed refactor has removed a lot of issues and made a lot of usability improvements to the project.
Advantages of the new garage from a developer perspective
There is a Simulation class, which could be better named as the GameWorld class, it handles vehicles coming in and out, the physics simulation, etc. It is used on both the server and the client. When I remade the garage I simply re used this code, so when I make an optimization to the simulation it applies to at least 3 areas of the game.
The new garage was very helpful in fixing any issues regarding the vehicles not being removed from the simulation fully, because any edits to the car cause a car to be destroyed and created; so it provided useful testing for this.
Not to mention the new garage looks awesome c:
What is next?
With the refactor, and the new garage which looks awesome compared to the old versions of it, I will be moving onto combat in the coming weeks. Which is exciting to finally get to game play after these years.