Nes vs Snes vs N64 vs newer
Nes vs Snes vs N64 vs newer
I was thinking about this, as someone asked a similar question on another forum, about why nobody does anything for N64 or PS1.
NES (and Atari) has a perfect retro feel to it. The low quality of the graphics appeals to both nostalgia and a coolness factor. But, NES wins, because more can be done with it...better and bigger games.
N64 and later systems... basically, a skilled person can make it look like anything they want, just like a new system, therefore it's not 'special'. It's just a lousier version of modern that's 100x harder to program than a modern PC game would be.
SNES, for me should qualify as 'retro'...it's very old, has huge limitations, but the graphics are just slightly too good to fit in that 'old school' category. And, programming for it is definitely harder than for NES. So, the enjoyment (as a programmer) is less.
Other systems should fit in a good retro system... Atari 7800, for example...were not popular enough for anyone to care about, so somehow qualifies as 'uncool'.
I think this means nobody should try to make a new 'retro' console. It would neither have nostalgia and would probably have too good of graphics and/or sound to really qualify as 'retro'. Maybe. IDK.
I guess my point is...low quality graphics and sound are maybe a good thing for games.
NES (and Atari) has a perfect retro feel to it. The low quality of the graphics appeals to both nostalgia and a coolness factor. But, NES wins, because more can be done with it...better and bigger games.
N64 and later systems... basically, a skilled person can make it look like anything they want, just like a new system, therefore it's not 'special'. It's just a lousier version of modern that's 100x harder to program than a modern PC game would be.
SNES, for me should qualify as 'retro'...it's very old, has huge limitations, but the graphics are just slightly too good to fit in that 'old school' category. And, programming for it is definitely harder than for NES. So, the enjoyment (as a programmer) is less.
Other systems should fit in a good retro system... Atari 7800, for example...were not popular enough for anyone to care about, so somehow qualifies as 'uncool'.
I think this means nobody should try to make a new 'retro' console. It would neither have nostalgia and would probably have too good of graphics and/or sound to really qualify as 'retro'. Maybe. IDK.
I guess my point is...low quality graphics and sound are maybe a good thing for games.
nesdoug.com -- blog/tutorial on programming for the NES
Re: Nes vs Snes vs N64 vs newer
7800 was also a problem when programmers were doing wizardry like Solaris on the 2600 instead. I've been reading a neat ongoing deconstruction of how they do what's in it. Unfortunately it's on Somethingawful, behind a paywall at the moment.
Re: Nes vs Snes vs N64 vs newer
I imagine both N64 and PS1 lack tools. I know N64 didn't have much of anything outside the leaked Nintendo devkit for a long time, only in the last year or so was an open version developed, and that still can't do 3d. PS1 I haven't looked at.
- rainwarrior
- Posts: 8732
- Joined: Sun Jan 22, 2012 12:03 pm
- Location: Canada
- Contact:
Re: Nes vs Snes vs N64 vs newer
Many have tried. Some are a lot more successful than others. The main barrier of financial feasibility is probably just competition from computers and phones that everybody already has that already do a great job of playing games. A software platform like PICO-8 is probably the "right" idea.dougeff wrote:I think this means nobody should try to make a new 'retro' console. It would neither have nostalgia and would probably have too good of graphics and/or sound to really qualify as 'retro'. Maybe. IDK.
I find it pretty interesting when people actually build stuff, though.
I find it a lot less interesting when people argue about stuff they're never going to build, or what Nintendo should have built 30 years ago, etc.
Re: Nes vs Snes vs N64 vs newer
I do not think the PS1 nor the N64 should be particularly hard to program for. The both have MIPS processor (PS1 a 32-bit MIPS and N64 a 64-bit MIPS if I'm not mistaken), and this is a widely supported target for many high level languages. For instance, you could compile code with GCC using any input language it supports, and create something that's actually executable on the PS1 or N64.It's just a lousier version of modern that's 100x harder to program than a modern PC game would be.
You're probably right that 3D graphics hardware is poorly doccumented and would be hard to target on, but after you invest some time making tools for that, it'll be a breeze to use them. You could also develop 2D games for those platform, even though it wasn't the norm back then. Castlevania - SOTN comes to mind.
In the end those platforms are about the same as the Nintendo DS when it comes to complexity to code for - they are not very powerful systems, and for exaple you'll have to avoid using floating point numbers, but overall they're not very difficult to work for nor very limited.
Re: Nes vs Snes vs N64 vs newer
Looks like the N64 cpu fully supports floats, even has a sqrt instruction.Bregalad wrote:In the end those platforms are about the same as the Nintendo DS when it comes to complexity to code for - they are not very powerful systems, and for exaple you'll have to avoid using floating point numbers, but overall they're not very difficult to work for nor very limited.
Re: Nes vs Snes vs N64 vs newer
The Playstation has a lot of official development kit tools available on the internet. It is actually not a terribly difficult system to get started on. I think it's a good platform for homebrew as well because it has many positive qualities.calima wrote:I imagine both N64 and PS1 lack tools. I know N64 didn't have much of anything outside the leaked Nintendo devkit for a long time, only in the last year or so was an open version developed, and that still can't do 3d. PS1 I haven't looked at.
First there is the SDK and tools that are easily found. Secondly you can program your creation in C as opposed to Assembly that you would most likely use on NES, SNES, Genesis, etc. You have graphical capability to do something that looks like a SNES game up to ofcourse 3D graphics. You have a fairly large amount of memory compared to older systems (2 Megabytes Main RAM, 1 Megabyte VRAM) as well as the mass storage medium of CD-ROM. You can use 4-bit, 8-bit, or 16-bit textures for whatever you are putting on the screen. You could use full motion video if you wanted. You have CD audio for music. The controller is nice too.
You still do have limits to work within. You don't have to unrestrained freedom of a modern PC or more modern consoles. But it's still a console you may consider retro or nostalgic. You can easily burn a CD-R of your game and play it on a real console. It could be more accessible than running your software on a cartridge based console because of that.
My thoughts on the SNES. It is a retro console. I disagree that the graphics are "too good" to be retro. Come on now it's pretty old! But then again the whole retro category is somewhat of an opinion. Yes the SNES is harder to program for in certain ways than the NES. But you do get a lot of nice things too. The most important thing in my opinion is for there to be good support/tools/documentation available. If you've got that, you should be able to make your game.
Re: Nes vs Snes vs N64 vs newer
Why's there so little PS1 homebrew if there's lots of tools? I just googled, and it was mostly simple 2d things.
Re: Nes vs Snes vs N64 vs newer
It's my understanding that gathering the sort of talent needed for a big, ambitious 3D project requires a possibility of making money from the project. This in turn needs three things: understanding of the platform, a lawful devkit, and a practical boot method.
I remember reading about two different versions of the PlayStation GPU with different bugs. Licensed developers had special consoles with blue and green cases, and a game needed to work in both before being sold.
If it's possible to obtain developer tools only by infringing copyright, such as by using leaked copies of the devkit, commercial homebrew is unlikely to make serious attempts at the platform.
Finally, we can't yet burn or press discs with the "SCEI", "SCEA", or "SCEE" lead-in wobble that the drivechip uses to identify an authentic disc. Without this, it's impractical to get software booting on an unmodified retail PlayStation console, especially SCPH-9000 series, PSOne, PS2, and slim PS2.
I remember reading about two different versions of the PlayStation GPU with different bugs. Licensed developers had special consoles with blue and green cases, and a game needed to work in both before being sold.
If it's possible to obtain developer tools only by infringing copyright, such as by using leaked copies of the devkit, commercial homebrew is unlikely to make serious attempts at the platform.
Finally, we can't yet burn or press discs with the "SCEI", "SCEA", or "SCEE" lead-in wobble that the drivechip uses to identify an authentic disc. Without this, it's impractical to get software booting on an unmodified retail PlayStation console, especially SCPH-9000 series, PSOne, PS2, and slim PS2.
Re: Nes vs Snes vs N64 vs newer
N64 makes you write your own Microcode for the video chip, so it's not just CPU code you have to write.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
Re: Nes vs Snes vs N64 vs newer
So do the Saturn, PlayStation 2, and modern PCs. That's because they all use a form of programmable vertex shader. As with music engines on the NES and Super NES, the usual practice is to grab someone else's suitably licensed general-purpose shader library. Nintendo provided the "Fast3D" shader to its licensees.Dwedit wrote:N64 makes you write your own Microcode for the video chip
Which brings us back to the no lawful devkit problem.
Re: Nes vs Snes vs N64 vs newer
Well I consider it to be a fun and interesting exercise to write your own music engine for the NES/SNES, so I see no reason why it wouldn't be the same with graphics engine.
Re: Nes vs Snes vs N64 vs newer
You just need to look harder. One example: https://www.youtube.com/watch?v=3SREyKQIqzYcalima wrote:Why's there so little PS1 homebrew if there's lots of tools? I just googled, and it was mostly simple 2d things.
Another example: https://www.youtube.com/watch?v=7NQ-CqYgw1s
And there are open source/non-licensed development tools available too. They just aren't necessarily as good. Though I can't be sure as I have not used them myself. In time they certainly could be as good.
Tepples is right that if you plan to sell your game you do have some issues with a platform like the PS that you don't with something like NES or SNES. If you use the official SDK and more importantly its libraries in your executable then you have potential legal issues. If you use another SDK or your own libraries then you won't. Getting your game to play on unmodified consoles is another issue. You cannot burn a CD-R that will boot, not that you'd distribute your game that way anyway. Pressing CD-ROMs that would boot should be possible, but would likely be a challenge to arrange.
The most immediate solution is just to note the issue and offer support for running unlicensed discs. It's not like running them is difficult.
Back to the amount of homebrew, there is a lot of Playstation homebrew but like any platform you get people doing simple demos. Or starting projects that never get finished. Projects that go unreleased. I do think it's a pretty accessible platform to do your own projects on.
Re: Nes vs Snes vs N64 vs newer
But then you have to spend time on being the first person to write said libraries, time that you could instead spend making a game on a different platform whose tools are already usable.MottZilla wrote:And there are open source/non-licensed development tools available too. They just aren't necessarily as good. Though I can't be sure as I have not used them myself. In time they certainly could be as good.
[...]
If you use the official SDK and more importantly its libraries in your executable then you have potential legal issues. If you use another SDK or your own libraries then you won't.
What sort of "support" were you envisioning? The availability of modchips, modchip installation services, and the like depends on the country, particularly any applicable anti-circumvention statute that it may have enacted pursuant to the WIPO Copyright Treaty of 1996.The most immediate solution is just to note the issue and offer support for running unlicensed discs. It's not like running them is difficult.