ENDESGA

ENDESGA

@endesga.bsky.social

Programmer @NightdiveStudio :::. http://3dmath.xyz :::. C, Vulkan :::. deity of 7 and dodecahedra :::. creator of the EDG32 palette, and other pixel things

1.9K followers23 following132 posts

TWENTYSIXTEEN is now on some streaming services like Spotify! >> open.spotify.com/album/2PMozd... <<

open.spotify.comListen to TWENTYSIXTEEN - Album by Endesga | SpotifyEndesga · album · 2026 · 10 songs
ENDESGA@endesga.bsky.social

> TWENTYSIXTEEN _ What a crazy decade... I've gone and remastered (along with tempo adjustments and tweaks) 9 of my favourite songs from 2016, along with a new one to finish it off! It's free! Enjoy! endesga.bandcamp.com/album/twenty...

In my C code I've gotten a little obsessed with "automated" bitfields, after discovering that you can use the auto-count trick in an enum to determine how many bits are needed to hold the values. Is there a better way to do this? I'm curious if anyone else has explored this...

thought I'd post this mid-June because I don't know exactly when, but I started my game development journey 20 years ago! I was 9, my Dad showed me GameMaker 6, and I was hooked. I wonder what younger me would think of where I am today... never give up! never stop learning!

5-minute Diamond timelapse. I forget how much longer it takes to do complex light-transport with things like gems haha This came out pretty okay given how fast I did it - bit rough though #pixelart

For example, an RGBA 4K texture would be about 33MB in size. If you open up your Task Manager and look at how much memory different apps are using this should give you some perspective. I could have 10 4K static arrays in my code, no mallocs, and it's still less than 1GB of RAM.

ENDESGA@endesga.bsky.social

I find it fascinating how different you have to think to avoid Object-Oriented Programming. In C there's many moments where you realize "Wait, a fixed maximum array will be fine", and you end up saving overhead and complexity. Not using any malloc/free is quite... freeing

Obviously context matters, and caching often bloats apps. But I just find it super interesting how if RAM wasn't restricted you could absolutely just have static arrays for most of your application - no matter the size, just existing the moment you open it.

I find it fascinating how different you have to think to avoid Object-Oriented Programming. In C there's many moments where you realize "Wait, a fixed maximum array will be fine", and you end up saving overhead and complexity. Not using any malloc/free is quite... freeing

This is why I find C++ an interesting language, because things like constructors/destructors are inherit to the system. It's all rather implicit. If you write your entire program with Functional/Data-Driven paradigms you will notice a considerable simplification across your code

Measured, 3D printed, then sanded a custom wrist-rest out of Nylon Carbon-fiber 😎 Weighs barely anything, and feels as hard and as strong as metal.

Here's what it looks like assembled + some holes for weight reduction. I used the thumb-wheel as the main wheel since it's a lot lighter, and still works since it has a little magnet in it. With the wheel it's 36.4 grams!

ENDESGA@endesga.bsky.social

I hyper-optimized the ergonomic geometry of an MX Master mouse, and it went from 143 grams just 34 grams

I wonder if there's any benefits not having tabs for multiple images you're editing, and they all just exist in one big space... This would be quite useful for referencing or dealing with multiple textures 🤔 hmmm

wouldn't it be cool to have a hyper-minimal pixel art program that's able to use the most efficient OS methods to render directly to the window to reduce the overhead as much as possible, prioritising memory and speed, while also being <30KB for the entire executable?

This is pretty experimental, and involved going through the compilation process manually to pick out only the libraries that it complained about needing. It's extremely small, and is meant to act similarly to TinyCC! You just download it, uncompress it, and immediately compile!

it's interesting how often ideas come to me when I'm sitting in silence at a park/garden/forest. I realised a very efficient and minimal way to do tile-based shadow-casting (in C) that's completely software rendered - not using the GPU at all. this draws in <1ms

I find it fascinating that even when I try to contribute something to society, even when I make it public domain, people still find something to complain about. This is why I miss doing pixel art, because the worst complaint is "that doesn't look good to me" hahaha Which is easy to shrug off

Just pushed version 0.2: - If the image has more than 256 colors it just uses the first color. - PEP now supports RGBA/BGRA/ABGR/ARGB, and dynamically reformats depending on your input. - You can now choose to make the first color transparent when using pep_decompress(). <3

ENDESGA@endesga.bsky.social

I am proud to announce... PEP: Prediction-Encoded Pixels This format is able to compress images (up to 256 colors) smaller than GIF, PNG, QOI, BMP, in almost all cases. A lot of passion and research (and fixation) has gone into this: >> github.com/ENDESGA/PEP <<

I am proud to announce... PEP: Prediction-Encoded Pixels This format is able to compress images (up to 256 colors) smaller than GIF, PNG, QOI, BMP, in almost all cases. A lot of passion and research (and fixation) has gone into this: >> github.com/ENDESGA/PEP <<

3 years ago I had an idea to make a metaprogramming language that would utilize TCC's near-instant compile times to also act as a scripting language. last night I finally realized the final piece to make it work... it's Python-like, via a macro-abstraction.

please for the love of all things good have higher standards for the tools you use. stop using Unity, stop using Adobe tools, stop being complicit and actually support tools made by people who care about the tools and the customers. please, it's getting to the point where I'm genuinely worried.

it's either Stockholm Syndrome, thinking you're incapable, or being stuck in your comfort zone. in truth they're shackles made of smoke, and you just need to allow yourself to explore to realise how capable and skilled you really are. seek failure, and you will be left with only answers.

Nightdive just announced System Shock 2: 25th Anniversary Remaster! been working hard on it, and I can't wait for people to enter the Von Braun again!

I've gotten to the point where I'm convinced that anyone who justifies using humanoid robots has premeditated ways to justify human slavery. There is no reason whatsoever that a robot has to be humanoid, it's completely redundant, and only facilitates those who wish humans were more controllable.

your ability to learn dramatically improves when you seek how not to do something: every failure and mistake leads to more correctness. drawing a circle requires not drawing a not-circle. try to enjoy knowing how to do something via knowing how not to do it~ onwards to 2025