Live data from Hacker News

The 1987 game “The Last Ninja” was 40 kilobytes

twitter.com

191–199 of 199 posts

Re: The 1987 game “The Last Ninja” was 40 kilobytes

#191
post #187

Earlier quoted context omitted.

Again, even the crappy ROM versions on 8bit micros supported structured execution flow and functions. Just because it wasn’t a commonly known feature doesn’t mean it wasn’t supported.

Which one? C64 and Speccy not really, they were unstructured, and functions were one liners.

Microsoft BASIC was the crappiest BASIC in my experience and the C64 shipped a hugely outdated version of Microsoft BASIC. But even there, you had a few options for structuring your programs beyond one liners.

GOSUB was used for subroutines

DEF could create a function (limited to one line but they could be nested to allow more complex functions spanning multiple lines)

Then you had the obvious instructions for iteration, such as FOR

Apple BASIC, BBC Basic (BBC Micro) and Locomotive BASIC (Amstrad CPC) all supported enhancements for composing functions and subroutines. But the latter two are European systems to Americans missed out there.

The ZX Spectrum had been only the quarter of the memory of the C64 and was an intentionally budget device. So don’t expect any thrills there. But even that would have supported at least GOSUB.

I’m not going to argue that structured programming in BASIC was pretty. Because it wasn’t. But that doesn’t mean it wasn’t possible.

Re: The 1987 game “The Last Ninja” was 40 kilobytes

#192
post #21
post #2

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.

The Last Ninja ran at resolution 160x200, with effectively 2-bit color for graphic assets. It had amazing animations for that level of detail, but all the variety of the graphics could not take too much RAM even if it wanted to. The quest for photorealistic "movie-like" rendering which requires colossal amounts of RAM and compute feels like a dead end to me. I much appreciate the expressly unrealistic graphics of tit…

160x200x2 still comes to 8 kB for a full-screen bitmap. So those 40 kB would allow for just five full screens worth of graphics/frames if stored naively. I'd say that still required some very clever programming to get that amount of scenery and animation in there, along with all the music and code.

There's a reason why only few games of that time felt as mind-blowing as The Last Ninja. Even getting a basic text adventure or Pac-Man clone in those machines took some skill, but with a game like The Last Ninja, I think a lot of devs wouldn't even have known where to start to make something like it possible.

Re: The 1987 game “The Last Ninja” was 40 kilobytes

#193

Earlier quoted context omitted.

>When you want to cast a spell you have to enter the number of the spell from the manual, maybe because there was not enough memory to fit the names of the 94 spells into RAM Probably not ;) "Enter things from a manual" was a tried old copy protection technique. If you used the warez version you presumably did not have a manual so you got stuck. This didn't run on the 8008 or whatever, I'm sure the game could have kn…

Ah, that makes more sense than my theory. It's a weak copy protection method, though, as you can just try and see what happens, and I think they dropped it in M&M3.

Yes, and it was pretty easily photo-copied since it had to be printed all in one place anyway. That's probably why even print-based protections tried to get cleverer. Like the code wheels, although I remember those didn't take that much more effort. Disassemble the original, copy all layers, cut out the right holes, put back on a spindle.

I remember one game I had that tried to protect against it by having a manual of about 100 pages, with the passcodes being spread across all of them. I believe it was Gunship 2000.

Re: The 1987 game “The Last Ninja” was 40 kilobytes

#194
post #99

Around the time DirectX came around and first games requiring it appeared, which in my memory coincided with hard drives getting way bigger and first games being delivered on a CD instead of floppies, I've been apalled at how I could see literal BMPs being written to disk during the installation. This was the same time when cracked games were being distributed via BBS at a fraction of the original size with custom in…

However, in the early days of the CD-ROM games, the trade-off wasn't simple. It was cheap for manufacturers to fill the entire 650 MB of the disc, but for the players, HDD storage by GB wasn't. And just keeping the stuff on the disc was often no option either because of seek times. You usually don't want to wait the half second it takes for the drive to move the laser to where the next sound effect is stored.

I also fondly remember those scene re-packs! Some of them had such clever and extreme compression that it took several hours to re-inflate the game. Remember Uharc? =)

Re: The 1987 game “The Last Ninja” was 40 kilobytes

#195

Some comments here sound like the ones I hear from car "enthusiasts" praising old engines for being simple to run and easy to fix, then complaining about modern engines being too complicated and how we should return to the "good old days", all that without taking into account the decades of progress since then. Want to prove a point? Give me Skyrim in 64k of ram. Go ahead! I dare you!

It's an interesting comparison. There's a lot of objective truth to it on both sides, though. Having a car as a project, maintaining and fixing and learning stuff yourself, is pretty much impossible with modern cars. Even before you get to the online crap, they're more services than products, with proprietary ICs and stuff that make everything "non-user-servicable". I'm not a car guy but I can understand that something major was lost. I can also see some parallels to games there, with all the encryptions, DRMs, kernel anti-cheats, online ties... it usually invites a lot less tinkering and modding than the games of old.

Re: The 1987 game “The Last Ninja” was 40 kilobytes

#196
post #187

Earlier quoted context omitted.

Which one? C64 and Speccy not really, they were unstructured, and functions were one liners.

Microsoft BASIC was the crappiest BASIC in my experience and the C64 shipped a hugely outdated version of Microsoft BASIC. But even there, you had a few options for structuring your programs beyond one liners. GOSUB was used for subroutines DEF could create a function (limited to one line but they could be nested to allow more complex functions spanning multiple lines) Then you had the obvious instructions for iterat…

Except doing it with line numbers and direct jumps wasn't structured, was faking it.

You can be creative with jumps outside FOR...NEXT, and line numbers.

Likewise GOSUB might not necessarily flow back as expected if the programmer gets creative.

There is a reason a certain famous article existed. Or arrow diagrams for execution flow for that matter.

QuickBasic, QBasic, HP Basic, AMOS, Turbo BASIC, S-BASIC, GFA BASIC, Acorn Basic, now those yes.

Re: The 1987 game “The Last Ninja” was 40 kilobytes

#197
post #196

Earlier quoted context omitted.

Microsoft BASIC was the crappiest BASIC in my experience and the C64 shipped a hugely outdated version of Microsoft BASIC. But even there, you had a few options for structuring your programs beyond one liners. GOSUB was used for subroutines DEF could create a function (limited to one line but they could be nested to allow more complex functions spanning multiple lines) Then you had the obvious instructions for iterat…

Except doing it with line numbers and direct jumps wasn't structured, was faking it. You can be creative with jumps outside FOR...NEXT, and line numbers. Likewise GOSUB might not necessarily flow back as expected if the programmer gets creative. There is a reason a certain famous article existed. Or arrow diagrams for execution flow for that matter. QuickBasic, QBasic, HP Basic, AMOS, Turbo BASIC, S-BASIC, GFA BASIC,…

As said earlier, you could do the same with BBC BASIC

https://www.bbcbasic.co.uk/bbcwin/tutorial/chapter17.html

Locomotive BASIC inherited a lot of features from BBC BASIC too.

It was just the American 8bit dialects that were shit.

Re: The 1987 game “The Last Ninja” was 40 kilobytes

#198

Earlier quoted context omitted.

[flagged]

The text you quoted is not an example of the trope you highlighted. It genuinely comes across like you're calling it LLM generated purely because of the "em-dash", except it isn't even an em-dash .

And I genuinely admire the actual effort to get it right. You looked just enough to catch the error but not enough to prove it was human. Keep going, the tell is in there.

Re: The 1987 game “The Last Ninja” was 40 kilobytes

#199

Earlier quoted context omitted.

The text you quoted is not an example of the trope you highlighted. It genuinely comes across like you're calling it LLM generated purely because of the "em-dash", except it isn't even an em-dash .

And I genuinely admire the actual effort to get it right. You looked just enough to catch the error but not enough to prove it was human. Keep going, the tell is in there.

I genuinely have no idea what you're trying to claim. If you have a point, you should express it clearly. If you believe something to be the case, you should present evidence straightforwardly and make an explicit logical argument.
Post reply on HN