About the project

About NiNjAttack

NiNjAttack is an independently developed browser arcade project that combines a simple shuriken-throwing game with a second-screen smartphone controller.

The core idea

The main game runs directly in a web browser. A player protects the ninja at the bottom of the arena by firing shuriken at descending enemies. The rules are intentionally compact: enemies approach, some throw projectiles, each defeated enemy adds to the score and the player has three lives.

The interesting interaction begins when a second device enters the setup. Instead of requiring a dedicated controller or a mobile app, NiNjAttack can display a QR code that opens a controller page on a smartphone. The desktop becomes the arcade screen; the phone becomes the input surface.

Why use the browser?

A browser keeps the entry barrier small. The game page, controller interface, graphics and connection logic can all be delivered as web content. There is no installer and no account required for the current playable experience.

That also makes the project a practical experiment in cross-device interaction. The controller and the game are separate web pages tied together by a session identifier and a WebSocket connection. Moving a shuriken on the phone produces a normalized aiming position; releasing it sends the throw command to the corresponding game session.

The smartphone as a physical input object

The controller is deliberately more tangible than a row of on-screen buttons. It shows a shuriken on a curved path. The player drags left or right to choose the angle and releases to throw. The gesture gives the phone a specific role rather than treating it as a miniature copy of the desktop screen.

The same game can still be tested or played with mouse input on the main canvas. The smartphone controller is an alternate interaction layer, not a requirement that blocks access to the game.

Visual direction

NiNjAttack uses a stylized ninja world rather than historical reconstruction. The scroll-shaped menu, parchment colors, dark red lettering, pixel-like ninja sprites and spinning shuriken create a deliberately playful arcade identity. The historical context of shinobi is explored separately on the Ninja Facts page so the game itself does not pretend to be a simulation.

A small arcade loop

The current game is built around repeatable short sessions rather than a large campaign. Normal enemies are joined by zigzag enemies after the score rises, and tougher boss enemies can appear later. Enemy projectiles create another layer of timing because the player's own shuriken can intercept them.

At game over, the score is stored locally in the browser and added to the Scroll of Fame. The current leaderboard is intentionally described as local because the code does not present it as a global account-based ranking.

What is live now

The website around the game

The site is intentionally broader than a single canvas. The How to Play page documents the real mechanics and controller setup. Ninja Facts separates historical shinobi research from the pop-culture image used by the game. Tao Wisdom introduces several Daoist ideas while clearly marking the NiNjAttack comparisons as playful analogies.

Together, those pages explain the project instead of padding the game page with repeated text. The game remains the center; the surrounding pages provide context that is useful even before a visitor presses Play.

Feedback and contact

If you find a bug, have feedback about the controller or want to contact the project, use the contact page. Legal and privacy information is available in the footer on every main content page.