To get thst old school early 2000s isometric charm, I’ve been messing around with Pygame to render isometric tiles and buildings in orthographic projection. Isometric, and orthographic projections are ways to represent 3D objects in 2D. Orthographic means no perspective distortion, and isometric is a specific type of orthographic projection where the angles between axes are equal (typically 120° apart).
I started with some free assets and wrote Python utilities to convert standard grid coordinates into isometric space. The key to keeping my head straight while coding was to always imagine that everything is still happening on a simple 2D grid. The magic happens in how you transform and draw things: a square grid suddenly looks like a diamond-shaped isometric layout when you skew the rendering.
In the short animation here, you can see the relationship between the normal 2D grid and the isometric one. The blue empty squares represent buildings, while the solid blue square is a pawn moving around the map. This visual transformation helped a lot in debugging the coordinate conversion functions.

In the end, I didn’t stick with Pygame for rendering, but that’s a story for another post.