Live data from Hacker News

The NES Homebrew Scene

tedium.co

61–70 of 138 posts

Re: The NES Homebrew Scene

#61
post #46

Nowdays, it's impossible to do modern programming without relying on millions of lines of other people's code. It's frameworks and libraries all the way down. On the NES however, every line of code is yours. There's no such thing as libraries, operating systems, or frameworks. They don't exist. It's refreshing. One of the big problems of modern programming is how easy it is to add complexity. As Charles Moore once sa…

Especially now that every damned language comes with their own custom package manager, with node.js as the posterboy:

https://medium.com/@caspervonb/the-internet-is-at-the-mercy-...

Re: The NES Homebrew Scene

#62
post #50

Earlier quoted context omitted.

I also adore old programs for their simplicity. However, I've come to terms with "unnecessary" complexity as a necessary cost of growth and abstraction. Each part of a bacteria, relative to its mass, may be more cost effective than that of a mammal. I'd much rather be the latter.

It's true insofar you also count in the evolutionary, worse-is-better nature of software development. I.e. there's lots more of complexity than it's necessary for the level of abstraction and capabilities you want, but that complexity was accrued as people developed and iterated on every layer, mostly leaving it be as it got good enough, and moving on to something else.

Funny because at least over in the Linux world i feel the complexity has come as people had started hunting for "perfection".

Where before you had a GUI part talk to a CLI part via pipes, now you have them talking to each other via a XML based bus mediated by multiple daemons (one for the bus, one to uphold a fine grained security layer again using XML and JSON).

Re: The NES Homebrew Scene

#63
post #54
post #46

Nowdays, it's impossible to do modern programming without relying on millions of lines of other people's code. It's frameworks and libraries all the way down. On the NES however, every line of code is yours. There's no such thing as libraries, operating systems, or frameworks. They don't exist. It's refreshing. One of the big problems of modern programming is how easy it is to add complexity. As Charles Moore once sa…

Not necessarily, there are hundreds of embedded devices that can be programmed just like in the old days. Arduino, ESP286, ESP32, . And since we are in the context of games and Nintendo, something like Arduboy. https://arduboy.com

Even worse than that, people still use legacy devices like 8051 MCUs in modern products. I'm currently working on an assembly codebase for a SiLabs part.

Like... Please move to an ARM MCU with a C codebase.

Re: The NES Homebrew Scene

#64
post #24
post #8

Earlier quoted context omitted.

Sometimes I wish we had more constraints because I fear we've all forgotten how to write fast and lean code in favor of semi-fast but very bloated code. I remember back when I first used Windows 95, opening programs was very snappy and I was impressed. I imagined Windows of the future being even snappier, but somehow the opposite has happened. Now every application takes a long time to boot up, check for updates, etc…

We haven't forgotten, we choose to put our time and energy into features rather than performance because that's what end users care more about (at least, it's what they vote with their feet for).

Some things have been lost, though, and I'm not even referring to the usual claim about constraints facilitating creativity. Games of the 8- and 16-bit console generations, as well as all arcade games up until that point, were written with CRT monitors in mind and often used 'racing the beam' techniques. This resulted in games with extremely low latency, something you never find in a game of any sort today.

The difference can be felt when comparing a game like Super Mario Bros running on an emulator with a typical LCD screen to running on original hardware with a CRT monitor. The emulated version is so sluggish it feels like you're playing underwater!

Re: The NES Homebrew Scene

#66
A while ago I wanted to try some NES ROM hacking but I couldn't find any tools for it that were really convenient - I ended up typing 6502 into some online assembler to copy the output into HxD and other processes like that. So, I wrote something more to my liking that was more like an IDE.

I couldn't think of a good name, but I was modding Kid Icarus at the time, and it's in .NET, so I just called it IcarusNet. It was primarily for ROM hacking, but as far as I know, it should be suitable for writing something from scratch in conjunction with tile editing programs and maybe other things you'd need.

Not nearly as advanced as NESMaker (very impressive from the looks of it) seems to be, but maybe a middle ground for someone who wants to write a game more to the metal but also wants something more graphical with the same "one click assemble/run" mindset.

Comes with instructions for a sample project to make an edit to a freely available ROM in less than 5 minutes.

https://github.com/ldyeax/IcarusNet

Since then I've heard that license might have some problems for software, so I'll change it if the need arises.

Re: The NES Homebrew Scene

#68
post #11

I was a bit turned off by the way assembly is described as "tricky" and "tedious"... All programming languages can be tricky and tedious. Assembly (specially on the 6502) is conceptually very simple and, while it may not be trivial to translate higher-level concepts to its simplicity, as long as what you want can be readily expressed in it, it's trivially easy. You will, of course, need to know what bits to set at wh…

It is a little misleading isn't it?

I miss the old assembler. It could just be that I have a poor memory, but with 8/16-bit assembly, I could remember almost everything about my toolset and focus on the problem.

With modern APIs and languages--even modern assembly languages--I spend more time googling than anything else.

Re: The NES Homebrew Scene

#69
post #46

Nowdays, it's impossible to do modern programming without relying on millions of lines of other people's code. It's frameworks and libraries all the way down. On the NES however, every line of code is yours. There's no such thing as libraries, operating systems, or frameworks. They don't exist. It's refreshing. One of the big problems of modern programming is how easy it is to add complexity. As Charles Moore once sa…

Especially now that every damned language comes with their own custom package manager, with node.js as the posterboy: https://medium.com/@caspervonb/the-internet-is-at-the-mercy-...

The graphic on there is brilliant.

Re: The NES Homebrew Scene

#70

Love the NES and love retro gaming, but the article completely contradicts itself. It's not just driven by nostalgia, but... It says something about the legacy of the NES that most homebrewers continue to make games for the system for reasons other than nostalgia. It’s mostly because they love the NES. “I’ve always wanted to create NES games, ever since I was a kid. I remember sitting around drawing maps on paper, da…

Sherry Turkle [1], a psychologist who wrote about humans and the interactions with computers, wrote about people who use computers as a way to satisfy a need for total control. This manifests itself in building/making or using a low level means to accomplish something that could have been done with a higher level or easier means. These users prefer the lower level means over the easier way because the latter would remove some control or transparency of operation from the person.

So, nostalgia is a big part of the NES appeal, but there may be other factors as well.

[1] https://en.wikipedia.org/wiki/Sherry_Turkle

Post reply on HN