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

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

Bild

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 · 7mo ago

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

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

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.

Bild

software rendering is so fun, you often don't need sprites - you can just have a function that renders the pixels exactly how you want, pixel by pixel

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?

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 · 12mo ago

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

Bild

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.