VR Revolver
A small experiment with tactile gunplay in VR, powered by modular systems I had previously written.
Game Programmer
A small experiment with tactile gunplay in VR, powered by modular systems I had previously written.
A first-person action 5v5 PvP FPS, similar to Capture the Flag. Players move faster when invading enemy territory, and become stronger in combat when defending.
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, … Read more
An AI that flocks, explores its environment, and avoids collisions with static and dynamic objects.
A framework for AI using context maps in 2D/2.5D space, oriented around decoupling and debugging.
An AI that explores its environment while avoiding collisions with static obstacles and other agents.
Overview To create this algorithm, I first looked at how NavMeshes work. We can’t add all possible points on the mesh, since those are effectively infinite, so instead we simplify polygons into single nodes, and connect those that have a common edge. After processing this with our pathfinder, we can interpolate the details. Simplifying this … Read more
Pair of related character controller frameworks, as well as related toolsets for each. One is for fighting games, one is for RPGs and platformers.
Whether in games or more traditional media, it’s hard to tell a story without any verbal or written interaction. Oxford Languages defines a conversation as “a talk […] between two or more people.” To decompose this into something more technical: A conversation is a sequence of exchanged words between two or more participants. Unity provides … Read more
Like many systems, the systems by which a player moves have facets and layers of complexity, built on a layer of physics such as gravity and collision response. For the most basic implementation, the collision response facet is matched by a movement facet that turns input directly into in-world horizontal motion, after scaling by some … Read more