I'm mostly doing a lot of drawing this week, but the game comes first! View Bobbing!

seen from Türkiye
seen from United States

seen from Türkiye

seen from Malaysia

seen from Malaysia
seen from Türkiye
seen from China
seen from China

seen from United States

seen from Malaysia

seen from Netherlands
seen from Germany
seen from United States
seen from Russia
seen from United States

seen from United States
seen from China
seen from Russia

seen from United States

seen from Malaysia
I'm mostly doing a lot of drawing this week, but the game comes first! View Bobbing!

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Engine V2: Sprite Animations and Hitboxes
The old animation handling split images into arbitrary grids of frames with arbitrary offsets.
For example: This fish spritesheet contains 4 frames. The old engine saw this as two grids of 2x1 animation sets.
It ended up looking like this in motion:
All frames had to be the same size in the old engine because there was not a differentiation between the physical hitbox of a sprite and the currently playing animation dimensions for a sprite.
This unfortunate oversight resulted in a lot of weird artifacts in the game engine, which is why crouching didn’t actually do anything, etc.
It also meant that changing the size of the currently playing animation would cause weird physics clipping and other undesirable behavior.
The new animation engine treats every frame as an arbitrarily-sized slice of an image, and the sprites are centered on their location.
Because the hitbox is now separate from the dimensions of the animation, I have a lot of neat options available for things like spinning blades that previously would have been nightmare scenarios to get working properly.
IMPORTANT LESSON LEARNED FROM V1 TO V2: Hitboxes should be separate from the actual sprite rendered on screen because it’s easy to implement if done early and gives you a lot more flexibility.
Normally this would be the part where I’d show off a screenshot demonstrating a modified hitbox, but I don’t have scenes being built onscreen yet and even if I did there aren’t any physics yet to show off the hitboxes.
Stay tuned though, it’s moving quick.
Some small progress
Moved particles to a vertex shader, I was doing these on CPU in previous demos. I also added shaders to the automatic reloading system which I use for scripts and textures so now I can modify shaders while the game is running (you can see that in the first 3 gifs)
I also started adding items you can pick up.
Finally I’ve done some work in the engine, automating “compilation” of assets among other things.
Now almost any asset that is normally a text file will have an associated binary file built. During development the original files are used, on release the binary ones will be used to avoid parsing/loading time. Binary everything This includes:
Animations
Fonts
Levels
Character definition files
I was lazy in previous demos so I still left some things as text files! Other things will also do something similar
Shaders will be precompiled since HLSL has a standard bytecode format unlike OpenGL (Vulkan fixed this though!)
PNG textures to DDS for less processing at load time
Reached an important milestone today: detecting collisions against brushes!
I found out my BMFont rendering has been completely wrong for like a decade. The fontfaces exported by the ancient Hiero utility have completely messed up specs so I'm not touching it anymore. SnowB works much better anyway.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Damn, remember when MSAA was a relevant option for performance? I'm taking my nearly 15-year-old laptop with me to a con next weekend and hardcoding AA off instead of max took the game from barely playable to actually decent. #ScreenshotSaturday
Gonna prioritize adding a setting for that for the next update, lol. While we're at it I'll add a toggle for AF as well.
A quick preview of the first three chambers in the upcoming Patreon demo scheduled for the end of the month!
Speaking of which, here’s the plan for those:
Each new demo version that is released on Patreon will have some hand-crafted maps available to try out new game mechanics. These maps will range in difficulty from very easy to challenging, and my hope is that creating this extra content will help to keep the demos available to Patrons interesting and fresh!
These maps also offer a more solid, constructed way to enjoy the content that’s currently working in the game engine, without having a broken story-driven experience that stops abruptly at the most recent progress mark.
The story will, of course, be available in whatever stage of completion it happens to be in for those who would like to take a poke at it in the demo.
Also, some assets have been made over the last two days that I’d like to share!
They’re not terribly fancy assets, but they fit the theme that I’m using for the constructed levels.
Here’s a destructible block affected by gravity.
Here’s a destructible block that’s not affected by gravity.
...and here’s an item chest.
Nearly bedtime for me! Work in the morning.
This cough is nearly gone. I’ll be able to start streaming again soon. Hopefully by Friday we’ll be back on Twitch!
I’ll see you nerds again tomorrow with more progress. Cheers!
Last night I identified a couple of features that would make building using the in-game editing tools a lot smoother.
Building grid and waypoint visibility toggle are working now. Pictures above show in-progress and finished versions of the grid and waypoint visibility.
Other things that I’d like to have fully working before the demo goes live on Patreon:
Player death being handled properly Implement a different weapon for the demo because the rockets are janky still Map where players have the opportunity to test out fighting against RamSpiders Some basic puzzles for players to solve and a few more interesting rooms to play around with other components
The progress grind continues!