GitVille

🏘️ GitVille - The GitHub City Generator

GitVille Header

✨ Create Your Own City ✨

Turn any GitHub Profile or Repository into a living, breathing isometric metropolis.


🌟 What is GitVille?

GitVille is a procedural generation engine that turns GitHub data into an interactive, isometric city. Every Follower or Stargazer becomes a unique house, creating a living visualization of a community.

Originally designed to visualize just this repo’s stargazers, it has evolved into a universal “City Explorer” for the entire GitHub ecosystem.

Commercial Friendly: Built with MIT-only libraries and vanilla JS. Suitable for embedding in portfolios, presentations, or SaaS dashboards.


🚀 Two Ways to Explore

We built a dedicated tool to generate, preview, and download city snapshots instantly.

👉 Click Here to Open the Creator Tool

2. The “Explorer Mode”

View the city in its full interactive glory—with weather, day/night cycles, and walking citizens.

https://addressmehari.github.io/GitVille/web/?u={USERNAME_OR_REPO}


✨ Features


🛠️ Technical Details

The core of GitVille is a lightweight, dependency-free JavaScript engine located in web/script.js.

🏗️ City Generation Algorithm

  1. Data Fetching:
    • Fetches the target profile/repo info from GitHub API.
    • Pulls a sample of real followers/stargazers.
    • If the community is huge (e.g., 50k stars), it procedurally generates “Ghost Citizens” to fill the city without hitting API rate limits.
  2. Zoning:
    • Uses a diamond-expansion algorithm to create city blocks.
    • Allocates slots for houses and generates a connected road network.
    • Injects trees into empty slots (20% probability) for organic distribution.
  3. Rendering:
    • Custom HTML5 Canvas isometric renderer.
    • Handles z-sorting (depth) to ensure correct occlusion of buildings.

⚠️ API Limits

GitHub allows 60 requests/hour for anonymous IP addresses.


📂 Project Structure

GitVille/
├── data/               # Static JSON data (for the default view)
├── scripts/            # Python helpers & SVG generators
├── web/                # The Frontend Application
│   ├── images/         # Asset textures
│   ├── create-own/     # The "Card Creator" Tool
│   ├── script.js       # Main Game Engine & Logic
│   ├── style.css       # UI Styling
│   └── index.html      # Entry Point
└── output/             # Generated artifacts (e.g. SVGs)

Day Mode Terrace Mode
Roads Scale

Made with ❤️ for the Open Source Community

MIT License • Created by Addressmehari