Unity Profiling: Finding the Real Bottleneck
Bumping up the FPS blindly is a waste of time. How to use the Unity Profiler to find the real bottleneck (CPU, GPU, draw calls or GC) before touching a single line of code.
Exploring the development of projects, applications, and video games. Reflections on design, productivity, and life as a developer.

Bumping up the FPS blindly is a waste of time. How to use the Unity Profiler to find the real bottleneck (CPU, GPU, draw calls or GC) before touching a single line of code.

An interface that hides whether data comes from the network, cache, or disk. How to swap the source without touching a single screen.

The best platformers feel fair because they cheat in your favor. A deep dive into coyote time, jump buffering, and other forgiving input tricks, with Unity/C# implementations.

Atomic Design splits the UI into atoms, molecules, and organisms. In large projects it works well. In agile ones, it can become premature abstraction. When each approach makes sense, and when feature-based is the better call.

Roguelikes depend on chance, but that chance has structure. A deep dive into seeds, determinism, and how to implement a reproducible RNG system in Unity/C#.

A* is the most well-known pathfinding algorithm, but modern games go far beyond: NavMesh, JPS, HPA*. This article explores why Dijkstra doesn't scale, how A* really works, and when to use each variant.

Feature flags are a simple idea that turns into silent debt. This article covers the full cycle: adding a flag with context, gradual rollout, and the part nobody documents: cleanup.

A deep dive into IVs, EVs, and breeding mechanics: what these systems can teach us about designing creature progression in games.

AI generates tests fast. That's exactly the problem. Why AI-generated tests often pass without being useful, and how mutation testing, combined with the right workflow, fixes that.

Fire Emblem's growth rates are simple percentage rolls, but they generate brutal variance, emotional attachment, and entire subcultures of save-state manipulation.