Te

Tetris, but the blocks are ARM instructions that execute in the browser

Hacker News

Tetris, but the blocks are ARM instructions that execute in the browser

OFRAK Tetris is a project I started at work about two weeks ago. It's a web-based game that works on desktop and mobile. I made it for my company to bring to events like DEF CON, and to promote our binary analysis and patching framework called OFRAK. In the game, 32-bit, little-endian ARM assembly instructions fall, and you can modify the operands before executing them on a CPU emulator. There are two segments mapped – one for instructions, and one for data (though both have read, write, and execute permissions). Your score is a four byte signed integer stored at the virtual address pointed to by the R12 register, and the goal is to use the instructions that fall to make the score value in memory as high as possible. When it's game over, you can download your game as an ELF to relive the glory in GDB on your favorite ARM device. The CPU emulator is a version of Unicorn ( https://www.unicorn-engine.org/ ) that has been cross-compiled to WebAssembly ( https://alexaltea.github.io/unicorn.js/ ), so everything on the page runs in the browser without the need for any complicated infrastructure on the back end. Since I've only been working on this for a short period of time leading up to its debut at DEF CON, there are still many more features I'd eventually like to implement. These include adding support for other ISAs besides ARM, adding an instruction reference manual, and lots of little cleanups, bug fixes, and adjustments. My highest score is 509,644,979, but my average is about 131,378. I look forward to feedback, bug reports, feature requests, and strategy discussions!

Share card

Actual performance

472points
53comments
Made the leaderboard

Launch Intel predictions

Analyze your own launch →
Product HuntOn track for Day 1 leaderboard · Missing: mac, agents, macos
86%86% predicted probability of success on Product Hunt, based on ML models trained on real launch data.
best fitHighest predicted score across all platforms for this description.
Indie HackersFits the IH revenue-focused audience · Strong signals: started · Missing: supports, reddit linkedin, podcasting
79%79% predicted probability of success on Indie Hackers, based on ML models trained on real launch data.
Hacker NewsStrong engagement from HN community · Strong signals: ide, io · Missing: https docs, excited, just released
76%76% predicted probability of success on Hacker News, based on ML models trained on real launch data.
nativeThis product was originally launched on this platform.
TrustMRRLess likely to generate early MRR · Missing: mobile apps, ios, personal
40%40% predicted probability of success on TrustMRR, based on ML models trained on real launch data.
AppSumoMay struggle as an AppSumo deal · Missing: plus, platform, intuitive
32%32% predicted probability of success on AppSumo, based on ML models trained on real launch data.
Acquire.comPre-revenue stage for this audience · Missing: arr, mrr, revenue
14%14% predicted probability of success on Acquire.com, based on ML models trained on real launch data.
BetaListMay not resonate with beta-testers · Missing: web3, chat, crypto
0%0% predicted probability of success on BetaList, based on ML models trained on real launch data.

Correct prediction on native model

Similar products

Md
Mdx – Execute your Markdown code blocks, now in Go58%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Mdx – Execute your Markdown code blocks, now in Go

Hacker News127
Su
Surfer a browser that blocks the many of the most visited websites63%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Surfer a browser that blocks the many of the most visited websites

Hacker News1
Co
Codebraid – Execute Code Blocks in Markdown (Python, Julia, Rust, R)68%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Codebraid – Execute Code Blocks in Markdown (Python, Julia, Rust, R)

Hacker News22
Py
Python) Markdown Exec, execute code blocks and render their output73%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Python) Markdown Exec, execute code blocks and render their output

Hacker News2
Vi
VimFreeDrag – Move Blocks of Text in Vim53%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

VimFreeDrag – Move Blocks of Text in Vim

Hacker News5
Esseeoh
Esseeoh72%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Ship Execute Outperform

Indie Hackers1$80/moai
Da
DayBrix, a daily falling-blocks webgame44%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

DayBrix, a daily falling-blocks webgame

Hacker News2
Gu
Guipedia – clone, program, and execute in the browser62%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Guipedia – clone, program, and execute in the browser

Hacker News23
Qi
Qi Blocks – collection of 48 free blocks for Gutenberg48%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Qi Blocks – collection of 48 free blocks for Gutenberg

Hacker News3
De
Demodal – A browser extension that blocks modals and overlays53%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Demodal – A browser extension that blocks modals and overlays

Hacker News2