MCPcopy Index your code
hub / github.com/amilich/isometric-city

github.com/amilich/isometric-city @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1,102 symbols 2,503 edges 143 files 159 documented · 14%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

IsoCity & IsoCoaster

Open-source isometric city and theme park builder built with NextJS, TypeScript, and HTML5 Canvas.

IsoCity IsoCoaster
City builder with trains, planes, cars, and pedestrians iso-city.com Theme park builder with roller coasters, rides, and guests iso-coaster.com

Made with Cursor.

Features

  • Isometric Rendering Engine: Rendering with HTML5 Canvas (CanvasIsometricGrid) capable of handling complex depth sorting, layer management, and both image and canvas sprites.
  • Dynamic Simulation:
    • Traffic System: Autonomous vehicles including cars, trains, planes, buses, and seaplanes.
    • Trains, bridges, buses, barges, and more: Vehicles will navigate throughout your city and respect traffic lights.
    • Pedestrian System: Pathfinding and crowd simulation for city inhabitants.
    • Economy & Resources: Resource management, zoning (Residential, Commercial, Industrial), and city growth logic.
  • Interactive Grid: Tile-based placement system for buildings, roads, rail, parks, utilities, and more.
  • State Management: Save and load functionality for multiple cities.
  • Responsive Design: Mobile-friendly interface with touch friendly controls, drawers, and toolbars.

Tech Stack

  • Framework: Next.js 16
  • Language: TypeScript
  • Graphics: HTML5 Canvas (No external game engine libraries; pure native implementation).
  • Icons: Lucide React icons.

Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • npm

Installation

  1. Clone the repository bash git clone https://github.com/amilich/isometric-city.git cd isometric-city

  2. Install dependencies bash npm install

  3. Run the development server bash npm run dev

  4. Open the game Visit http://localhost:3000 to play IsoCity. Visit http://localhost:3000/coaster for IsoCoaster.

Contributing

Contributions, bug reports, and feature requests are welcome.

License

Distributed under the MIT License. See LICENSE for more information.

Extension points exported contracts — how you extend this code

BridgeOpportunity (Interface)
Bridge opportunity data
src/lib/simulation.ts
VinnieDialogProps (Interface)
(no doc)
src/components/VinnieDialog.tsx
Building (Interface)
(no doc)
src/games/coaster/types/buildings.ts
CameraState (Interface)
(no doc)
src/core/types/rendering.ts
MultiplayerContextValue (Interface)
(no doc)
src/context/MultiplayerContext.tsx
OGData (Interface)
(no doc)
src/app/thumbnail/page.tsx
TipDefinition (Interface)
(no doc)
src/hooks/useTipSystem.ts
MinState (Interface)
(no doc)
src/lib/shareState.ts

Core symbols most depended-on inside this repo

has
called by 76
src/lib/performanceUtils.ts
gridToScreen
called by 51
src/components/game/utils.ts
get
called by 51
src/lib/performanceUtils.ts
jitter
called by 44
src/components/game/effectsSystems.ts
offsetPoint
called by 40
src/components/game/railSystem.ts
set
called by 40
src/lib/performanceUtils.ts
cn
called by 39
src/lib/utils.ts
getBuildingSize
called by 31
src/lib/simulation.ts

Shape

Function 889
Interface 161
Method 38
Class 14

Languages

TypeScript100%

Modules by API surface

src/lib/simulation.ts88 symbols
src/components/coaster/CoasterGrid.tsx54 symbols
src/components/game/railSystem.ts52 symbols
src/lib/performanceUtils.ts46 symbols
src/components/ui/Icons.tsx38 symbols
src/context/CoasterContext.tsx37 symbols
src/components/game/gridFinders.ts33 symbols
src/components/buildings/IsometricBuildings.tsx33 symbols
src/components/game/trainSystem.ts32 symbols
src/context/GameContext.tsx31 symbols
src/components/game/pedestrianSystem.ts29 symbols
src/components/game/drawPedestrians.ts27 symbols

For agents

$ claude mcp add isometric-city \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact