Skip to content

Releases: Timehue/ShinobiX

v0.2.0-beta — Second beta snapshot

Pre-release

Choose a tag to compare

@Timehue Timehue released this 14 Sep 15:10
957e3ae

This is the second beta snapshot of ShinobiX / Shinobi Journey, tagged from main as of 2026-09-14.

The beta runs in the browser at shinobijourney.com.

Since v0.1.0-beta on 2026-08-30, 542 commits have reached main, including 75 merged pull requests (#79 through #175). This release adds two story campaigns in the Celestial Tower, an optional onboarding journal, a rebuilt four-versus-four pet mode and a first real-money storefront. It also moves ryo, the village and clan treasuries, and PvP settlement further onto the server. It is still a beta, and the work that remains open is listed at the end.

docs/LIVE_PRODUCT_STATUS.md is the authority on what is live. Where it disagrees with any dated document, including these notes, it wins.

New content and modes

  • Echoes of War (#112) is a ten-floor story campaign in the Celestial Tower, played with the Chronicle Showdown card engine. Its wins pay Chronicle Points, a new server-tracked currency that now buys the Basic Card Pack instead of ryo.
  • Celestial Tower: The First Pact (#122) is a level-100 single-player pet campaign in the Sunken Court, with a walkable city, district writs and a repeatable Standing Court. Its fights pay no ryo, and its progression is decided by the server.
  • First Contract gives new players an optional illustrated field journal after the Academy that points them at their first activities. It adds no rewards and changes no balance.
  • Story campaigns now remember your choices, resume at the scene you left and grant an earned epilogue, and four companion field stories were added. Story scenes now use the cinematic presentation throughout, and they no longer replay over the fight they started (#108).
  • Beastbound Warfront replaces the old lane-war pet mode with a four-versus-four formation battle on a 7×5 board, decided best of three. Trained pet stats drive it, and any four owned pets can enter.
  • The ranked pet ladder (formerly Pet Tactical) now runs on Beastbound Warfront, and each challenge resolves on the server against the opponent's saved formation. Existing rankings and defenses were kept.
  • The Pet Colosseum got new models, move-specific effects and a balance pass, and pet expeditions were rebuilt on the server. Happiness now decays daily and, when low, weakens a pet only in PvE. An illustrated tutorial teaches pet battles, and pet battles fall back to a 2D stage on devices without WebGL2.
  • Dojo Circuit is an admin-scheduled event where players from the four villages earn up to three seals from server-verified combat, card and pet trials. It creates no rating and no currency.
  • Battle Towers have an overhauled tactical combat HUD, and solo Story runs now start with a route choice that the server seals before round one. A player invited to a tower party is now told about it wherever they are (#128).
  • Time and weather (#140) now run on an in-world day of two real hours, so night reaches every play session. Weather shifts every 40 minutes, one step at a time, and sector plates show a forecast; the climate tables are unchanged.
  • The world map now shows the Rift and the Sector Stronghold as structures standing on each sector board. The phone map gained six region views, and a reload resumes on the tile where you last stood.
  • Sector war attacks in a Card or Pet sector now open the matching card or pet contest, and an idle defender now fields a garrison.
  • Village leadership now includes a Kage-appointed First Elder and PvP and PvE Elders elected from verified wins on 30-day terms.
  • Casual PvP now allows consumables and thrown weapons, charged from your real inventory, while ranked PvP still allows none. The Chronicle duel board has a new staged presentation on desktop and now fits a phone.
  • Combat on phones uses a new action tray that keeps basic commands and the loadout in one row. Bloodline jutsu are now marked and filterable in the Jutsu Training Hall and on the Profile screen.

Store and platform

  • Tebex replaced Patreon as the payment path (#92, #93, #99). Fate Shards are bought through a Tebex web checkout, and the server attaches the buyer's identity to each basket instead of asking for a name. Fixes in #101 and #104 made checkout and price lookup work against the real Tebex API.
  • The Premium Shop (#98) is now its own screen, and the village Shop is ryo-only again. The Shinobi Supporter subscription is delivered from Tebex's events and keeps its perks until the paid period ends after a cancellation.
  • Billing safety improved in three ways: webhooks are authenticated by signature before the source-address check (#96), deleting an account cancels its subscription (#106), and a daily job probes the storefront's API contract (#105).
  • Google Play groundwork (#92, #110, #113, #116) added a web app manifest, asset links, an offline page and an account-deletion page. The Android app can never show a web checkout for digital goods, and the legal pages now name Tebex as the payment processor.
  • Fairness changes (#92, #117) show card-pack odds before purchase and make the forge's weapon-tag draw uniform. The Sunscar festival no longer has wagers: Kael's dice are a free daily draw that always pays some ryo, and a Miraa wager left open by the change is refunded in full.
  • The repository now has a LICENSE stating its terms, which are source-available with all rights reserved. Every Discord link in the game now opens the #general channel (#165).

Server authority, economy and anti-cheat

  • Ryo is server-owned (#153), so an autosave from a stale tab can no longer erase a credit.
  • Village and clan treasuries are server-owned (#148, #150), so a hall opened minutes earlier can no longer erase other players' donations or drop their join requests and notices.
  • The MMORPG behavior audit (#137) made hospital discharge restore HP only, stopped hospitalized players from starting fights, and gave defeated players a 120-second PvP shield. A full bag now refuses new items instead of destroying them, and transfers have a 24-hour budget. After an open-world fight you now keep the HP, chakra and stamina it left you, while instanced content still starts fresh.
  • The server now owns more world and battle state. PvE settles only from finished sessions, road travel is checked and saved by the server before you move, battle immunity comes from fight state the server can prove, and transfers require a replay nonce.
  • PvP settlement (#97, #109, #114) now works in sectors that were never claimed, and a late claim no longer re-traps the winner. PvP and AI-fight result screens now always keep an exit, with Retry as an extra control rather than the only one. Losing a sector raid now sends you to the hospital for 60 seconds, and fleeing is the one exit that avoids it.
  • Combat balance changed in #107 and #144. Poison is capped by rank and reduced by armor, Overclock and Lag are a flat ±10 AP, and Elemental Seal now works on NPC techniques, so bosses can be sealed. A deleted jutsu no longer blocks a loadout slot (#139).
  • Fewer values come from the client. PvP now takes a wild sector's biome from the server (#140), and an unused client-side reward roller was deleted so it cannot be wired back in (#155).

Stability, performance, mobile and touch

  • Chunk loading (#156, #157, #160) now gives a chunk that never loads one reload and then the "new version" card, instead of a reload loop. "While you were away" notices are delivered again instead of being lost.
  • Touch input (#151, #154, #163, #164, #169) no longer leaves tapped buttons and map pins lit as if hovered. The phone world map now keeps the tap after a flick, ignores presses from a double-tap zoom, and lets an edge-clipped marker take a single tap.
  • Mobile performance (#119, #152, #161) improved on a throttled mid-range profile: the world map rose from about 33 to 57 fps at rest and from 15 to 47 fps while dragging. The Central Hub and the Tower board also stopped wasting frames, and the Pet Ladder queue no longer waits for the 3D stack.
  • Rendering fixes (#142, #145, #147) stop Reduce Motion from adding transitions to every element, restore frosted-glass blur in Chrome, Edge and Firefox, and bring back images that recover after a failed load.
  • Smaller fixes keep the tutorial coach off open dialogs (#129) and raw %target tokens out of jutsu details (#141). A first-session intro crash and a save-conflict loop that could fill browser storage were fixed, and logout now explains a throttled save and offers a retry.
  • Unused weight was removed (#118, #121, #155, #171, #172, #174, #175): dead client code, 246 unused CSS rules, the retired three-lane Warfront renderer, and five unused 3D models, whose removal takes 1.38 MB off every deploy. Jutsu effect frames no longer ship as base64 inside JavaScript.
  • Maintainability improved as App.tsx shrank from 7,512 to 6,520 lines through verbatim extractions (#94, #130, #131 and later drains). The save sanitizer now runs as ordered stages, and every server route is registered explicitly in server-api-routes.ts.

CI and tooling

  • The Production Image size check now also runs on pull requests (#118). The budgeted JS/CSS ceiling rose from 7,965,000 B to 8,400,000 B over this range, and each step is recorded in scripts/check-build-size.mjs.
  • The e2e suites now actually run with Reduce Motion on, many flaky specs were fixed (#100, #143, #146, #159, #161, #162, #166, #168), and the Express-backed CI job now covers Academy persistence and route aliases too.
  • New guards catch borrowed franchise names in source and docs (#123), unhandled fire-and-forget imports (#160), prefix-only backdrop filters in the built CSS (#145) and ungated touch hover (#169).
  • The root unit suite grew from about 8,7...
Read more

v0.1.0-beta — Controlled public beta

Pre-release

Choose a tag to compare

@Timehue Timehue released this 30 Aug 18:10

First controlled public beta for ShinobiX / Shinobi Journey.

▶ Play it at shinobijourney.com — free, in your browser, no download.

Focus: character creation, Academy onboarding, training, jutsu, early missions, the missions-to-combat loop, inventory, bank, hospital, village systems, monitored PvP, towers, pets, clans, professions, and release hardening.

This is a beta. Advanced systems are gated, monitored, or desktop-first until fresh player data and smoke checks prove they are ready.

What's in it

  • A browser shinobi RPG: character creation with village choice, starter bloodline and avatar, then long-term growth through training rather than XP grinding.
  • Early-game progression — Academy goals, training, jutsu, missions, hunts, inventory, hospital, bank, cafeteria, the Logbook, and world travel.
  • Tactical AP combat with jutsu, movement, cooldowns, effects and battle logs, where positioning and chakra decide the turn.
  • Server-owned Solo PvE across missions, story and Academy fights, Endless Tower, Hollow Gate, Weekly Boss and ANBU raids — including refresh recovery and once-only settlement.
  • Ranked PvP, Battle Towers, Pet Arena, professions, clans, Card Clash and Legacy available for monitored beta use.
  • Backend hardening across auth, saves, reward receipts, economy logs, rate limits, audit events and beta metrics.

Known beta boundaries

  • Village War and Sector War soft-launch only with staff coverage.
  • Player AI image generation and creator tools stay disabled unless moderation and budget monitoring are staffed.
  • Hollow Gate is late-game and desktop-first until mobile verification passes.

A note on dating

These notes were drafted 2026-07-07 and are preserved as rollout history. The tag points at current main rather than the original launch commit, because the game has been in public beta continuously since then and a tag is more useful pointing at what is actually deployed.

docs/LIVE_PRODUCT_STATUS.md is the authority on what is live — where it disagrees with any dated document, including this one, it wins.

Reporting problems

Bugs: open an issue. Security: report privately, never in a public issue — see SECURITY.md. Everything else: Discord.