Okama Studio v0.3.0

Build games with AI in your browser.

Okama Studio is a browser-based game engine and IDE for OkamaOS. Write Python + pygame games, preview with Pyodide, export signed .ok packages, and push directly to an OkamaOS device over your local network.

Version v0.3.0
Runtime Pyodide 0.26 WASM
AI Models Gemini + Qwen
Output .ok packages

Feature overview

Everything in the IDE.

IDE

3-Panel IDE

FileTree sidebar, Monaco Editor with a custom okama-dark theme, and a right panel for AI, preview, assets, packages, and version history. Everything a game project needs in one browser tab.

AI Agent

Okama Agent

Streaming agentic AI powered by Gemini or Qwen. The agent reads your entire project context, writes complete files, and can commit, branch, and create issues. No copy-paste required.

Preview

Live Python Preview

Pyodide 0.26 WASM runs your Python + pygame code directly in the browser. Stdout is captured in a scrollable console. No install, no local Python required.

Package

Package Builder

The Package Builder tab validates your manifest, signs the bundle with SHA-256, and exports a ready-to-install .ok file. Also generates a companion .ok.sig file.

Server

Dev Server Hosting

The Server tab shows your LAN IP and URL. Click "Publish to Dev Server" in the Package Builder and the game appears in Game Store on any OkamaOS device on your network — install wirelessly without USB.

Learn

Learn Hub

10-chapter Python × Pygame curriculum with live PyPlayground cells, theory, exercises with hint/solution toggle, an AI Tutor panel, and XP tracking in localStorage.

Assets

Asset Manager

Drag-and-drop image and audio uploads. One-click AI integration prompt generation inserts the asset into your game code via the agent.

VCS

Version History

localStorage-backed version control — branches, commits (file snapshots you can restore), issues with labels, and pull requests with merge/close. Integrated with the AI agent.

Quick start

From zero to .ok in four steps.

Open Studio & pick a template

Visit the Studio URL. The Dashboard shows a "New Game" wizard with 4 genre templates — Platformer, Top-Down, Puzzle, and Arcade. The AI generates a working starter in seconds.

Build with the AI Agent

Open the Agent tab, describe what you want, and the AI writes complete files into your project. It can read your code, create branches, and run your game in the preview panel.

Preview with Pyodide

Click Preview to run your Python + pygame game in-browser via Pyodide WASM. The console panel shows stdout. Iterate quickly without leaving the browser.

Export as .ok

Open the Package tab. Fill in your publisher ID and version, then click "Build Package". Studio validates the manifest, signs it with SHA-256, and downloads mygame.ok.

Configuration

API Keys

Studio API keys are stored in your browser's localStorage only — they are never sent to any server. Keys are required to enable AI features.

Go to Settings in Studio to enter your keys. The free-tier Gemini model (gemini-3.1-flash-lite-preview) works with a free Google AI Studio API key.

Free tier

Gemini 3.1 Flash Lite Preview

The default model. Works with a free Google AI Studio API key and has generous rate limits for game development use.

15 RPM 250 TPM 500 RPD
  • No billing required for the free tier.
  • Paid tier unlocks Gemini 2.5 Pro and Gemini 3.1 Pro.
  • Qwen Max/Plus/Turbo available as alternatives.

AI Agent

Agent Tool Reference

The Okama Agent uses XML-format tool calls parsed from its streaming response. Nine tools are available; the agent picks the right ones automatically. You can also ask for specific tool actions by name.

write_file

Write complete file contents to a project path. The agent always sends full file contents — no partial patches.

read_file

Read the current contents of any project file. Used to inspect code before making changes.

delete_file

Remove a file from the project. Used when refactoring or cleaning up generated code.

list_files

List all files in the project (or a subdirectory). Used to understand project structure before writing.

search_files

Search project files for a pattern. Used to locate functions, imports, or any text before editing.

commit

Create a commit snapshot of the current project state with a message. Stored in localStorage version history.

create_branch

Create a new branch in the version history. Use for experimental features or parallel game variants.

create_issue

Add an issue to the project's version history. Useful for tracking bugs or feature requests as you build.

run_preview

Trigger the Pyodide preview panel to run the current project code. Used to test a game after writing.

Wireless deployment

Dev Server → OkamaOS Device

The Dev Server lets you push games from Studio directly to an OkamaOS device on your local network — no USB stick required.

  1. Open the Server tab in Studio — copy your LAN URL (e.g. http://192.168.1.42:3000).
  2. Build your game in the Package tab and click "Publish to Dev Server".
  3. On your OkamaOS device, go to Settings → Game Store and press X.
  4. Enter your Studio LAN URL in the overlay. The device fetches the catalog from Studio and lets you install your game directly.
v0.3.0

Dev Store API

Studio runs a lightweight Express API alongside the Next.js dev server. OkamaOS devices consume the same catalog JSON format as the public portal.

GET /api/dev-store
  • GET /api/dev-store — catalog JSON
  • POST /api/dev-store — upload .ok bundle
  • DELETE /api/dev-store — remove game by ID
  • GET /api/dev-store/info — server LAN info

Learn Hub

Python × Pygame curriculum, built in.

10 chapters from variables to collision detection. Each lesson has theory, a live PyPlayground cell you can edit and run, an exercise with hint/solution toggle, and an AI Tutor panel that answers questions in context. XP tracks your progress.

Ch 1–3

Python Basics

Variables, loops, functions — with live code cells you edit and run instantly.

Ch 4–7

Pygame Core

Drawing, animation, input, collision detection — every concept with a working example.

Ch 8–10

Full Game

State machines, save data, and the controller input protocol — ship a complete .ok game.