Amini Allight
@amini-allight
Solo game developer, VR enthusiast. Developing LambdaMod, a free and open source multiplayer game with VR support
Harder than you'd think to write an algorithm to find and close these holes where two procedurally-constructed edge lines meet, my brain is exhausted 😩 #gamedev
Added a few new chamfered cuboid primitives to help spice up game masters' sci-fi environments! #gamedev
From my vibration-based audio synthesis experiments It shouldn't be doing that at all, but it's cool that it is 😅
Catching the last few bugs with editing the new prism grid primitive #gamedev #screenshotsaturday
Here's my new prism grid primitive which lets you easily create industrial structures like radio masts, bridges and cranes with three different triangulation options and an optional taper #gamedev
Goodbye ugly character wrapping, hello word wrapping! #screenshotsaturday
Upgraded my game's text objects to support automatic wrapping This allows game masters to write notes for their players to find in the environment: research notes, a ship's logbook, hastily scrawled instructions, you name it! #indiedev
Oops That's not the video looping, my netcode just still has some issues #gamedev
I believe this means my game's new rollback networking is working! No stutter in the entity position at all! #indiedev #gamedev #screenshotsaturday
Finished the text playback feature Game masters can use this to add environmental dialogue for the players to "overhear" #gamedev
At long last, unicode support in my game! This was tough, I had to find dozens of places where my code manipulated strings with the assumption 1 byte = 1 character and correct them With this you'll be able to use a huge range of textual expression for character names, dialogue, signage and more*
Realized that rather than searching through my in-world UIs for the widgets I want to test I can just embed them anywhere in the editor UI, like the audio settings page The result is an ugly style clash, but it works!
Every time I try to use my game's tools I get frustrated by how unpolished they are so I've been touching up the UI, here's the old vs. new node editor style It's amazing what a difference a few borders, different bezier control points and thinner lines makes!
Avoiding the nightmare of my broken netcode by adding a new shape primitive, here's some in-development screenshots of "packet", useful for depicting packaged food, sacks of grain, packaged medical supplies, shrink-wrapped items, etc.
Doesn't occur when I read from the same image for both regions either
Does anyone recognize this artifact? I'm storing the texture in multiple images to avoid exceeding max image dimensions and I'm getting this weird glitch at the tile boundaries Even stranger, it isn't reflected in the UVs (second picture) and the sampler is set to nearest + clamp-to-edge
Long time no see but I've finally written a new article! This time I'm laying out my thoughts about the new Marathon playtest and its struggles with motivating and incentivizing players amini-allight.org/post/maratho...
Adding more primitives to the editor game masters will use, this time it's the "rounded rectangle prism"
If you like adding non-Steam games to your Steam Deck I have something for you! An update to my tool for batch configuration of non-Steam games from a config directory you can back up It now supports both customizing images on official Steam games and setting "wide" images
Built a toy example to make sure my understanding of rollback logic is sound You can see how the client initially goes past the blue barrier, which only exists on the server, before rollback kicks in and corrects the position
It's pretty cool to be able to script objects in my game with my own text editor and my own language, from inside the game itself
Something for anyone working on multiplayer networking for their game: while trying to fix my own game's netcode I updated my tool Rollback Diagnostic The tool lets you create dumps from your game of multi-timeline world state and use a graphical viewer to explore them gitlab.com/amini-alligh...
The correct answer was "mirror fragment positions and normals about the object origin in psuedo-view-space so when I use inverted hulls to create edge highlights those edge highlights take light from the environment in less unexpected ways" 😵💫
Found this horrible mess buried in my codebase, ruining my ambient occlusion, and I have no one to blame but myself (from 2023) Points for anyone who can guess what it was supposed to do (it does not do what it's supposed to do)
Nobody warns you that once you learn what blue noise dithering looks like you're doomed to see it everywhere forever after
Do any GPGPU people happen to know why this sort of compute shader freezes my desktop until it completes (Vulkan + Mesa + AMD)? The call to memoryBarrierBuffer is load bearing, without it the freeze doesn't occur Am I doing something wrong? Is there a better way to structure operations like this?