chrysaora 🎐 @chrysaoravioli.bsky.social · 04/10/2026Integrated attack fragments into the rework. Also starting to try out a crude implementation of hit stop and hit reaction system. Might also need to start investigating targeting & add some succcccccc. I can't really change rotation direction without resetting to neutral, so it feels really bad rn. 020
chrysaora 🎐 @chrysaoravioli.bsky.social · 27/09/2026New attempt at creating a Bayonetta dial combo input handler via StateTree. There's two states. You're either dialing a new combo or you're passing inputs for the current combo. Global Tasks can work in parallel to set various flags. These listen to various bound events from the player controller. 110
chrysaora 🎐 @chrysaoravioli.bsky.social · 21/09/2026Hopping back into this. You might be thinking, "haven't you already made this before?". This was an idea that I saw on Devin Sherry's channel several months ago, in which a single ability has relevant combo parameters passed in at runtime. This avoids having to create an ability per combo string. 120
chrysaora 🎐 @chrysaoravioli.bsky.social · 19/09/2026Studying GI in UE5.8. Images are Blender Cycles, UE5.8 Path Tracing, Lumen, CPULM, and GPULM. Fairly happy with GPULM nearly matching PT in bounce lighting & shadows. Not too sure how to increase the bounced shadow strength, as it still falls a tad short of Cycles. Not bad for a first try though. 120
Reposted by chrysaora 🎐shelly ♡ @shellyshellos.bsky.social · 08/09/2026The E-liter 4K charge time has been increased to 4k frames 1019855
chrysaora 🎐 @chrysaoravioli.bsky.social · 20/08/2026Current progress of bullet hell rework in UE5's Mass. - Basic movement + broadphase collision detection for static objects. - Sparse static collision is now pre-calculated and loaded in at runtime. - Bullets now use AABB intersects. - Niagara visualization for bullets, with a little jank flickering. 110
chrysaora 🎐 @chrysaoravioli.bsky.social · 10/08/2026Now with temporary visual fragment provided by Niagara. Same 131k+ bullets, all simulated via Mass. 100
chrysaora 🎐 @chrysaoravioli.bsky.social · 09/08/2026A more extreme stress test involving 131,584 bullets, with ported movement code. Image 1 (Projectile Hell): ~2.20ms of parallel work. Image 2 (Mass): ~1ms of parallel work. About 50% faster, which is great in the event I need a player to dodge 100k projectiles. 😀 000
chrysaora 🎐 @chrysaoravioli.bsky.social · 07/08/2026Made it to Floor 400. Enemies are starting to get tanky again so gonna have to do some math to figure out how to get those numbers up again. 😔 000
chrysaora 🎐 @chrysaoravioli.bsky.social · 04/08/2026With the announcement of UE6, I became more interested in ECS and decided to study Mass to see if it was more performant than my personal bullet hell solution. For this test, 64 bullets with a lifetime of 30 seconds are spawned every 5 frames, causing 11520 bullets to be present after a while... 100
chrysaora 🎐 @chrysaoravioli.bsky.social · 02/08/2026Came across a Mappy cover yesterday that translates really well to guitar and banjo. youtu.be/mumavHTij5s?...youtu.beMappy (Banjo & Guitarra)YouTube video by Fedeitor 000
chrysaora 🎐 @chrysaoravioli.bsky.social · 27/07/2026Rare yap opinion, but Splatoon Raiders is a very mixed 5/10 game for me. I'm personally not a big fan of "numbers-go-up" kind of game. While builds are not new to the series, this pushes it to an extreme where numbers supercede mechanical skill. It makes fights near mindless and repetitive. 110
chrysaora 🎐 @chrysaoravioli.bsky.social · 19/07/2026A little more progress on the Data Driven Combos rework. Now, it automatically adds attack data. Taking advantage of TInstancedStructs to create "fragments", allowing for a variety of structs to be added to a container as long as they conform to the base type. 110
chrysaora 🎐 @chrysaoravioli.bsky.social · 14/07/2026Quick Editor Utility I whipped up in BP (can't believe Sweeney wants to get rid of this). Automatically extracts Montage Sections and adds the corresponding # of rows to the Data Table. Also allows me to fill out various string parameters before submitting changes. 110
chrysaora 🎐 @chrysaoravioli.bsky.social · 13/07/2026Low-level nerd shit incoming. WIP ideas for the Data Driven Combo. Code on the left was from 6 months ago, featuring hard-coded state transitions which isn't truly "data driven". The right should achieve this, allowing designer to create new montage listeners, hopefully without too much hassle. 120
chrysaora 🎐 @chrysaoravioli.bsky.social · 07/07/2026Many years late, but I finally understand some of the concepts that were in my undergrad Digital Logic class. One problem that I've been trying to solve is a data-driven way to handle combo inputs that are human-readable and computer friendly. 120
Reposted by chrysaora 🎐SpaghetMeNot @spaghetmenot.bsky.social · 02/07/2026normalMagic 2.0 is here 🥳 #b3d 14615144
chrysaora 🎐 @chrysaoravioli.bsky.social · 02/07/2026My Spotify algorithm blessed me with this extremely chill city pop song about Yokohama. It's great. Makes me want to lay down on the grass and stare at clouds for hours. If only it wasn't 90+ degrees outside... youtu.be/srWzq-Xc-Wg?...youtu.beharachan - YokohamaYouTube video by HarachanVEVO 010
chrysaora 🎐 @chrysaoravioli.bsky.social · 25/06/2026DMC5 on Steam Deck is noticeably better than Switch 2's handheld experience. Even though Steam Deck is 800p, it's native res and ends up being much more crisp even in motion, especially on the OLED screen. However, I do appreciate Switch's digital inputs, which leads to less hand strain. 010
chrysaora 🎐 @chrysaoravioli.bsky.social · 21/06/2026Demo for adding movement modes dynamically and movement modifiers. Mover's movement modifiers were a bit problematic, so I ended up using GAS attribute sets instead. Both implementations had to read from some shared file anyways, so why not use GAS which comes with attribute modification for free? 110
chrysaora 🎐 @chrysaoravioli.bsky.social · 19/06/2026Almost at the two week mark of this Modular Movement project and I finally have something to show. Both this pawn and moving platform are using the same Movement Component, but with different modular movement modes slotted in. Pretty easy to add new modes whenever I want! 120
chrysaora 🎐 @chrysaoravioli.bsky.social · 16/06/2026It is Day 10 of Movement Component nonsense, and I've already backtracked on this heavily.🫨 I started finding parts of the CMC a little too rigid. Certain parts are bizarre when like crouching and jumping. I was overriding so many functions that it would be better to start from scratch. 110
Reposted by chrysaora 🎐OatmealDome 🏳️🌈 @oatmealdome.bsky.social · 10/06/2026[Splatoon 3] A Big Big Run will take place on Jun 20 to 22 (UTC)! The stages will be all the normal Big Run stages. The weapons will be all Grizzco. 🐦 original post 212123
chrysaora 🎐 @chrysaoravioli.bsky.social · 07/06/2026Okay, turns out I'm better than I thought. I've taken a few ideas from Mover, mainly the concept of modular movement modes instead of CMC's hardcoded EMovementMode "state machine". Essentially, I've modified the movement pipeline starting from StartNewPhysics... 120
chrysaora 🎐 @chrysaoravioli.bsky.social · 05/06/2026Day 1 of learning UE5's Character Movement Component. It's very scary. It's a giant slab of code, and it wants you to cram more stuff in there for custom movement. Mover is a tad better since you can slot movement modes in. But since it's in experimental, I'm not confident in deriving from it. 100
chrysaora 🎐 @chrysaoravioli.bsky.social · 31/05/2026Super happy that both paint application and detection are seemingly "solved". It's been about two years since I started working on this off & on. To me, it's fairly impressive how much I've learned. I've finally reached a solution that feels non-hacky and well thought out (for now 😅). 010
chrysaora 🎐 @chrysaoravioli.bsky.social · 31/05/2026A new paint detection method! Utilizing RDG, I can launch n number of localized compute passes to asynchronously return the colour data back to the owner. This means, I no longer require Niagara and the GPU thread count significantly decreases since I'm no longer evaluating the entire 4K atlas. 110
Reposted by chrysaora 🎐Spring @spring1028.bsky.social · 29/05/2026[Bayonetta3] Performance Combo MAD youtube.com/watch?v=gd2X... 2026年5月30日(土) 23:00(国内時刻)にてベヨネッタ3のコンボ動画をプレミア公開。 #ベヨネッタ3 #Bayonetta3youtube.com[Bayonetta3] Performance Combo MADYouTube video by Spring, はるはる 155
chrysaora 🎐 @chrysaoravioli.bsky.social · 20/05/2026【RDG Painting v2】 512 splats every 1/4 second, no hitches. Previously, I was iterating over the entire 4K RT. A bit naive and would occasionally lead to GPU spikes for a single splat. Now, I'm using localized compute passes, only iterating on the affected areas of the 4K RT. Seems promising! 110
chrysaora 🎐 @chrysaoravioli.bsky.social · 12/05/2026Thinking about this, but maybe the position atlas is no longer required? If paint actor local position maps already exist, I can simply use those for creating a splat. Then, using the corresponding actor's atlas coordinates, do a stamp pass into the paint atlas. Yay, more RDG suffering incoming... 010
chrysaora 🎐 @chrysaoravioli.bsky.social · 09/05/2026Updated the runtime packing algorithm! Previous iteration used a naive packer that simply started a new row. This new version keeps track of empty space and checks to determine if it can squeeze the current paint actor into this space. No coded metrics yet but by eye, it looks better! 120
chrysaora 🎐 @chrysaoravioli.bsky.social · 08/05/2026Revisiting my Splatoon-esque painting system again. I'm trying to optimize it, so one of the ideas I had was relying on local position instead of world position. I started learning Editor Utilities and whipped up a tool that can save a paint actor's position map to disc. Bulk tool hopefully later.. 120
Reposted by chrysaora 🎐Alex Forsythe @alexforsythe.bsky.social · 02/05/2025Just checked the calendar… looks like Cinco de Mayo falls on May 5th this year 1418726
chrysaora 🎐 @chrysaoravioli.bsky.social · 04/05/2026I've been playing around with Async and multi-threaded functions in the past month and decided to revise the dynamic collision detection system again. Now, dynamic objects will async calculate its occupied cells and queue this data for the subsystem to easily merge to the global dynamic grid. 100
Reposted by chrysaora 🎐mads 🐼 @smadseli.northsky.social · 26/04/2026My polite and effective way of saying this is this screenshot and a heavy handed but gentle stare at…quite a few of you. 665712367
chrysaora 🎐 @chrysaoravioli.bsky.social · 23/04/2026Extremely rough draft of bullet hell interaction. Using another sparse grid to hold all the bullets. This causes the red bullets to only check the bullets that are in the same cell, reducing unnecessary checks. Add a DistSquared check and it's super cheap yet convincing! 110
chrysaora 🎐 @chrysaoravioli.bsky.social · 21/04/2026This is honestly a waste of my time, but I feel that this level of hyperbolic ignorance should be addressed. Considering this user purportedly "analyzes game design", it's hard to believe the things that are being said, especially since they have the source code right in front of them. 110
chrysaora 🎐 @chrysaoravioli.bsky.social · 17/04/2026Finally have okay bounce/slide results after porting over Epic's Projectile Movement code. This is slightly heavier than typical bullet hell movement since it requires collision sweeps. Simple physics was ~100ns (0.0001ms) while this ranges from 2μs-9μs (0.002-0.009ms). 100
chrysaora 🎐 @chrysaoravioli.bsky.social · 09/04/2026100k+ bullet hell in #UnrealEngine5. I changed the system to use Structure of Arrays, increasing the efficiency between 10-50% as the bullet counts rise. On a shipping build, updating 100k bullets is about 3-4ms on the Game Thread. Totally unrealistic to have that many bullets, but it looks cool! 030
chrysaora 🎐 @chrysaoravioli.bsky.social · 05/04/2026Was thinking about the NieR debug room at 3AM and decided to stress test with 16 emitters, firing 8 bullets each (256 bullets total). With standard spawning functions, this is rather heavy, costing ~1ms each. 110
chrysaora 🎐 @chrysaoravioli.bsky.social · 05/04/2026Lately, I've become addicted to seeing how much time I can shave off in the profiler for my bullet hell project. I recently made an async spawning function which runs on background threads, making it ~35% faster than my previous method. Lots of fun learning this stuff... youtu.be/vI0jQjoU6eUyoutu.be04.04.2026 - Bullet Hell PerformanceYouTube video by chrysaora 🎐 110
chrysaora 🎐 @chrysaoravioli.bsky.social · 30/03/2026Very "fun" problem to solve. Performance issue is due to dynamic memory re-allocation of a large array. However, if I pre-reserve memory for 50k bullets at startup and disable memory shrinking, adding bullets to the array only incurs a 0.04ms "spike". Always so much to learn in Unreal Engine... 262
chrysaora 🎐 @chrysaoravioli.bsky.social · 28/03/2026Learning Unreal Insights because I have a nasty performance spike that I only see in a packaged build. Typically, spawning a projectile is about ~2μs, but occasionally, a single projectile in an array of projectiles will cause a huge spike to 6-7ms. I have no idea why it occurs so very fun times. 110
chrysaora 🎐 @chrysaoravioli.bsky.social · 21/03/2026Not too much progress lately, mostly because day job burnout. ~ New Features ~ + Dynamic objects now use a separate sparse grid, allowing for a cheaper update. + Debug visualizers for static and dynamic grids now controlled by cvar (super handy) 130
chrysaora 🎐 @chrysaoravioli.bsky.social · 09/03/2026Because of day job stuff, not too much progress unfortunately. Mostly cleaning up spawning and movement functions. Last demo is weird since it combines vector curve velocity and standard projectile movement forces. Neither task is aware of the other, allowing for this additive behavior. 010
Reposted by chrysaora 🎐flo veltman 🔜 Paris Games Week (maybe?) 🔜 AdventureX (maybe?) @vltmn.itch.io · 21/02/2026Tfw you still have some edge cases to fix in your procedural locomotion system #gamedev 7689272876
chrysaora 🎐 @chrysaoravioli.bsky.social · 24/02/2026So far, this is the highest score that I've gotten out of all of the playtests. Good stuff. 010