TIC-80 fantasy console for DeepSeek Harness: 3-column embedded web player, 14 agent tools, live hot reload, and native CLI export.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:NoodleStormno/dsh-plugin-tic80
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
中文文档 | English
dsh-plugin-tic80 is a full-featured TIC-80 fantasy computer plugin engineered specifically for DeepSeek Harness (dsh). Explore more ecosystem plugins under the dsh-plugin topic.
It preserves 100% of TIC-80's official console capabilities while enabling conversational AI workflows where LLM agents can write game code, tracker music, world maps, sound effects, and sprite pixel art, running and testing games with live hot-reload in real-time.
⚡ Built for Rapid Prototyping
- 🎯 Instant Game Prototyping: Designed specifically for fast gameplay iteration and mechanic testing. Go from a natural language prompt to a playable, fully-featured retro game in seconds.
- ⚙️ Config-Driven Game Feel Tuning: Adheres to strict coding conventions where all tunable gameplay variables (such as jump impulse
jump,gravity, movementspeed,friction) are grouped into a configuration table (cfg = { ... }) right at the very top of the code. Effortlessly tweak platforming feel and physics without digging through complex game loops! - 🗺️ WYSIWYG Level Design with Map Editor: Avoid hardcoding massive 2D level tables in Lua. Design and edit levels directly with TIC-80's built-in Map Editor (
F3). Powered by Sprite Flags for solid collision and dynamic entity parsing, level construction is completely "What You See Is What You Get".
🌟 Key Features
- 🎮 Full TIC-80 Capabilities:
- 240×136 retro resolution, 16-color customizable palette.
- Complete dual-bank architecture: Bank 0 (256 background Tiles) + Bank 1 (256 foreground Sprites), supporting multi-tile sprites (16×16, 24×24, 32×32) and 8-bit collision/interaction flags.
- 240×136 world map (32,640 tiles total).
- 4-channel chiptune tracker (64 patterns, 64 tracks, tempo & speed controls).
- 64 sound effects (SFX) with 30-note envelopes, arpeggios, and 16 custom waveforms.
- Lossless bidirectional conversion between
.luatext carts and official.ticbinary ROMs.
- 💬 Conversational Game Development:
- Exposes 13 typed model tools (
dsh-tools), allowing LLMs to design level maps, write Lua scripts, generate ASCII pixel art, synthesize retro sound effects, and arrange music through natural language. - Built-in static Linter checking Lua syntax,
TIC()entrypoint, 512KB memory budget, and sandbox safety.
- Exposes 13 typed model tools (
- 🚀 Embedded Web UI & Real-Time Hot-Reload:
- DSH Embedded 3-Column Studio: TIC-80 virtual game console is embedded directly into the DeepSeek Harness Web UI (Left: DSH sidebar, Middle: TIC-80 Console Screen, Right: AI Chat), providing an all-in-one game dev environment.
- Turn-1 Ready Blank Cartridge: Pre-seeded with
cartridge/game.luaand fully injected into the System Prompt. The LLM starts generating game logic and assets in Turn 1 without wasting turns re-creating cartridges. - Official TIC-80 WebAssembly Engine & Studio: Powered by the genuine official TIC-80 WebAssembly console (Emscripten / SDL2). Preserves the authentic retro CRT interface style, complete CLI command terminal, and built-in F1-F5 sub-editors (
F1Code,F2Sprites,F3World Map,F4SFX,F5Music Tracker,Ctrl+RRun,EscConsole). - Live Web Hot-Reload: Real-time WebSocket synchronization. Tool edits made by the LLM update the middle-column TIC-80 screen immediately.
- Native Desktop Runner: Headless CLI execution and desktop window integration with official
tic80.exe.
- 📦 Multi-format Exporters:
- One-click export to
.luasource carts,.ticbinary ROMs, and standalone playable.htmlweb games.
- One-click export to
- 🕹️ Pre-built Templates:
minimal,platformer,sokoban,rpg, andshmup.
📦 Installation & Setup
Using in DeepSeek Harness
Add the plugin to your cordis.yml or cordis.patch.yml:
- id: tic80
name: 'dsh-plugin-tic80'
config:
defaultTemplate: minimal # Options: minimal, platformer, sokoban, rpg, shmup
autoRun: true # Auto-start Web Live Studio
webStudioPort: 3088 # Web preview port
cartFilePath: './cart.lua' # Bind local cartridge file
Launch via dsh CLI:
dsh --profile web --patch ./cordis.patch.yml
Standalone Usage
npm install dsh-plugin-tic80
import { Context } from '@deepseek-ai/cordis';
import * as Tic80Plugin from 'dsh-plugin-tic80';
const ctx = new Context();
ctx.plugin(Tic80Plugin, {
defaultTemplate: 'platformer',
autoRun: true,
webStudioPort: 3088,
});
🛠️ DSH Tools Overview
| Tool Name | Description |
|---|---|
tic80_init |
Initialize a cartridge project from genre templates |
tic80_get_cart |
Inspect cartridge code, sprites, map regions, or audio state |
tic80_set_code |
Update game code (Lua/JS) with validation and hot-reload |
tic80_edit_sprite |
Draw 8×8 or multi-tile sprites using ASCII art (e.g. . transparent, 0-f colors) |
tic80_batch_sprites |
Batch define animation frames and tilesets |
tic80_edit_map |
Place tiles, fill areas, or load ASCII map diagrams on the 240×136 grid |
tic80_create_sfx |
Synthesize sound effects using presets (jump/coin/laser/etc.) or custom notes |
tic80_compose_music |
Compose 4-channel retro chiptune patterns and chain into tracks |
tic80_set_palette |
Switch 16-color palettes (Sweetie-16, PICO-8, DB16, GameBoy, Cyberpunk) |
tic80_validate |
Perform static checks on cartridge limits, syntax, and API usage |
tic80_run |
Launch Web Live Studio (with live hot reload) or native tic80.exe |
tic80_export |
Export cartridge as .lua, .tic, or standalone .html |
tic80_studio_status |
Query live studio status, connected players, and logs |
🧪 Automated Testing
Run the full test suite (100% passing across all modules):
npm test
📄 License
MIT License © 2026 NoodleStormno
Links
More in this category
PC2005-cloud/dsh-pet#dsh-pet★ 3496
Desktop pet for the DSH Web UI on Windows, macOS and Linux: 106 transparent animations in the browser overlay or a transparent always-on-top desktop window, throw-and-bounce drag physics with squash and particle scoring, a work-status bubble driven by live session events, self-talk and chat with persistent memory, balance display, meme-image bubbles, multiple pets on screen, and drop-in custom animations and pet packs.
Nagi-ovo/dsh-ads★ 682
Parody ads in 2005-Chinese-web style: sidebar banners, in-chat feeds, corner popups, and a close button whose hit area is smaller than it looks. All fictional.
vlln/whale-girl★ 375
Desktop pet (QQ-pet style): floats in the corner, draggable, feedable, playable.
yyh-001/dsh-meme★ 295
Chat meme stickers: text-only send, mood auto-send, QQ/WeChat-style picker, auto-learn, custom packs.
a86582751/dsh-nexttavern★ 191
NextTavern is a long-form roleplay plugin for DeepSeek Harness 0.1.7-rc.2 Web, with character-card import and creation, worldlines, worldbooks, layered long-term memory, keyword/semantic/hybrid retrieval, character agents, and card or novel export. SillyTavern character-card import is supported; v0.2.9 fixes distribution and installation.
Sutera-Diffusus/dsh-whale-musume★ 156
A whale-girl companion for DeepSeek Harness with 45 achievements, daily quests and weekly check-ins, three mini-games, 92 artworks, 620 dialogue lines, a growth journal, weather and festival reactions, per-tool work poses, cross-device save export/import (JSON file or migration code), accessibility mode and an optional MiMo TTS bridge. Data stays in the host localStorage with no telemetry. Verified on DSH desktop 0.2.0-rc.2; compatible with 0.2.1-rc.1/rc.2 and legacy 0.1.x web.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.