Particle Systems and Burn out
This is a retrospective post on the work done on Salvager from the 5th to 12th of October. This was left as a buffer week to catch any work spilling over from the previous 2 weeks, of which there was a lot. One of the major remaining rendering features was Effects Rendering which presented the best cost-to-benefit ratio in the features that were left. I'd also been working with Compute shaders for a few weeks before this to implement Tiled Light Culling and decided to try implementing a GPU Particle system to handle simple bursts of particles when a player or enemy was hit.
Looking for good resources to start on, I came across a wonderful talk from Bungie for the Destiny Particle Architecture that gave me great ideas for High Level concepts to base my system around and what variables I should be looking at simulating for a VFX system. I also came across a post from the Wicked Engine blog for GPU-based particle simulation that provided an in-depth write-up of the process they used to implement a particle system using compute shaders. With these as my primary reference points, I decided to start to extend my previously barebones Effects Component and add an Effects System to control simulation of individual particle systems.
A lot of this process was working with Compute Shaders and GPU Buffers so I didn't have anything I could show on-screen for the duration for this which, compounded with looming deadlines and work piling up, quickly led to me getting burnt out on the Task. Alongside this, I also had a few bugs from the previous build that were tricky to debug which led to an overall frustrating experience and low productivity. Even when I made progress with the Simulation Steps, I couldn't really verify anything since I didn't have visual representation of it on screen. When I finally got to implementing the actual effect rendering pipeline, I had to deal with the mountain of pre-existing Rendering code, a lot of it being verbose and cumbersome to modify, and struggled to make meaningful progress before the end of the sprint.
While the task itself was complex and lengthy to complete, the biggest struggle I faced in working on it was definitely in maintaining my motivation and managing my time well in splitting time with other tasks. I'd hoped to finish this system in the remaining time on the project but as it stands this feature wasn't finished and won't make it into the final build of the Game.
Salvager
Sci-Fi Action RPG
Status | Prototype |
Author | threewastaken |
Genre | Action |
More posts
- Mixamo Mesh Bone WeightsOct 22, 2023
- Shadow Maps, Particles and AnimationsOct 22, 2023
- Splash Screens: aka Don't mix your Drawing APIsOct 21, 2023
- Scaling to every Circumstance: UI LayoutsSep 09, 2023
- Separating the Game from the EngineSep 02, 2023
- Catching Up: Refactors and UI ScreensAug 12, 2023
- Slow and Steady Systems BuildsJul 18, 2023
- Setup for SuccessJul 08, 2023