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...
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
5-minute 32x32 Apple Timelapse. was trying to get the subtle pinks and oranges in, was hard to do fast haha #pixelart
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
2-minute 32x32 Diamond Pickaxe Timelapse. still got it 😎 #pixelart
Episode 5.5 is out of my little Minecraft series! I just wanted to get some Tuff and make decent progress on the house before the busyness of work kicks in this coming week! youtu.be/EmOJxpyzx70
Minecraft NZ Survival #5.5: Tuff Luck
YouTube video by ENDESGA
youtu.be
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.
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.
Episode 5 of my little Minecraft survival series is out, I chat about 3D printing Carbon Fiber, while prepping for a base youtu.be/dU074tfvxaA
Minecraft NZ Survival #5: Foundations
YouTube video by ENDESGA
youtu.be
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!
I hyper-optimized the ergonomic geometry of an MX Master mouse, and it went from 143 grams just 34 grams
I hyper-optimized the ergonomic geometry of an MX Master mouse, and it went from 143 grams just 34 grams
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
making reliable, flexible, and functional UI is always an interesting challenge
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
Episode 4 is out! I talk about the frustrations of modern OS-applications, while trying to find a Fortress in the Nether: youtu.be/9Up5l0IE5NU
Minecraft NZ Survival #4: Nether
YouTube video by ENDESGA
youtu.be
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?
Episode 3 is live! I talk about food, I try to find lava for obsidian, and get distracted a few times. Enjoy~ youtu.be/n4kJm4UKAt8
Minecraft NZ Survival #3: Obsidian
YouTube video by ENDESGA
youtu.be
Episode 2 is live! This one has more talking about some serious topics, and lots of resource gathering. But I enjoyed blabbering about what was on my chest; I mention NYKRA quite a lot near the end. Enjoy~ youtu.be/W8NjPW9Pgq4
NZ Survival #2: Ups and Downs
YouTube video by ENDESGA
youtu.be
started a little casual series where I play a Minecraft survival map of New Zealand, and it's just 1 hour of unedited ramblings. if you like that sort of content, have a watch! www.youtube.com/watch?v=4M60...
NZ Survival #1: Origin
YouTube video by ENDESGA
youtube.com
> TinyGW _ With C on Windows it's not very easy to get GCC for compiling code. Most portable environments are bloated. So I made my own build automation which makes one that's as minimal as possible! Only just enough for low-level games/tools: github.com/ENDESGA/TinyGW
GitHub - ENDESGA/TinyGW: Tiny GNU for Windows (via MSYS2)
Tiny GNU for Windows (via MSYS2). Contribute to ENDESGA/TinyGW development by creating an account on GitHub.
github.com
> you are loved, you are safe _ had some time with my synths and samplers, decided to capture a particular deep feeling that has been hard to express with words these 2 singles will be on all streaming services soon~ or get it now for free on my bandcamp: endesga.bandcamp.com/album/you-ar...
you are loved, you are safe, by ENDESGA
2 track album
endesga.bandcamp.com
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
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.