explaingit

tensor2023/openpixel-rpg

13TypeScriptAudience · vibe coderComplexity · 4/5LicenseSetup · hard

TLDR

Turn any real-world address into a playable pixel-art RPG with AI-driven characters that wander, talk, and react, powered by Google Gemini and OpenStreetMap data.

Mindmap

mindmap
  root((openpixel-rpg))
    What it does
      Address to game map
      AI character behavior
      Game master controls
    Inputs
      Photo upload
      Address or landmark
      NYC tile data
    AI Models
      Gemini world design
      Gemini image gen
      Gemini map review
    Tech Stack
      TypeScript React
      Python backend
      Google Gemini
    Use Cases
      Explore neighborhoods
      Build story worlds
      Interactive game master
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Convert a photo of your neighborhood into a playable pixel-art game world with AI characters.

USE CASE 2

Build an interactive story game set at any real-world address using OpenStreetMap building data.

USE CASE 3

Play as a game master, injecting events and editing character memories to shape how the story unfolds.

Tech stack

TypeScriptReactPythonGoogle GeminiOpenStreetMapGoogle Maps APINode.js

Getting it running

Difficulty · hard Time to first run · 1h+

Requires API keys for Google Maps, Google Gemini, and one additional service, plus Node.js 18+ and a Python environment.

Use freely for any purpose, including commercial, as long as you keep the copyright notice.

In plain English

OpenPixel-RPG is a web application that turns any real-world location into a playable pixel-art role-playing game. You give it an address, upload a photo, or name a landmark, and it generates a small interactive game world at that location complete with AI-driven characters who wander around, talk to each other, and react to events you trigger. The project is in an early alpha state and runs locally on your own machine. There are three ways to use it. In the first mode you upload any photo and the app converts it into a pixel-art game map. In the second mode you type in a New York City landmark name and it pulls pre-made tile data to build a map of that area. In the third mode you type any address on Earth: the app fetches building geometry from OpenStreetMap, captures a satellite-style view from Google 3D Tiles, and feeds both into an AI image model to produce a pixel-art map that matches the real building layout and colors. Once any map is ready, you click a button to populate it with characters and enter the world. The characters in the game are not scripted. Each one runs its own cycle: it perceives nearby entities and recent events, asks an AI model what to do next, carries out that action, and forms a memory of what happened. Over time those memories decay and are periodically summarized by another AI pass. Characters also track an emotional state that changes based on dialogue outcomes and events. You can play as a kind of game master, injecting events or editing a character's memories and traits to change how the story unfolds. All the AI workloads use Google's Gemini model family. Different Gemini models handle world design, image generation, quality review of generated maps, and real-time character behavior. No third-party AI agent framework is used, the perceive-decide-act loop is built from scratch. The project is built with TypeScript, React, and Python. Running it requires Node.js 18 or newer, Python with a few libraries, and API keys for Google Maps, Gemini, and one other service. The code is released under the MIT license.

Copy-paste prompts

Prompt 1
I cloned openpixel-rpg and have Google Maps and Gemini API keys. Walk me through the environment setup and how to generate a map from a New York City landmark and enter the game world.
Prompt 2
Using openpixel-rpg, how do I trigger a custom game event that changes a character's emotional state and forces them to react differently to other characters?
Prompt 3
I want to modify openpixel-rpg to load a real address outside NYC. How does the OpenStreetMap plus Google 3D Tiles pipeline work and where in the code do I change the location source?
Open on GitHub → Explain another repo

← tensor2023 on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.