Today I LearnedRSS

August 2025

Lecture Friday: This Problem Changes Your Perspective On Game Dev

The early part is just a classic solution to the explore/exploit problem of optimization. This is just multi-armed bandits for humans.

One piece of knowledge to add is that the local minimum described is not actually a problem in high dimensional spaces (like the set of all possible games that could ever be created). The real problem becomes saddle points because it's usually that a few dimensions enter conflict while others are still free to roam but uninteresting in the current state. While the random jumps do help escape the saddle, one of the keys is focusing on something you're not focusing on. Try to move in a random direction by, say, introducing a new constraint or adding a feature from a completely different genre and seeing what happens. In a sense, add a brand new dimension you weren't paying attention to that will pull you in some direction and then see if you found a new path to a great game even if you get rid of the change that finally figured out what's better overall.

I also really enjoyed the bit about having people who are building different prototypes switch prototypes when each thinks they have something interesting. Get them each invested in the other idea instead of just designing their own. Fantastic idea. Way better than try and compromise or do both.

Overall, the boat metaphor makes a great way to remember all these points. Also, notice that absolutely none of this is limited to games. This is all about designing things with a coat of gamedev paint.

True Stuff: Socrates vs. the Written Word

https://wondermark.com/socrates-vs-writing/

I often bring up this bit of Plato whenever someone shouts about kids on lawns. Great to know about in case someone starts droning on about the world they were born into being the only way things could possibly work.

Lecture Friday: Juice It Or Lose It

Great talk showing a bunch of simple techniques you can use to take a video game up a level. But be careful with all these visual effects. It can become overwhelming for some people so it's always great if you can turn off unnecessary motion and flashing in the settings. Otherwise, great piece to quickly run through a number of the best little tricks.

Metacrap: Putting the Torch to Seven Straw-men of the Meta-utopia

https://people.well.com/user/doctorow/metacrap.htm

If you fell for or keep falling for ontology projects, semantic web, unified type systems, or other grand global metadata projects, this one's for you. Get ready to understand why it is, without a doubt, doomed to utterly fail from the start. Why there are very real systemic forces that will guarantee any large project on such a journey will end in ruin.

Reflections on Trusting Trust

https://www.cs.cmu.edu/~rdriley/487/papers/Thompson_1984_ReflectionsonTrustingTrust.pdf

An absolute classic paper. Well worth the read. The essential concept is that a self hosted compiler (one that compiles itself from source code) is a system responsible for its own authenticity. You could add a backdoor to a build of the compiler that injects that backdoor when it compiles the compiler. The source code wouldn't need to contain that functionality going forward and nobody's reverse engineering the compiler to look for it. It could sit undetected. Seem too far fetched? Well, it kind of happened in LLVM.

Testing Theories of American Politics: Elites, Interest Groups, and Average Citizens

https://www.cambridge.org/core/journals/perspectives-on-politics/article/abs/testing-theories-of-american-politics-elites-interest-groups-and-average-citizens/62327F513959D0A304D4893B382B992B

Economic elites and organized groups representing business interests have substantial independent impacts on U.S. government policy, while average citizens and mass-based interest groups have little or no independent influence.

Friday Lecture: Rust and Other Interesting Things

The Rust is fine, but the framework for thinking about software project values is fantastic. Love applying this every time I work on a system to solidify what matters, in what order, and thus better make trade-offs in the overall design. Also, shout out to OpenBSD!