Status Update: Code Restructuring


Hey everyone, it's been a very long while, almost 3 full years, and I wanted to provide you all with another status update.

For starters, this game is still in development, however, a massive increase in things in my schedule has resulted in a decrease in my development speed. To make things even more challenging, I have been working on updating my game code to run with the newer Eevee Rendering engine that is included with the UPBGE.

Due to some API changes, my old code is not entirely compatible with it, causing me to make some major changes to the fundamental code structure. While doing this, I have also been making some major improvements to some of the core systems within the game, particularly in regards to the backend.

the Updates

Here are some things that I've been updating:

  1. Asset System
  2. Camera System
  3. Control System
  4. Entity Handling
  5. Parkour System
  6. Vehicle System
  7. World System

The asset system had to be entirely remade from scratch, because the old asset managing system was deprecated. However, with these updates, I have been able to create a much more detailed and customizable approach to handling assets. Some benefits include, being able to define different asset types and modify import behavior based on these details as well as create custom object relations.

The third person camera has been updated with several new features and enhancements, such as smooth realtime switching between different objects as well as improved tracking and rotation mechanics.

The control system was also remade, to enhance fluidity of input registry. Most importantly, gamepads can now be used as an input device.

Entity handling was a new system that I designed for the new engine. Essentially, it allows objects to be tied into entities, which have certain preset parameters, behaviors and methods already associated with them. Some examples of entities are characters, vehicles, and cameras. By creating a unified framework for each entity type, objects can now have predefined behavior sets, greatly accelerating the development process in that regard.

The parkour system underwent a significant makeover as well, introducing a custom awareness system for characters as well as a major enhancement in precision when jumping from one obstacle to another. The ability to make mistakes was also introduced to add some more depth to the mechanics.

Vehicles were tied into the entity handling system and now all vehicles can be driven. No longer, do we have just one drive able car. This is an example of a single unified framework shared between multiple objects.

The world was the final element that has seen some major updates. There is now a day/night cycle tied in with the world clock and street lights turn off by day and turn back on by evening.

The audio system has also seen some major updates, although I haven't completely battle tested it in its entirety to remove hidden bugs.

What's Next?

In the next demo, these are things that you will have to look forward to. Most notably, improved parkour, the ability to use a gamepad, day/night cycle, multiple drive able vehicles and an improved third person camera.

Once I am able to get the UI working and have ironed out all apparent bugs in the game, a new and greatly upgraded demo will be available for you all to try.

Please note that in the future, the game is likely to ported to different engine altogether such as Unity or Unreal, however, for the foreseeable future it will remain in UPBGE.

Leave a comment

Log in with itch.io to leave a comment.