Skip to content

v4.4.0 — Isometric Mode

Choose a tag to compare

@eoinjordan eoinjordan released this 09 Jun 18:44
· 49 commits to main since this release

What's new

Isometric game mode

GBA Studio 4.4.0 introduces full isometric scene support.

Scene editor

  • New ISOMETRIC scene type — set it in the scene properties dropdown
  • Diamond grid overlay rendered as an SVG layer over the background
  • Actors and triggers placed using tile-grid coordinates (not screen pixels)
  • Actors depth-sorted by tileX + tileY + isoZ so near tiles draw on top

Actor isoZ field

  • Optional height layer on every actor (default 0 = ground)
  • Positive values raise the actor visually and bump its draw-order key

Trigger editing

  • Isometric triggers render as translucent orange SVG diamonds, one per covered tile

Compiler output

  • Isometric scenes emit gba_iso_scene_def_t (extends gba_scene_def_t with iso_tile_w/iso_tile_h)
  • Scene type id = 6
  • Actor/trigger coordinates are tile-grid indices; compiler warns on out-of-bounds placements

Project migration

  • Opening a pre-4.4.0 project automatically runs migration 420r3 → 431r1, adding isoZ: 0 to all existing actors

New Project Wizard

  • New GBA Isometric Adventure template: 20×15 scene, player actor, NPC with dialogue, dialogue trigger zone, scene-exit trigger

Example project

  • examples/isometric-adventure/ — same layout as the template, ready to open and compile

Documentation

  • docs/ISOMETRIC_MODE.md — full user guide
  • docs/ISOMETRIC_SCENE_FORMAT.md — C struct contract for runtime authors

Tests

  • 15 new unit tests covering coordinate conversion, depth sorting, diamond points, and the isoZ migration

Coordinate model quick reference

screen_x = (tile_x - tile_y) * 16
screen_y = (tile_x + tile_y) *  8  −  iso_z * 16
depth_key = tile_x + tile_y + iso_z