May 2024
General
This month I've focused on a lot of bugs again.
I'm nearing the end of development, and every little bug can mean reworking an entire system. This was the case with the shoes this month.
Because of this, I've been falling behind a lot lately, and the devblogs are also coming out late.
Character Rescale and Extreme Scales
I've reworked the in-game scaling system and fixed camera and physics bugs. Now it's possible to resize characters with much more extreme scales and in a much more stable way.
Now, in a 1/1 scale environment, the smallest scale is 0.001 and the largest is 10000000.0.
Cheat Manager
During this month, I've reworked the cheat manager and added a number of cheat codes to activate some of the game's more experimental features.
I'm going to keep most of the cheat codes secret and will gradually reveal them after the next game update is released.
I reworked the way I spawn characters so that they don't appear into the floor or walls.
Wrinkles Shaders
I did a small pass at the shader management for wrinkles to fix some bugs.
Now that I have a better understanding of the driver system for animation scripts, it's more accurate and the code is simpler and better optimized.
IK Manager and Pelvis Offset
I've updated the character's ground detection and the way the animation script compensates for the position of the pelvis.
It's more natural and the character will look less broken in extreme poses.
Stomp and Preview Zone
With the new pool compensation, I can configure the compensation I want for each animation.
This is especially true for stomps, which will look much less broken.
I've also taken the opportunity to add a preview area for when you want to stomp as a Game Master.
Nodal Editor Plugins
If you remember, in my situation system, I use nodes directly in the level editor to define the logic and the parameters of a situation.
It's a method that I like and that I want to reuse for several other tools and systems, in particular for the Stuck Zones system, which allows you to attach a character and define one or more attachment points depending on the game context.
So I've made it a generic plugin to be used by other plugins.
Shoe and new Stuck Zone System
In addition to the bug fixes, I also had to do some work on the shoe management and the various assets.
For better optimization, I separated the assets between the right shoe and the left shoe. This allows me to manage the optimization for each shoe independently.
I also separated all the code from the asset management, similar to what I've done with the characters.
As you probably know, it's possible for Cobble to sit in Talas' shoes.
I used to define each position directly in the script that manages the shoes, but it was very tedious to modify.
Now I use a configuration file for the characters, which is then used by the shoe script to generate different positions.
I use my Nodal Editor plugin to define the different positions directly in the level editor in a level designed for this purpose, with much more control than before.
It also gives me a lot more control, like managing procedural animation based on certain positions.
Here's the in-game result:
Skeletal Contact Collision
I've updated my contact collision system to make it easier to use.
Developers using the same system won't have to do all the technical manipulations they used to.
This allows me to use the collision system for Talas' shoes in MMVS as I do for macro characters, now that I've separated the assets for the right and left shoes.
Rig Small fix
I noticed that some of my animations were broken during import.
I thought it was a problem with my import scripts, but it actually was the rig script that wasn't updated correctly.
Groom Simulation Test
In my spare time, I tested the Groom simulation system designed for fur and hair simulation in Unreal Engine.
This gave me a better understanding of how it works and allowed me to update certain tools to make them compatible.
For the time being, I don't intend to use Groom simulations in the game, as there are several technical issues that make it incompatible with MMVS, such as the fact that it can't handle multiple UVs.
And the resource consumption is still too high for real-time rendering.
The video only shows the quality I got with a little time. I'd have to work on it longer to get better quality, but that wouldn't fix the optimization problems.
I also have a couple of resources at my disposal that I'll have to have a look at, thanks to people who shared those with me.
Side Works
This month I'll be working on additional projects related to the game.
I've updated my Blockout Starter Pack. This is a pack I sell on the Epic Game Store for creatures who want to do level design.
I use it extensively in MMVS to create my test maps and test the various features of the game.
My Blockout Pack: https://www.unrealengine.com/marketplace/en-US/product/blocking-starter-pack
This month I also reworked the BleuRaven.fr download page.
I created a new module that will upload copies of the game to different sites. (Dropbox and OVH for now) and then create download links with the various details for each version and build.
Now that it's optimized, it saves me a lot of time as I used to do this by hand.
The module is much more complex than writing a simple html table.
- First, I update the build files on Dropbox and OHV with the NAS.
- Then my Python script checks all the build zip files, verifies the executable, the contents inside, and saves the data.
- The script checks the version log on Github and logs the data.
- It then generates all the download links using the Dropbox API.
- Same thing with OVH, but this time using my site's API.
- It merges all the data it collects and sends it to my site.
- My site generates the download link with the download counters. It uses SQL and PHP.
- The script gets the new links and uses the logged data and the new links to generate the HTML download table.
- And it returns to my site, which updates the download page.
See more: Devblogs - Wips Telegram Chanel - Discord Chanel - Support the game - MMVS game