Articles are a great way to expand your knowledge as a programmer, by learning from the experiences of others. A good article is also interesting to read. Here is a collection of articles I recommend reading.
The Simulation Dream
Tynan Sylvester’s The Simulation Dream explains how to create a deep simulated world without super complex systems that would confuse players. It makes the point that the player’s perception of the game is more important than what the game is actually doing.
Tynan is the creator of RimWorld, my favourite game of all time.
Behaviour Trees are a nice way to construct game AIs. They allow you to control an NPC’s decision-making by combining reusable nodes rather than creating new states in a state machine. They’re great for making extensible worker NPCs. Below are the two articles I used to learn how behaviour trees work.
Enemy AI in Mafia III
Here is an interesting article about how enemy NPCs work in Mafia III, with stealth, cover, perception, tactics, and combat.
Physics for Game Programmers
This is actually a talk rather than an article, but it was too good to leave out. The creator of Box2D talks about how to implement a character controller with swept collision and an iterative solver. It’s dense but super interesting and the best resource I’ve found about building your own physics engine.
This is one of the most technically impressive things I’ve seen made in Minetest. It’s a base-building game where you command minions to build up the base and defend it from attackers. Without spoiling too much, they use TypeScript, their own JSX GUI API, data binding, and a hierarchical pathfinder.
I’m a big fan of RimWorld and have incorporated mechanics from it in my own games before, so this is pretty cool to see.
Stack Overflow has a reputation for being unfriendly to those asking questions, but it turns out that this is by design - SO’s primary purpose is to be a wiki for programming answers, rather than a place to ask questions. This interesting article by one of Stack Overflow’s founders explains the reasons behind the site’s design.
The Rewriting Curse
Written by the other founder of Stack Overflow, this article discusses the dangers of rewriting software from scratch.
YAML is a nice, simple format for configuration, right? Wrong. YAML has a shocking number of edge cases and foot guns.
- Image Stacks and iPhone Racks - Building an Internet Scale Meme Search Engine
- What I’ve learned about accessibility in SPAs
- aria-label is a code smell
I hope you found these interesting. Feel free to reply with any articles or talks you liked or think I might like.
Cover Image © Engin Akyurt