[PsyShiftX] Update v0.0.4.8-cpp - Added debug functions bound to O and P, O applies a direct impulse, P applies a radius impulse, for testing the new Stalker inspired warp zones. sapphirelabs.cloud | #indiedev
Sapphire
Sapphire
@sapphirelabs.cloud
#SapphireLabs -- #indiedev studio behind PsyShiftX https://sapphirelabs.cloud Coming to Steam: https://store.steampowered.com/app/3717800 Programmer, game developer, trans rights activist, catboy Keep on keeping on Married to @sakura.sapphirelabs.cloud
243 followers132 following2.3K posts
[PsyShiftX] Update v0.0.4.6-cpp - Organized the entire source code structure so there's not 50 .h and .cpp files just hanging out in the tree. - Added some backend work to fix an async desync resync issue - Jetbrains Rider bug repor... sapphirelabs.cloud | #indiedev
PSA to my fellow #indiedevs #UnrealEngine and #Jetbrains #Rider has an issue with code analysis about an enum used by the Unreal logging system. I filed a #bug report here: Tldr it thinks an enum can't <= with an enum youtrack.jetbrains.com/issue/RSCPP-...
[PsyShiftX] Update v0.0.4.5-cpp - Linux is now the primary build target for development, and a full rebuild has been done. - Windows will still be regularly built, but I'm sick of their spyware and problems. sapphirelabs.cloud | #indiedev
Sapphire reposted
So my PCP just called and said they can't help me with my seizures (Refractory Status Epilepticus, coma, fun times) due to her not handling the particular medication, #Keppra, to go to an emergency room until I can see my neurologist, in months, for recurrent focal seizures and proven low serum lab.
Working on the new PsyShiftBall system. Previously we had runtime proc mesh gen via vertex->triangle stitching, and yeah it worked well, but its not needed anymore. Now we have runtime statics, and an abstraction pipeline to automatically map everything. bsky.app/profile/sapp... #indiedev #gamedev
[PsyShiftX] Update v0.0.4.4-cpp - Modified the main ball to no longer use a procedural dynamic mesh, now uses slottable multiple statics with runtime morphing. Cheaper, faster, better. - Note: GhostTrail is currently broken sapphirelabs.cloud | #indiedev
[PsyShiftX] Update v0.0.4.4-cpp - Modified the main ball to no longer use a procedural dynamic mesh, now uses slottable multiple statics with runtime morphing. Cheaper, faster, better. - Note: GhostTrail is currently broken sapphirelabs.cloud | #indiedev
[PsyShiftX] Update Hotfix to just move the mass override out of the CDO and fix a race condition. Builds are live on Steam for both Windows and Linux. sapphirelabs.cloud | #indiedev
[PsyShiftX] Update v0.0.4.2-cpp - OmniButton can now eject players who spend too long sitting on the button. - OB now allows multiple state changes per update via generic delegate - OB now flashes yellow when triggered during debounce. sapphirelabs.cloud | #indiedev
[PsyShiftX] Update v0.0.4.1-hf - As physics movement is async, atomic get/set the input values instead of raw read for cross thread containment, as well as the current lin/ang velocities. This was rather painful to debug. sapphirelabs.cloud | #indiedev
[PsyShiftX] Update v0.0.4.1-cpp - OmniButtonV2 fully implemented, see BSky post about it sapphirelabs.cloud | #indiedev
So remind me @microsoft.com why I have an Enterprise license, updates completely disabled, update services disabled, the mechanisms disabled, the policies set, the registry edited, and your vibe coded shitware still interrupts what I'm doing to prompt for an #update I didn't ask for #Debian. Today.
[PsyShiftX] Update v0.0.4.0-cpp - Fixed camera being framerate dependent. - Removed debug torque direction indicator, will be replaced with OSD. - Fixed OmniButtonV2 scale independent setup for level design sapphirelabs.cloud | #indiedev
[PsyShiftX] Update v0.0.3.5-cpp - Added async physics substepping with a fixed time of 120hz Dev note: (((LastTorqueDirection.GetSafeNormal() * AccelerationForceMultiplier) / BrakeTime) * SphereMass); is not a nice function. sapphirelabs.cloud | #indiedev
[PsyShiftX] Update v0.0.3.4-cpp - NOTE: Physics constraint on the new OmniButton is broken. - Fixed STEAM_SUBSYSTEM -> STEAM mismatch - Updated VDFs to use the XR name scheme over X - Disabled SteamInput action override binding due ... sapphirelabs.cloud | #indiedev
[PsyShiftX] Update v0.0.3.1-cpp - Fixed Vulkan regression for Unreal 5.8.3 that breaks SPIRV gen on SM6 with bindless. Thanks Epic, really wanted to debug your problems. sapphirelabs.cloud | #indiedev
@beemon.symbolicon.net Following up with you about your lighting situation. Got it handled? If not, I can provide a bit of assistance debugging why.
[PsyShiftX] Update v0.0.3.0-cpp-hf1 - Hotfix note: SteamInput with direct manifests have been disabled due to a performance regression. - Pushed build override to Steam for public playtesting - Added controller support for: Generic,... sapphirelabs.cloud | #indiedev
[PsyShiftX] Update v0.0.2.2-cpp - Guarded variable initialization against components that may be null referenced sapphirelabs.cloud | #indiedev
[PsyShiftX] Update v0.0.2.1-cpp - Added CCD / MACD to the physics primitive sapphirelabs.cloud | #indiedev
Here's some of the new assets in action Following this, old assets that used third party generation have been removed entirely. Every asset is now hand crafted and made with #Blender, #Gimp, #Inkscape, and other similar tools, locally. #indiedev #gamedev #solodev bsky.app/profile/sapp...
[PsyShiftX] Update v0.0.2.0-cpp - Added a ton of hand made UI assets to replace the old bad ones - Added CCD and MACD to the player ball to compensate for low frame rate collision detection - Set the proper disable state for missing... sapphirelabs.cloud | #indiedev
[PsyShiftX] Update v0.0.2.0-cpp - Added a ton of hand made UI assets to replace the old bad ones - Added CCD and MACD to the player ball to compensate for low frame rate collision detection - Set the proper disable state for missing... sapphirelabs.cloud | #indiedev
[PsyShiftX] Update v0.0.1.5-cpp - Added the pause menu - Added pause/unpause delegates - Fixed ghost firing per tick and not per timer event based on linear velocity sapphirelabs.cloud | #indiedev
Sapphire reposted
Sapphire reposted
Someone remind me why #EpicGames is demanding a studio use #AI assets and #code? I may stop using #UnrealEngine over this. arstechnica.com/gaming/2026/...
Sapphire reposted
Sapphire reposted
Replying to @solodeveloping.bsky.social
Pretty much that. I sample the same gradient 4 different times, applying a random noise texture at different uv scales and apply a parallax-offset per layer (parallax code by binbun). Then I go into the light function and pass it the layers as an offset for the light intensity to give it more volume
Sapphire reposted
@gamebrief.bsky.social ngl, getting severe AI vibes from your account and website. Got any way of validating you are who you say you are?
Specifically stuff like this: bsky.app/profile/game... And the about page on the website listing people I can't find an actual live reference to.
[PsyShiftX] Update v0.0.1.4-cpp - Added respawn input lockout - Added respawn blackout delegate - Fixed ghost trail opacity being weird - Fixed bad physmat on QField - Fixed improper restitution force on QField sapphirelabs.cloud | #indiedev
[PsyShiftX] Update v0.0.1.2-cpp - Further improved the ghost trail - Added the brake light but its currently broken, probably a unit issue. - Expanded the test map to be more vertical - TODO: Camera reset is offset Z relative to spawn sapphirelabs.cloud | #indiedev
[PsyShiftX] Update v0.0.1.3-cpp - Added StopBallStart / StopBallEnd funcs - Fixed possible divison by zero problem on BrakeAlpha - Made the entire world indicate the player was braking for funsies. - Fixed the QField dropping its ow... sapphirelabs.cloud | #indiedev