Skip to content

mallond/Tinylama-Slots

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 

Repository files navigation

TinyLama Slots

Screenshot 2026-03-10 131922

A skinnable, browser-based slot machine starter you can theme and ship quickly.

This project is designed like a build skill: swap art, tune sounds, adjust copy, and you can produce a new themed slot experience with minimal code edits.

Try it.

What this gives you

  • 3×4 slot layout with animated reels
  • Overlay reel animation with row masking (no symbol bleed)
  • Themeable top/middle/bottom visual panels via image assets
  • Lightweight Web Audio engine (ambient hum + spin/click/stop/win sounds)
  • Adjustable hold timing and ambient control
  • Audit + RTP panel for quick verification
  • GitHub Pages-ready output from /docs

Project structure

.
├── artifacts/         # working assets + source index.html
├── docs/              # deploy-ready app (GitHub Pages root)
├── README.md
└── ...

Rule of thumb: edit both artifacts/index.html and docs/index.html together (or edit one and sync), so local iteration and deploy output stay aligned.

Skinning/Theming workflow (quick recipe)

1) Replace visual assets

Drop your PNG/JPG assets into artifacts/ and docs/:

  • neon_breath_header_top.png (top section)
  • neon_breath_reels_panel.png (reel panel)
  • neon_breath_bottom_controls.png (audit/controls panel)
  • tile_background.png (middle outer frame)

Then map them in CSS variables (:root) inside index.html:

--headerBg: url("./your_header.png");
--reelsBg:  url("./your_reels_panel.png");
--bottomBg: url("./your_bottom.png");
--middleBg: url("./your_middle.png");

2) Update theme language/copy

Common labels to customize:

  • Title badge and pills
  • Main button text (Breath in, Hold / release text)
  • Slider labels (Om, Hold)
  • Audit panel naming

3) Tune symbol set + payouts

In JS:

  • SYM = symbols/emojis
  • PAY3 = paytable
  • REELS = reel strips (distribution)
  • PAYLINES = winning lines

Adjust these to change behavior and RTP characteristics.

4) Tune reel feel (motion)

Primary controls:

  • BASE_DURATION, STAGGER
  • preview spin behavior in startHoldPreview()
  • stop easing (EASE_OUT)
  • row mask behavior on .reelWindow

5) Tune sound profile

LofiSlotSound controls all audio layers.

  • Ambient bed/hum (volume slider controls this only)
  • Reel spin bed (soft motion texture)
  • Reel clicks (reelTick) and density/timing
  • Reel stop bell + win shimmer

For a new skin, target a distinct sound identity:

  • Calm/zen: lower transient clicks, warmer lowpass
  • Arcade: brighter clicks, tighter stop bells
  • Mystic: softer attacks, wider shimmer decay

Local iterative dev

Serve docs/ locally:

cd tinylama-slots/docs
python3 -m http.server 8090

Open: http://localhost:8090

Use hard refresh when changing images/audio behavior.

Deploy (GitHub Pages)

Repo is configured to publish from:

  • Branch: main
  • Folder: /docs

Push to main, wait for Pages build, then open:

https://<github-user>.github.io/<repo-name>/

Production checklist for new themed slot

  • Replace all background assets
  • Validate symbol readability at mobile sizes
  • Confirm no reel bleed between rows
  • Set default hum to subtle level
  • Verify click density and loudness on phone speakers
  • Run RTP sample and sanity-check payouts
  • Update title/branding text
  • Test in local server + GitHub Pages

Reuse blueprint (clone-and-skin)

When creating the next experience:

  1. Duplicate this repo or branch from it
  2. Swap assets + copy
  3. Tune symbols/paytable/reels
  4. Tune audio character
  5. QA on mobile viewport
  6. Push and publish

This gives you a repeatable pipeline to pump out themed slot variants quickly without rebuilding core mechanics each time.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages