Hey guys!
The next Pure Onyx release will be tomorrow evening!
It's been an especially busy month for me, as I've upgraded to a new workstation and even now am still in the process of transferring and organizing (Fall cleaning 🤔?). I apologize for not having an Inner Circle release this month -- it simply wasn't practical in the middle of the transfer / hardware installation D:
That said we have some great work to show off, as usual!
Topics for this Update!
- November Release Details
- Onyx Equipment Models
- Startup & Loading Overhaul
- DK-Doll Progress!
- Turning Animation System
- Junkyard Stage Design: Mech Graveyard
- Junkyard Stage Design: Conveyor Belts
- Combat Animation Concepts
November Release Details
Tentative Changelog
- Added early version of the 3x Vioreaper H scene for Onyx.
- Completely revamped Unity asset hierarchy. Faster startup time, multithreaded loading, and greater flexibility for loading data on demand.
- Reworked startup/splash screens to take advantage of above (Windows will no longer think the game is hanging during startup)
- Reduced RAM consumption by 20% (throughout tested situations)
- Heavily optimized SFX library by changing SFX that don't benefit from spatial width to mono. Significant load time / RAM improvement.
- Music and ambient SFX now stream, resulting in improved load times and memory consumption.
- Onyx / all enemies using standard movement system now play turning animations instead of flipping instantly (except during mid-navigation, this is still WIP).
- Enemies will no longer linger at their spawn position instead of agroing Onyx.
- FemCop no longer does super distant repositioning jumps after spawning
- FemCop's leap AI rebalanced, can no longer jump to where Onyx can't reach her (outside encounter boundaries).
- Further increased barrel explosion's blast radius.
- Fixed issues with actor meshes (articles of clothing, shoes, etc) disappearing when at the edge of the screen
- Fixed camera not shaking during barrel explosions.
- Revamped Wave Spawner, which should fix remaining issues preventing the wave system from progressing after enemies are defeated.
- Fixed an unreported issue with enemy spawn selection that could occur starting at wave 35
Onyx Equipment Models
Kame has finished sculpts for Onyx's first new gear set! He's also made a lot of progress on the 2nd set :D, which you can see a preview of in the gallery above.
Keep in mind that for these and the future sets he works on the colors aren't final yet, though they will likely be of a similar palette to her original gear. This is so that once we add the Wave Shifter slot (effectively equip-able palettes) all of the gear will respond similarly.
Startup & Loading Overhaul
AltairPL is getting center stage attention this month for victory in what's been a months long battle with Unity's decrepit asset loading systems.
Our custom Bethesda-style database system has been at odds with Unity's default loading system after we found it dragged everything referenced by the database (the whole game effectively) into memory at startup... only to immediately spit it out saying its not needed (great design Unity). The result was a long startup time that grew longer with each content addition. Even worse, Unity did this on a single thread, so we couldn't even display a loading graphic. On slow machines Windows would even give an "app not responding" message.
This whole section of Unity is incredibly opaque and often without documentation, but after several reworks we've had success with Unity's new-ish "Addressables" system, which if you can believe it, gives developers control over what to load and when. Brilliant. A+.
The downside is it required a complete overhaul of our project asset hierarchy, as in all its wisdom Unity would try to load everything twice -- once through addressables, and once through its regular system. Fantastic. This meant resolving 64,000 instances of duplicate loading. And AltairPL has succeeded :D.
The results?
- Startup time heavily reduced, with more improvements coming as we utilize the following benefits.
- We can load what we want, when we want. Startup time won't increase as we add content once we are making full use of this.
- RAM consumption reduced by 20%
- Asynchronous (multi-threaded) loading. We can load in the background without hanging the system.
- Can now add far better startup screens
DK-Doll Progress!
Demonu deserves a special thanks for his effort this month, as he's managed to pull off work by risking literal missile bombardment. Ukraine's electricity grid and water systems have been under constant attack the past month because limp dick Putin can't get it up on the battlefield, so his terrorist regime seeks to destroy civilian infrastructure in an attempt to freeze as many vulnerable people as possible this winter.
Demonu however has been maneuvering daily to find electricity during blackouts. On one occasion I asked if he was in a safe spot and he responded with "strong building, reinforced concrete frame, so it will not fall." A true fkin' legend over here.
As this is likely to continue through the winter, I've advanced him money for acquiring a generator (it's on the way) and I've given him info on how to hook up batteries in parallel with an inverter to power his location for long periods during the up to 24h+ long blackouts.
He was out of commission early in the month, but over the last couple of weeks he's been able to model the damage variants for the DK-Doll's bodysuit, which you can see came out great :D. He's done both female and futa versions of the bodysuit.
Turning Animation System
If you haven't noticed by now, characters in PO don't turn -- they just flip.
Turning is one of those things that is an unfortunate combination of mundane yet difficult, but essential for a polished look. The difficulty is due to PO's character style resembling that of 2D games -- games that utilize sprites that mirror instead of turn. Instead of simply flipping though, they have a turning animation that conceals the flip. To do otherwise would give the game a mehhh 3D look (Guilty Gear goes through this trouble as well to look more 2D).
To accomplish this look in PO, we actually start by animating the character backwards while mirrored, and then when they reach the halfway point of the turn we mirror the model back to the "normal" orientation. We intentionally pose them at this halfway point so their silhouette is roughly symmetrical, thus allowing for the illusion when sped up.
The release on the 30th will add the first iteration of this system -- it'll take some further work to get all the turning scenarios smoothed out. In all we plan to add turn animations for all characters from
- Idle to Idle (for enemies)
- Idle to Walk
- Walk Forward to Walk Forward
- Walk Forward to Walk Backward (for enemies)
- Defend to Defend
The animations are (mostly) finished, but how many of these we get in will depend on how far we get with updating the AI to behave with a delay from turning.
Junkyard Stage Design: Mech Graveyard
Zydaline and Xxoom have done excellent work on this Mech Graveyard mockup this month!
Zydaline did the detailed mockup based on the video I made a while back. Xxoom has since added a ton of lighting detail to the junk piles in the background. We have much higher res foreground layers than shown, but the low res ground was left in from the initial mockup I did.
Check this one out in detail in the gallery above or by opening the image in a new browser tab :D.
Junkyard Stage Design: Conveyor Belts
Zydaline and Limbo have done a killer job on this one! Limbo did the 3D models a couple months back, but arranged them in a similar fashion to his concept sketches so that Zydaline could make this knockout mockup. She really nailed the lighting and the atmosphere here!
Check out the gallery above or open the images above in a new tab for a closer look!
Combat Animation Concepts
When not working on environments this month, Limbo has been continuing his work on combat animation and combo concepts :D. He's focused mainly on putting together animation GIF ideas for Malise this month, but he also did a series of forward smash special ideas for Onyx.
- Onyx Forward Smash Special
Check above for some of the other versions of this ability. We aren't quite sure yet whether we want this one to utilize Armed or Unarmed damage. If armed, then we'll likely go with a fist variant and FX will be determined by Onyx's equipped knuckles.
- Malise Standing Gun Combo
One of Limbo's ideas for Malise's basic standing Gun combo. We may change the forward to back fan attack to an outward (depth axis) fan. Since Malise's main damage dump will be her Gunslinger ability, this one carries a bit more of a support utility.
- Malise Directional Gun Combo
Limbo's idea here would allow for additional mobility within a standard combo, baking dodging into the combo itself based on direction held.
- Malise Mixed Combo
An example of a mixed Kick / Gun combo.
- Malise Standing Kick Combo
Malise's standard Kick combo, performed by repeated tapping of the Unarmed button.
- Malise Forward Kick Combo
Kick combo with a forward finisher -- transporting Malise through her target.
- Malise Kick Combo > Pirouette
Kick combo followed by Pirouette special! This special can likely be used without a combo preceding it, as it's meant to be a crowd control AoE / ammo dump.
- Malise Lay Trap
Some ideas for Malise's Lay Trap ability! Though it will likely be one that uses consumables via the quick menu (Use Item button), holding a direction in combination with it could yield the cartwheel version.
- Malise Jump / Landing
One of the concepts for Malise's basic Jump and Landing animations!