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.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

[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

[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

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

Sapphire@sapphirelabs.cloud

[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

And yes, I'm aware the UV is broken on the outer ball material. Something didn't like my #Blender -> #Unreal pipeline modifications. Easy to fix later though. #indiedev #gamedev #gaming

[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.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

Sneak peek at the new and improved OmniButtonV2! Technical bit for those interested: Transform independent, any orientation, any scale, any material, any texture. Custom runtime depenetration, forced ejection, and the ramps and corners can be removed at will during runtime. #indiedev #gamedev

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

So I'm carrying the team, as usual, in #Overwatch A member of our team as a healer was like 6-6, then later like 10-10. Team mate kept saying they were going negative, then tried to say that 0 = negative. What? Are kids legitimately this actually #stupid now?

Calling it now. Watch how fast the big #journalism sites switch from "Dumocrats evil" to "Trump bad" when the mid terms hit. We see you.

[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

Setting up the first real playable level now for #PsyShiftX. Simple goal, simple demands: 1. Player must spawn consistently 2. A collection or distance objective 3. Usage of physics mechanics The mechanics are made, physics are scientifically simulated, and the track is done. #indiedev #gamedev

[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

Shoutout to #Decino fighting the #DOOM copyright strike from #WarnerBrothers about a 30+ year old sound effect. #DMCA is only enforced unilaterally and until we fight back they will continue to abuse it. Boycott #Youtube and WB. Vote with your wallets.

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...

Sapphire@sapphirelabs.cloud

[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

So I'm going to my first therapist for my PTSD tomorrow. This should be... Something. Can't really articulate to someone what being awake during a coma is like, operation after operation. Fuck, I know what a bronchoscopy feels like, the dozens of incisions, the vent clogging. Hopefully they help.

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

Yeah, affiliate harvester for greyware sites, AI assisted or wholly AI. #indiedevs Block this account. They're profiting off of your work.

[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

It was in fact a unit issue. Turns out an intensity value of 1.86666773 is not enough for light. Multiplied the result by 100 and that works fine.

[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