Isometric Grid Math
SkillMonitoring & opsUse when converting between grid coordinates and screen pixels in a 2:1 isometric projection, including screen-to-grid for mouse picking.
Use Isometric Grid Math in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Isometric Grid Math and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Isometric Grid Math skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by 0xheycat/isometric-game-skills in skills/isometric-grid-math/SKILL.md and read by Ahel’s review.
Overview
Every isometric bug eventually traces back to the coordinate transform. This skill gives the exact, tested grid<->screen formulas for a 2:1 projection so placement and picking are pixel-correct.
When to Use
- Tiles render in the wrong place or overlap.
- Mouse clicks select the wrong tile.
- You are starting a renderer and need the core transform.
Process
- Fix tile width W and height H (2:1 means W = 2*H).
- grid->screen: screenX = (col - row) * (W/2); screenY = (col + row) * (H/2).
- Add the world origin offset so (0,0) is where you want it on screen.
- screen->grid (for picking): invert the transform using W and H.
- Round screen->grid results to integer tile coords.
- Validate round-trip: grid -> screen -> grid returns the original tile.
- Document the anchor (tile top vs tile center) and stay consistent.
const screenX = (col - row) * (W / 2);
const screenY = (col + row) * (H / 2);
// inverse
const col = ((screenX / (W/2)) + (screenY / (H/2))) / 2;
const row = ((screenY / (H/2)) - (screenX / (W/2))) / 2;
Rationalizations (Stop Lying to Yourself)
| Excuse | Reality |
|---|---|
| "I will tweak offsets until it looks right" | Magic offsets break on resize/zoom. Derive the transform. |
| "Rounding does not matter" | Unrounded screen->grid selects the wrong tile near edges. Round it. |
Red Flags - STOP if you catch yourself:
- Hard-coded pixel offsets instead of a derived transform.
- No screen->grid inverse for picking.
- Round-trip grid->screen->grid does not return the same tile.
Verification
You are NOT done until every box is checked:
- grid->screen and screen->grid are both implemented.
- Round-trip conversion is exact for integer tiles.
- Anchor convention is documented and consistent.
Signals
- GitHub stars
- 25
- Forks
- 3
- Last commit
- Aug 2026
Advanced
- Item type
- skill
- Key
isometric-grid-math- Source
- github.com/0xheycat/isometric-game-skills
github.com/0xheycat/isometric-game-skills
More in Monitoring & ops
Skill · anthropics
More in Monitoring & opsagent-eval
Skill · affaan-m
More in Monitoring & opspricing
Skill · coreyhaines31
More in Monitoring & opslark-okr
Skill · larksuite
More in Monitoring & opsdashboard-builder
Skill · affaan-m
More in Monitoring & opsbabysit
Skill · thedotmack
More in Monitoring & ops