Cursed C++: reinterpret_cast (yes, all of it)
For a standard feature, it’s staggeringly easy to misuse and cause undefined behavior. So what does the standard guarantee it really can do?
Game Programmer
For a standard feature, it’s staggeringly easy to misuse and cause undefined behavior. So what does the standard guarantee it really can do?
Demystifying SEGFAULT, and using standard C functions to resume execution for a limited time. Resource leaks are the least of our concerns when undefined behavior and instability await!
In this deep dive: How do cross-DLL function calls work, what do dllimport and dllexport do under the hood, and why does my compiler keep producing .libs next to my .dlls?
Ever needed to use some obscure library function only for it to be private?
Meet public_cast, an abomination unto good code that can see almost everything. Did I mention it’s entirely compliant with the C++ standard?
In this deep dive: CPU architecture basics, predicting function outcomes without calling them, and intercepting malloc.
The most fundamental problem of unloading and reloading code is that it can move–its contents, or the entire image. In this deep dive: vptrs, compiler design, and deducing object memory layouts.
A flexible, accessible RPG-style item ecosystem, published on GitHub and the Unity Asset Store.
A humorous, chaotic puzzler about a lumpy potato rolling around a magical house, built over the course of 2 semesters.
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.
An AI that flocks, explores its environment, and avoids collisions with static and dynamic objects.
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
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