Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Vault Arcade

HIBIKIHIBIKI112 downloads

Snake, 2048, Blocks, and Minesweeper in a tab, on desktop and mobile, with keyboard or touch, offline. High scores are saved with your vault. More games are coming.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates2

Small classic games inside Obsidian, on desktop and mobile. Version 1.3 ships Snake, 2048, Blocks, and Minesweeper; Sudoku is planned.

Play

Open the arcade from the ribbon icon or the command Vault Arcade: Open. The tab opens on a menu with one entry per game and its best score.

Game Keyboard Touch
Snake (20×20, three speeds) Arrows / WASD steer, Space or P pauses, Enter starts, Escape quits Swipe anywhere in the view to steer, tap or the Pause button to pause
2048 (4×4) Arrows / WASD move, Enter starts, Escape quits Swipe anywhere in the view to move
Blocks (10×20, three speeds) Left / Right or A / D move, Up or W rotates, Down or S soft-drops, Space hard-drops, P pauses, Enter starts, Escape quits Tap to rotate, drag left / right to move (one column per 24 px), swipe down to hard-drop, swipe up to rotate, Pause button to pause
Minesweeper (9×9 / 11×11 / 16×16) Left click reveals, right click flags; Arrows / WASD move a cursor, Space reveals, F flags, Enter starts, Escape quits Tap to reveal, press and hold (half a second) to flag

Snake and Blocks keep a best score per speed level; 2048 keeps one; Minesweeper keeps one per board preset. The Minesweeper score is the number of safe cells revealed (there is no timer), the first reveal is never a mine, and the menu only offers presets whose cells are at least 32 px on a phone (24 px elsewhere); the chosen preset is saved with the plugin settings. Reaching 2048 shows a won screen with Keep playing. In Blocks all pieces share one color, a thin outline shows where the piece will land, the next piece is shown beside the well, the level rises every 10 lines, and a game ends when a new piece cannot enter the well. Keys pressed with Cmd, Ctrl, or Alt are left to Obsidian.

What it stores and does not do

  • Settings and high scores live in the plugin's data.json inside your vault, so they follow your vault sync. An in-progress game is kept in Obsidian's workspace layout (the view state Obsidian itself saves in workspace.json) so a background tab can be restored within the same session. Nothing else is written; no note is read or modified.
  • No network access, no telemetry, no external services.
  • Mobile is supported (isDesktopOnly: false); tested on iOS, not yet on Android. Requires Obsidian 1.13 or later.

Development

npm install
npm run dev     # watch build -> main.js
npm run build   # type-check + production build
npm test        # vitest (src/core only)
npm run lint    # eslint with Obsidian rules

src/core/ holds the game rules as pure functions (no Obsidian, DOM, timers, or random source of its own; randomness is injected) and is enforced by ESLint. src/ui/ holds the host: the view, input, rendering, and persistence. A game is a module under src/ui/games/ registered in registry.ts. Test names and comments cite acceptance criteria as AC-nnn; the list is in docs/acceptance-criteria.md.

Built from the author's plugin template (esbuild, vitest, eslint-plugin-obsidianmd); the template itself is not part of this repository.

HealthExcellent
ReviewPassed
About
Play classic arcade games inside Obsidian on desktop and mobile, including Snake, 2048, Blocks, and Minesweeper. Open the arcade from the ribbon or command, use keyboard or touch controls, and save high scores and settings in your vault for sync across devices.
InterfaceCommandsWorkspaces
Details
Current version
1.3.1
Last updated
Last month
Created
Last month
Updates
2 releases
Downloads
112
Compatible with
Obsidian 1.13.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Sponsor
GitHub Sponsors
Author
HIBIKIHIBIKIhibiki
GitHubhibikihata
  1. Community
  2. Plugins
  3. Interface
  4. Vault Arcade

Related plugins

Note Toolbar

Add customizable toolbars to your notes.

Commander

Customize your workspace by adding commands everywhere, create macros and supercharge your mobile toolbar.

Lean Terminal

Embedded terminal panel powered by xterm.js and node-pty - no external windows.

Hearth

A beautiful, heavily customizable home screen — dashboard, launchpad, mission control, homescreen, search - all in one. As simple or complex as you need.

Hotkey Helper

Easily see and access any plugin's settings or hotkey assignments (and conflicts) from the Community Plugins tab.

Tray

Run Obsidian from the system tray for customisable window management and global quick notes.

Slash Commander

Customize the slash command list, assign each command an icon.

Refresh Any View

Allows to refresh any view without reopening it.

Copilot

Run AI agents such as Claude Code, Codex, and OpenCode inside your vault. Turn your second brain into a smart assistant that gets knowledge work done.

Homepage

Open a note, base, or workspace on startup, or set it for quick access later.