frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

The 1987 game “The Last Ninja” was 40 kilobytes

https://twitter.com/exQUIZitely/status/2040777977521398151
50•keepamovin•3h ago

Comments

xvxvx•3h ago
I remember this game, the way it drew itself on each screen, the nice graphics. Growing up with games on Atari, Commodore, Amstrad, and Spectrum, was a lot of fun.

By comparison, COD Modern Warfare 3 is 6,000,000 times larger at 240GB. Imagine telling that to someone in 1987.

YasuoTanaka•3h ago
It's kind of amazing how much of those old games was actual logic instead of data.

Feels like they were closer to programs, while modern games are closer to datasets.

reedycat•2h ago
Masterpieces like these are a perfect demonstration that performance relies not only on fast processors, but on understanding how your data and code compete for resources. Truly admirable. Thanks for the trip down memory lane.
chmod775•2h ago
That short video of the game on twitter is 11.5MB, or about 300x larger than the game itself.
latch•1h ago
I'm not sure this is particularly telling. You can write a tiny program that generates a 4K image, and the image could be 1000x larger.

Or, if I write a short description "A couple walks hand-in-hand through a park at sunset. The wind rustles the orange leaves.", I don't think it would be surprising to anyone that an image or video of this would be relatively huge.

Dwedit•1h ago
X264 supports a lossless mode without chroma subsampling, which produces very good compression for raw emulator captures of retro game footage. It is much better than other codecs like HuffYuv, etc.

But for some reason, Firefox refuses to play back those kinds of files.

onion2k•59m ago
But for some reason, Firefox refuses to play back those kinds of files.

And that reason is because x264 is a free and open source implementation of the H.264 codec, and you still need to pay a license to use the patented technology regardless of how you do that. Using a free implementation of the code doesn't get you a free license for the codec.

anthk•5m ago
Just in the US. Not in Europe. At least for decoding.
YZF•2h ago
I was looking at a production service we run that was using a few GBs of memory. When I add up all the actual data needed in a naive compact representation I end up with a few MBs. So much waste. That's before thinking of clever ways to compress, or de-duplicate or rearrange that data.

Back in the day getting the 16KB expansion pack for my 1KB RAM ZX81 was a big deal. And I also wrote code for PIC microcontrollers that have 768 bytes of program memory [and 25 bytes of RAM]. It's just so easy to not think about efficiency today, you write one line of code in a high level language and you blow away more bytes than these platforms had without doing anything useful.

le-mark•2h ago
Apparently this person is referring to the available ram on a Commodore 64. The media (data) on disk or tape was much more than that.
classichasclass•1h ago
Not much more. It all fits on a single side of a 1541 floppy. Even considering compression it couldn't be more than a couple hundred kilobytes.

https://csdb.dk/release/?id=99145

boomlinde•57m ago
It's not much, but relatively speaking it's much more.
userbinator•2h ago
The same size as Super Mario Bros. (NES, 1985)
vinkelhake•1h ago
I grew up with and absolutely adore The Last Ninja series. I'm not going to comment on the size thing because it's so trite.

Instead - here's [0] Ben Daglish (on flute) performing "Wastelands" together with the Norwegian C64/Amiga tribute band FastLoaders. He unfortunately passed away in 2018, just 52 years old.

If that tickled your fancy, here's [1] a full concert with them where they perform all songs from The Last Ninja.

[0] https://www.youtube.com/watch?v=ovFgdcapUYI [1] https://www.youtube.com/watch?v=PTZ1O1LJg-k

kbenson•1h ago
The first time I ever heard The Glitch Mob I had such a clear memory of this games soundtrack come to mind that I mentioned it to my brother soon after (as it was his commodore and his copy of the game I was playing when I was young). I'm not even sure if the song I heard even sounds like the game soundtrack particularly closely, but the connection in my mind was very strong.
mock-possum•1h ago
Wow that search/interact mechanic is obnoxious, you can see the player fumbling it every time, despite knowing exactly where the item is they’re trying to collect.
beautron•43m ago
This is sort of the defining mechanic of these games in my memory. The first thing that pops into my head when I think of Last Ninja is aligning and realigning myself, and squatting, awkwardly and repeatedly (just like a real ninja, lol), until that satisfying new item icon appears. Perhaps surprisingly, these are very fond memories.

This mechanic is augmented by not even always knowing which graphics in the environment can be picked up, or by invisible items that are inside boxes or otherwise out of sight (I think LN2 had something in a bathroom? You have to position yourself in the doorway and do a squat of faith).

The other core memory is the spots that require a similarly awkward precision while jumping. These are worse, because each failure loses you one of your limited lives. The combat is also finicky. I remember if you come into a fight misaligned, your opponent might quickly drain your energy while you fail to get a hit in.

At the time, it seemed appropriate to me that it required such a difficult precision to be a ninja. I was also a kid, who approached every game non-critically, assuming each game was exactly as it was meant to be. Thus I absolutely loved it, lol.

cubefox•32m ago
A game which was actually 40 kilobytes: Super Mario Bros. It had 32 side-scrolling levels.

SideX – A Tauri-based port of Visual Studio Code

https://github.com/Sidenai/sidex
10•0x1997•6m ago•1 comments

Show HN: I built a tiny LLM to demystify how language models work

https://github.com/arman-bd/guppylm
315•armanified•6h ago•26 comments

Gemma 4 on iPhone

https://apps.apple.com/nl/app/google-ai-edge-gallery/id6749645337
559•janandonly•12h ago•144 comments

Show HN: I made a YouTube search form with advanced filters

https://playlists.at/youtube/search/
193•nevernothing•6h ago•116 comments

The 1987 game “The Last Ninja” was 40 kilobytes

https://twitter.com/exQUIZitely/status/2040777977521398151
51•keepamovin•3h ago•18 comments

An open-source 240-antenna array to bounce signals off the Moon

https://moonrf.com/
53•hillcrestenigma•3h ago•12 comments

Microsoft hasn't had a coherent GUI strategy since Petzold

https://www.jsnover.com/blog/2026/03/13/microsoft-hasnt-had-a-coherent-gui-strategy-since-petzold/
356•naves•13h ago•196 comments

Show HN: Real-time AI (audio/video in, voice out) on an M3 Pro with Gemma E2B

https://github.com/fikrikarim/parlor
38•karimf•13h ago•2 comments

LÖVE: 2D Game Framework for Lua

https://github.com/love2d/love
271•cl3misch•1d ago•105 comments

Winners of the 2026 Kokuyo Design Awards

https://spoon-tamago.com/winners-of-the-2026-kokuyo-design-awards/
30•zdw•3h ago•3 comments

Case study: recovery of a corrupted 12 TB multi-device pool

https://github.com/kdave/btrfs-progs/issues/1107
42•salt4034•4h ago•5 comments

Why Switzerland has 25 Gbit internet and America doesn't

https://sschueller.github.io/posts/the-free-market-lie/
395•sschueller•12h ago•290 comments

Show HN: Gemma Gem – AI model embedded in a browser – no API keys, no cloud

https://github.com/kessler/gemma-gem
54•ikessler•6h ago•9 comments

Signals, the push-pull based algorithm

https://willybrauner.com/journal/signal-the-push-pull-based-algorithm
14•mpweiher•1d ago•0 comments

Running Gemma 4 locally with LM Studio's new headless CLI and Claude Code

https://ai.georgeliu.com/p/running-google-gemma-4-locally-with
243•vbtechguy•13h ago•57 comments

Rendering arbitrary-scale emojis using the Slug algorithm

https://leduyquang753.name.vn/blog/2026/4/4/rendering-arbitrary-scale-emojis-using-the-slug-algor...
13•leduyquang753•1d ago•0 comments

Show HN: Modo – I built an open-source alternative to Kiro, Cursor, and Windsurf

https://github.com/mohshomis/modo
38•mohshomis•6h ago•7 comments

Media scraper Gallery-dl is moving to Codeberg after receiving a DMCA notice

https://github.com/mikf/gallery-dl/discussions/9304
112•MoltenMonster•3h ago•30 comments

Sheets Spreadsheets in Your Terminal

https://github.com/maaslalani/sheets
35•_____k•2d ago•7 comments

Employers use your personal data to figure out the lowest salary you'll accept

https://www.marketwatch.com/story/employers-are-using-your-personal-data-to-figure-out-the-lowest...
166•thisislife2•6h ago•76 comments

We replaced Node.js with Bun for 5x throughput

https://trigger.dev/blog/firebun
42•pier25•4h ago•21 comments

Usenet Archives

https://usenetarchives.com
22•myth_drannon•5h ago•2 comments

Music for Programming

https://musicforprogramming.net
155•merusame•12h ago•65 comments

A tail-call interpreter in (nightly) Rust

https://www.mattkeeter.com/blog/2026-04-05-tailcall/
152•g0xA52A2A•15h ago•28 comments

In Japan, the robot isn't coming for your job; it's filling the one nobody wants

https://techcrunch.com/2026/04/05/japan-is-proving-experimental-physical-ai-is-ready-for-the-real...
155•rbanffy•8h ago•181 comments

Eight years of wanting, three months of building with AI

https://lalitm.com/post/building-syntaqlite-ai/
745•brilee•18h ago•223 comments

Computational Physics (2nd Edition) (2025)

https://websites.umich.edu/~mejn/cp2/
133•teleforce•15h ago•17 comments

Artemis II crew see first glimpse of far side of Moon [video]

https://www.bbc.com/news/videos/ce3d5gkd2geo
464•mooreds•16h ago•360 comments

The Mechanics of Steins Gate (2023) [pdf]

https://github.com/Votuko/steins-gate-mechanics/blob/main/The%20Mechanics%20of%20Steins%20Gate%20...
70•Ariarule•9h ago•14 comments

Caveman: Why use many token when few token do trick

https://github.com/JuliusBrussee/caveman
748•tosh•21h ago•325 comments