Devlog - February 19th 2023


Game initialization, main menu & modding system improvements

This week’s focus was on the game’s initialization process, the mod system internals and how it’s going to be interacted with by players. I started the week by doing some small improvements to the custom serialization system I talked about last devlog. After that I spend about a day experimenting with the new version of the character controller asset I will be using to create the majority of the character interactions. It’s a new version of the same character controller system I previously used so much of my previous experience with the prior version did translate to the new one. I set up a dedicated character project and created a very basic character with the already provided models and animations. Since I will be creating quite a few mods myself in the coming weeks and months I also spend a little bit of time improving the mod creation pipeline. The improvements were mostly targeted at different steps that are repetitive and can be done quicker with the new functionalities I added. This will be further improved over time so I eventually have a mostly automatic process in place that modders can use to create their mods. With the most basic character mod working I moved on to the creation of a new loading screen and a new main menu UI built with UI Toolkit. I’m very much enjoying the flexibility and speed at which I can create menus with this new Unity UI system. After the menu designs were in place I also added some basic functionality to them. The next step was to plan how to best integrate mod selection. In order to make it easy for modders and users I decided to go with a menu in which the player can select the mods they want to enable for a run/save. To further customize how mods are handled internally I will be adding an option for players to define the order in which mods are loaded. This enables modders and users to directly influence overrides. An example would be to override the character. During the character creation process the system will internally request an object from the mod system with a specific key. This key will be used to go over the mods in the reverse order they were loaded. This means the last mod loaded will be checked first. If that mod has an object with the requested key it will be returned to the system that requested it and used appropriately. Once an object is returned the system will not be checking for further objects in the mod hierarchy. This allows modders and players to have the system use their own implementation of a character by simply specifying the same key for their character. This information will of course be available in due time. Modders are, like in any other game, responsible to follow guidelines for overriding specific objects or systems for the game to remain playable.

Finally, I also spent some time brainstorming game logo ideas. I will soon commission an artist to create me a professional logo and while I will not be providing them my ideas at first I want to at least have a rough idea of what I am looking for so I can describe the specifications better. Having some sketches myself will also allow me to provide them to the artist if I don’t like the ideas they came up with.

Notable tasks this week:

  • Extended own serialization system
  • Set up basic character mod
  • Created loading screen & main menu
  • Added basic functionality to new menus
  • Improved mod creation pipeline
  • Extended modding system

Wishlist on Steam

Join the Discord

That’s all I got this week. I hope you are all doing well.

Stay safe out there and I’ll see you next week.

Get Ozone Wipeout

Leave a comment

Log in with itch.io to leave a comment.