Skip to main content
skill CX Codex

isometric-grid-math — Claude Code skill for isometric coordinates

This skill guides an agent through grid-to-screen and screen-to-grid math for a 2:1 isometric projection. Use it to place tiles or pick a tile with the mouse.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add 0xheycat/isometric-game-skills --skill isometric-grid-math -a claude-code
Open on GitHub

What isometric-grid-math does

The skill provides the transform from a tile’s column and row to screen coordinates, plus the inverse needed to identify the tile beneath a cursor. It also accounts for a world-origin offset, which lets the grid start at a chosen screen position.

Set the tile width and height first, then round inverse-transform results to integer tile coordinates. The skill calls for a round-trip check and a documented anchor convention: tile top or tile center. Keep that convention consistent; otherwise, rendered placement and mouse picking can disagree.

What it helps with

  • calculate screen positions from tile coordinates
  • identify the tile beneath a mouse cursor
  • check inverse grid and screen transforms
  • keep tile anchor conventions consistent

Example prompts for the agent

  • Calculate screen positions from a tile's column and row using a 2:1 projection.
  • Add the inverse transform so a mouse click identifies its grid tile.
  • Check that converting an integer tile to screen coordinates and back returns the same tile.

How to install isometric-grid-math

1Skills CLI (Vercel)

npx skills add 0xheycat/isometric-game-skills --skill isometric-grid-math -a claude-code

2Manually: put the files in place

~/.claude/skills/isometric-grid-math/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/isometric-grid-math/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about isometric-grid-math

How do I install isometric-grid-math in Claude Code?

Run npx skills add 0xheycat/isometric-game-skills --skill isometric-grid-math -a claude-code. The skill file is at ~/.claude/skills/isometric-grid-math/SKILL.md.

What does isometric-grid-math do?

It guides an agent through both directions of coordinate conversion for a 2:1 isometric grid, including the inverse used for mouse picking.

How should I verify the coordinate transforms?

Convert integer grid coordinates to screen coordinates and back, then check that the original tile is recovered. Choose either the tile top or its center as the anchor and use it consistently.

Source text

SKILL.md · MIT
---
name: isometric-grid-math
description: Use when converting between grid coordinates and screen pixels in a 2:1 isometric projection, including screen-to-grid for mouse picking.
license: MIT
---

# Isometric Grid Math

## 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

1. Fix tile width W and height H (2:1 means W = 2*H).
2. grid->screen: screenX = (col - row) * (W/2); screenY = (col + row) * (H/2).
3. Add the world origin offset so (0,0) is where you want it on screen.
4. screen->grid (for picking): invert the transform using W and H.
5. Round screen->grid results to integer tile coords.
6. Validate round-trip: grid -> screen -> grid returns the original tile.
7. Document the anchor (tile top vs tile center) and stay consistent.

```js
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.

© 0xheycat · MIT · 0xheycat/isometric-game-skills

Similar skills

All skills for Science and research →

From the same set21

spritesheet-atlas-packing Packs individual isometric sprites into a power-of-two texture atlas and emits a frame coordinate JSON map. CX Codex +1 ★ 41repo stars seamless-isometric-terrain This skill helps generate isometric terrain tiles in ComfyUI and assemble maps without visible gaps, edge mismatches, or color drift. CX Codex +1 ★ 41repo stars isometric-pathfinding A pathfinding skill for isometric games: A* over the walkable tile layer, diagonal moves that never cut blocked corners, results returned as grid tiles. CX Codex +1 ★ 41repo stars isometric-object-sprites Creates isolated 2:1 isometric game props like trees and rocks with matching scale, contact shadows, and defined tile ground anchors. CX Codex +1 ★ 41repo stars isometric-character-sprites A skill that walks the agent through generating one isometric character in eight facing directions with a shared feet-anchor, so walking frames do not slide or sort wrong. CX Codex +1 ★ 41repo stars isometric-building-sprites Generates isometric building sprites locked to a specific tile footprint. Keeps depth sorting intact so characters walk around buildings naturally. CX Codex +1 ★ 41repo stars isometric-art-direction Set visual rules for an isometric project before generating assets. The skill helps keep tiles, sprites, and buildings consistent across prompts. CX Codex +1 ★ 41repo stars godot4-isometric-tilemap Sets up 2:1 isometric rendering in Godot 4 with TileMapLayer and Y-sort, so draw order and picking stop fighting you. CX Codex +1 ★ 41repo stars

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor