Pinned Tweet
New devlog discussing the updated aesthetic for Candlewyth. The next goal is to get a demo out.
etscrivner.itch.io/candlewyt…
Eric Scrivner retweeted
The more I dig into other data structures and algorithms, the more I find that my reliance on hash tables for tons of stuff was ignorance, not efficiency.
I’m on a mission to remove as many hash tables as possible.
The tedious constructions in Beckett’s “Watt” and AI writing bear more than a little resemblance.
One thing that's been really bugging me lately about AI writing, not because it's AI but just because it's bad writing, is the negation of stuff that nobody was saying or ever really would say.
"Every ingredient has a job on a steam table."
On the surface, this seems like an informative statement, but it's completely immaterial. Every ingredient in something always has a job. Otherwise why would it be there? The whole construction is a waste of your attention.
Eric Scrivner retweeted
A single-header, near drop-in replacement for stb_image.h v2.30 that keeps stb_image's API and hands all decoding to Wuffs, a memory-safe (but still quite fast) image decoder library. Supports WebP, and is way faster for loading PNG.
github.com/richgel999/stb_im…
Wrote the simplest, fastest profiler imaginable and optimized the dungeon view back to a consistent 50FPS on the Playdate.
Eric Scrivner retweeted
I wrote a blog post about what I call the "AI-last" methodology.
This approach improves on the problems caused by people trying to be "AI-first"
blog.wispem-wantex.xyz/posts…
Eric Scrivner retweeted
I always thought it was a shame that modest default stack setups made alloca() a generally-frowned-upon technique in C/C++. With 64 bit architectures, give every stack a virtual address space equal to the physical memory by default!
You can do a surprisingly good job of memory management with just the stack, and I contend that it has both correctness and performance advantages.
Allocations are a trivial pointer adjustment, and frees are literally free. Keeping everything linearly packed is friendlier for all layers of the cache hierarchy, and it makes keeping everything in huge / gigantic pages easy.
Leaving temporary intermediate blocks on the stack can seem wasteful, but unless you are dealing with algorithms that make > O(n) temporary allocations, it is usually not a big deal.
Static analysis can check if you store a stack pointer into a structure deeper in the stack, which is a use-after-free, and then memory management correctness is guaranteed.
The discipline of caller-allocates-return is awkward in some dynamic cases. It would take a change in low level calling conventions, but you could plausibly have functions that return with the stack extended from where it was when they were called. I’m not holding my breath for that.
It isn’t obvious if having AI coding agents makes discussions of software architecture more or less important!
Eric Scrivner retweeted
This is a challenge all game makers face, and it's magnified during downturns.
The solution? Make a great game, make it efficiently, and set the budget based on to the size of the audience that will pay for it.
Technology that helps achieve that is, in my opinion, good.
Eric Scrivner retweeted
Bach G major prelude from Well-Tempered Clavier Book I, excerpt. Proportions are still a bit off, tone/touch and phrasing not according to my conception of the piece, but it’s getting there. I will play it well.
Eric Scrivner retweeted
BREAKING: eMudhra exits SSL/TLS certificate business, blames social media instead of incompetence for the same
I think this is why retro consoles are having a come back. May accelerate that trend. We don’t necessarily need “more powerful” hardware anymore.
Nice piece in the vein of games criticism. I especially like the idea of exploring “ludoancestry” as a means of improving “discovery” in games.
Having been in the business of making games for a long time, yeah a lot of games are like.. not great! I think everyone should at least consider thinking about their gaming diet and if they can make little changes.
Relevant talk I gave:
buttondown.com/melodicambien…
Relinking the talk here for myself
🔗 buttondown.com/melodicambien…
Eric Scrivner retweeted
I know I might sound like an old record, but why does undoing a change in a material take seconds?
I don't care if it's 10 or 2.
Why is the unit of measurement *seconds*?
I will not stop pointing this out until developers everywhere understand how fast PCs are.



























