Game Transform Systems
SkillMediaDesign and debug game transform systems, coordinate spaces, local/world/view/projection matrices, homogeneous coordinates, camera constraints, and inverse transforms. Use when implementing object transforms, camera math, parent-child transforms, projection/unprojection, or coordinate-space conversions.
Use Game Transform Systems in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Game Transform Systems and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Game Transform Systems 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 hashgraph-online/awesome-codex-plugins in plugins/LVTD-LLC/skills/skills/game-transform-systems/SKILL.md and read by ahel’s review.
Use this skill to make transform code explicit, composable, testable, and consistent across gameplay, rendering, physics, and tools.
Primary source: Geometry for Programmers by Oleksandr Kaleniuk (https://www.manning.com/books/geometry-for-programmers), transformed and paraphrased, especially chapter 4. Additional source: Khronos glTF 2.0 specification transform and coordinate-system conventions (https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html).
Core Workflow
- List every coordinate space involved: model, local, parent, world, view, clip, screen, texture, grid, or field space.
- Define conventions once: handedness, up axis, units, row/column vectors, matrix memory layout, multiplication order, angle units, and quaternion order.
- Name transforms by direction, such as
local_to_worldandworld_to_view. - Compose transforms in one place and cache composed matrices when reused.
- Use inverse transforms to move queries into simpler spaces, especially for picking, SDFs, fields, and object-local collision.
- Keep camera construction explicit: position, target or forward vector, up vector, field of view, aspect ratio, near/far planes.
- Verify with round-trip tests and debug axes before tuning gameplay behavior.
Design Rules
- Treat transforms as first-class data, not hidden side effects in helper methods.
- Prefer one canonical transform chain for rendering and gameplay. Add adapters at engine or asset boundaries.
- Use homogeneous coordinates when translation, projection, and matrix composition must live in one pipeline.
- Use affine transforms for ordinary rotation, translation, scale, and shear.
- Use projective transforms when perspective, projection, or planar warping is part of the problem.
- Apply the inverse transform to an SDF or field input instead of rewriting the field's formula for every object transform.
- Transform normals with the inverse transpose when nonuniform scale or shear is possible.
Camera And Projection Checks
- A camera needs enough constraints to define orientation. A position and target still leave roll ambiguous without an up/right/down vector or equivalent.
- Near and far planes should fit the playable range; sloppy values harm depth precision.
- Projection and unprojection should be tested with known points at screen center, viewport corners, near plane, and far plane.
- Screen-space y direction and pixel-center conventions must be documented for picking and UI/game interaction.
Transform Debug Checklist
- Draw local axes for selected objects.
- Draw camera frustum and near/far planes.
- Log transform direction in variable names.
- Assert matrices are finite before submitting to rendering or physics.
- Test identity, translation-only, rotation-only, scale-only, parent-child, and inverse round trips.
- Test nonuniform scale if normals, collision, or child transforms are affected.
Common Mistakes
- Mixing row-major memory layout with row-vector math assumptions.
- Multiplying transforms in a plausible but wrong order.
- Recomputing inverse matrices inside tight per-point loops.
- Forgetting that
w = 0represents a direction in homogeneous coordinates, whilew = 1represents a point. - Applying object transforms to an SDF output instead of inverse-transforming the query point.
- Fixing a camera roll bug by changing asset orientation instead of camera constraints.
Signals
- GitHub stars
- 1k
- Forks
- 316
- Last commit
- Oct 2026
Advanced
- Item type
- skill
- Key
game-transform-systems- Source
- github.com/hashgraph-online/awesome-codex-plugins
github.com/hashgraph-online/awesome-codex-plugins