Skip to content

Arcade › Felt Mahjong

Felt Mahjong

  • 3d
  • puzzle
  • mahjong
  • match-three
  • mobile
  • timed
0
Remix it Discord

7 plays

How to play

Click the game above and it runs right here in your browser. No download, no installer, no account needed. Oleg Sidorkin built it with Cinevva, so it works on a phone or a tablet too.

Discussion

Nobody has said anything about Felt Mahjong yet. Play it, then tell Oleg Sidorkin what you would add next.

Make your own game

Felt Mahjong was built by Oleg Sidorkin with the Cinevva game creator: describe the game you want in chat, watch it get built, and play it in your browser minutes later.

Remix Felt Mahjong opens the real game in the creator and forks its actual files, chat and design doc, so you start from the code rather than from a description.

Read the build brief for Felt Mahjong

Cinevva's analyzer read this game's design doc and its source, then wrote the brief below. "Make your own" hands it to the game creator as your opening message, so you start from a real spec rather than a one-line idea.

Create a mobile-friendly 3D puzzle game titled “Felt Mahjong,” using an orthographic, slightly elevated top-down camera looking at a square green felt table. The camera should show a broad rectangular play area with a dark green background/table edge and subtle felt/grid weave lines. Use soft warm lighting with shadows cast to the lower/right side of cream-colored mahjong tiles, plus a cool green rim light. The visual style is polished, tactile, and softly rounded: ivory/cream tiles with tan beveled-looking sides, rounded corners, dark shadows, and a warm yellow selection outline.

At the top of the screen, overlay a compact HUD on top of the 3D scene: a dark translucent rounded-square pause button at upper left displaying “Ⅱ”; rounded dark translucent pills reading “Level 2,” “Collected 0/45” (the current collected count and total), and a digital timer beginning at “02:36.” On narrow screens, these stats may wrap beside the pause button. At the bottom, show the instruction text: “Tap exposed tiles. Collect three identical tiles before the tray fills.”

Populate the felt board with 45 tiles: 15 mahjong identities, with exactly three copies of each identity. The identities are Bamboo 1, Bamboo 5, Bamboo 8, Dots 2, Dots 6, Characters 3, Characters 7, East wind, South wind, West wind, Plum flower, Orchid flower, Bamboo 3, Dots 9, and North wind. Render each tile’s face as a cream canvas-like texture with a large colored symbol, its label, and a small uppercase suit name. Bamboo tiles use green bamboo motifs, dot tiles use blue dot patterns, character tiles use the red Chinese character 萬, winds use dark Chinese wind characters (such as 東), and flowers use colored flower symbols. Each identity should be visually recognizable and identical across its three copies.

Arrange the tiles in approximately 24 scattered board positions across the middle of the table, with stacks of 2 or 3 tiles at many positions and small offsets between layers. Use the layout as a loose spread rather than a traditional symmetric Mahjong solitaire formation: rows of stacks span left to right, with open green felt between groups. Randomly shuffle the 45 tile identities into these positions at the start/restart, so the visible arrangement and tile faces vary. Tiles are slightly rotated individually. The uppermost tile of a stack is exposed/free only when there is no remaining board tile on a higher layer whose x and z distance overlaps it; tapping a covered tile must not collect it and should briefly display a dark blocked overlay/pulse. Free tiles should have a very subtle warm outline/glow, while blocked tiles have a translucent dark overlay.

The player interacts by tapping/clicking exposed tiles. A valid tile animates smoothly from its board position into the next open position in a seven-slot holding tray along the lower portion of the table: it lifts in an arc, scales slightly, and settles into the slot. The tray is a horizontal row of seven dark green recessed rectangular slots with faint tan/yellow borders. Tray tiles remain face-up. When three tray tiles share the exact same identity, immediately remove those three tiles with no additional matching choice, increment Collected by 3, and compact the remaining tray tiles toward the left with a short animation. A tile identity must match exactly, not merely its suit or number. The goal is to clear all 45 tiles before time expires and before the holding row fills.

The timer counts down in real time from 156 seconds (02:36), updates in MM:SS format, and turns orange/red when 20 seconds or less remain. The game ends successfully when Collected reaches 45, showing a centered dark translucent rounded message such as “Level clear\nYou cleared all 45 tiles.\nTap here to restart.” If the seven-slot tray fills before a triple clears, end with “Try again\nThe holding row is full.\nTap here to restart.” If the timer reaches zero, end with “Try again\nTime ran out.\nTap here to restart.” Tapping the end message restarts the level with a newly shuffled board, reset tray, reset score, and reset timer. The pause button toggles pause/resume, changes to a play triangle while paused, and displays a centered “Paused\nTap ▶ to continue.” overlay; while paused, tile input and the countdown stop. When the game is over, the pause button can also restart the level. Keep the design touch-friendly, prevent page scrolling/zooming, and make the whole canvas fill the viewport.

More free browser games

Browse the whole Arcade →