No description
  • GLSL 85.2%
  • Python 8%
  • JavaScript 6.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-24 09:40:37 -03:00
assets add preview image to readme 2026-10-24 09:40:37 -03:00
include add Blockfall GPU app for HBLauncherNS2 2026-10-24 00:24:14 -03:00
shaders add Blockfall GPU app for HBLauncherNS2 2026-10-24 00:24:14 -03:00
.gitignore add Blockfall GPU app for HBLauncherNS2 2026-10-24 00:24:14 -03:00
app.comp.spv add Blockfall GPU app for HBLauncherNS2 2026-10-24 00:24:14 -03:00
app.frag.spv add Blockfall GPU app for HBLauncherNS2 2026-10-24 00:24:14 -03:00
app.json add Blockfall GPU app for HBLauncherNS2 2026-10-24 00:24:14 -03:00
app.vert.spv add Blockfall GPU app for HBLauncherNS2 2026-10-24 00:24:14 -03:00
assets.py add Blockfall GPU app for HBLauncherNS2 2026-10-24 00:24:14 -03:00
build.cjs add Blockfall GPU app for HBLauncherNS2 2026-10-24 00:24:14 -03:00
README.md add preview image to readme 2026-10-24 09:40:37 -03:00
tools.cjs add Blockfall GPU app for HBLauncherNS2 2026-10-24 00:24:14 -03:00

Blockfall for Nintendo Switch 2 (HBLauncher GPU app)

Blockfall preview

A Tetris-based falling-block puzzle game built as a GPU-compute homebrew app for HBLauncherNS2. All game logic and rendering run as GLSL compute/fragment shaders over a shared storage buffer — there is no CPU-side game code.

Features: 7-bag piece randomizer, hold, ghost piece, lock delay, soft/hard drop, line-clear flash, and an increasing-speed level system.

Requirements

  • HBLauncherNS2 set up and able to reach a qualified Nintendo Switch 2 / SmileBASIC 4.4.9 session. This repo only contains the app itself; HBLauncherNS2 is the runtime that loads and executes it on console.
  • Node.js 22+
  • Python 3 with Pillow
  • glslangValidator and spirv-val (prebuilt Windows copies are vendored under tools/; on other platforms install glslang-tools/spirv-tools from your package manager, or set GLSLANG / SPIRV_VAL to their paths)

Build

node build.cjs

This rasterizes the text/icon assets, installs the shared shader headers under shaders/, and compiles+validates app.vert.spv, app.frag.spv and app.comp.spv.

Install

Copy this folder into HBLauncherNS2's apps/ directory (e.g. apps/blockfall/), then refresh the app catalog from the HBLauncher menu on console.

Controls

Button Action
Left / Right Move
Up / A Rotate clockwise
B Rotate counter-clockwise
Down (hold) Soft drop
Y Hard drop
X Hold piece
+ / - Return to HBLauncher
A (on Game Over) Play again

Project layout

include/        Shared GPU-app headers vendored from HBLauncherNS2's SDK
shaders/         app.vert / app.comp / app.frag, plus this app's own shapes.glsl
assets.py        Rasterizes the text atlas, digit glyphs and icon
build.cjs        Build entry point
app.json         App manifest

License

The game code and assets in this repository are original. assets/DejaVuSans.ttf is distributed under the Bitstream Vera / Arev license (see the DejaVu Fonts project). tools/ contains unmodified upstream builds of Khronos glslangValidator and spirv-val (Apache 2.0 / MIT); they are not tracked in this repository — fetch your own copies from KhronosGroup/glslang and KhronosGroup/SPIRV-Tools.