Blog

  • Hot reloading: polymorphism

    Hot reloading has many problems to solve, but its most fundamental is correcting pointers to avoid the dreaded SEGFAULT. In this deep dive: vptrs, compiler design, and deducing object memory layouts.

  • Wave Function Collapse

    Wave Function Collapse is a procedural content generation algorithm that uses an extension of constraint solving. For example, a cell’s possible values might be constrained by the cells adjacent to it, or there might be a global limit like only allowing one boss room and 2-4 treasure rooms per floor. This is not to be…

  • Influence Maps, Ants, and Flocking

    An influence map is a grid-like data structure where each cell carries information about its surroundings. This is typically in terms of threat or safety, whether that be cover or line of sight on a target, squad cohesion or separation, range of potential attacks, or even emergency evasive action against incoming attacks. This makes it…

  • Flow Fields

    Flow fields are a technique applicable when many units need to pathfind to the same location. It is an extension of traditional pathfinding algorithms, but instead of only calculating one path per unit it calculates a path for every cell on the grid, reusing information from other known paths. This has a high immediate cost,…

  • Flocking and Context Maps

    An AI that flocks, explores its environment, and avoids collisions with static and dynamic objects.

  • Introduction to Context Maps

    An AI that explores its environment while avoiding collisions with static obstacles and other agents.