Jump to content
IGNORED

The completely underappreciated possibilities of Mode 0 on SNES. . . .


Recommended Posts

Posted (edited)

So, here's something: I was just very roughly messing about seeing how close I could get two of the four available backgrounds using Mode 0's colour limitations on SNES to match the boss battle below from Shinobi III on Genesis (it's actually the underground one at the end of Round 3, which the video should jump to), and it turns out that even within the limitations of Mode 0, the SNES can get pretty dang close indeed:

 

Here's how it would look if it were done in Mode 0 on SNES (boss on one BG layer and background on the other):

621461153_ShinobiIIIMode0.png.bc710f858c5e22a6b074c5470a84bf56.png

 

And here's how it looks in the Genesis original (boss on one BG layer and background on the other):

376765784_Round3boss.png.19fcb23c21e212c22a84f4dcf658ee2f.png

 

Note: This boss uses a cool line-scrolling wavy effect on Genesis (nothing the SNES can't do too), so that's why it might not 100% match on the static SNES version, as the Genesis version might be a little distorted away from the actual tile art in this specific shot. And, obviously, the Genesis version here is just a quick screen grab, so not perfectly sharp. I also removed the HUD from the Genesis image so as not to distract from the comparison.

 

The kinda amazing observation being that I would then still have every single sprite and 2 full backgrounds capable of just as much detail spare as what's already there to do whatever the hell I want with them. That's just bonkers when you think about what that means in terms of how much more you can add to a scene like this just by taking full advantage of the four full backgrounds that are available in Mode 0 on SNES. I mean, I could literally have two more of those huge bosses on-screen on SNES and still have every single sprite spare, plus I could even make one of them a semi-transparent ghost version if I liked. :-o

 

It's crazy that almost no one has really tried to truly push Mode 0 to its limits thus far.

 

Note: I used this awesome little tool to reduce the colours to work/fit within the limitations of SNES' Mode 0: https://rilden.github.io/tiledpalettequant/

Edited by Kirk_Johnston
  • Thanks 1
Link to comment
Share on other sites

Posted (edited)
51 minutes ago, Kirk_Johnston said:

And here's a little quick and dirty Symphony of the Night SNES mockup using Mode 0 specs too (zero sprites necessary):

 

 

This is impressive. It catches the spirit of the original nicely. This would have been great on the SNES. Is gameplay with this technique plausible?

 

If you use the limited color palette effectivly it can look great. With the added benefits used effectivly I can't wait how gameplay could look in action.

Edited by Creamhoven
  • Like 1
Link to comment
Share on other sites

Posted (edited)
39 minutes ago, Creamhoven said:

This is impressive. It catches the spirit of the original nicely. This would have been great on the SNES. Is gameplay with this technique plausible?

 

If you use the limited color palette effectivly it can look great. With the added benefits used effectivly I can't wait how gameplay could look in action.

Well, this isn't running on a SNES, but if it were then it would play like any other game on the console with zero issues. Mode 0 is just a standard background mode on the system, just like the most commonly used Mode 1 and the also very popular Mode 7. And I could obviously make it playable in GameMaker 8.1, but that would just be for my own amusement, as I couldn't port any of the code stuff across to SNES--at least I don't know how to--unlike the art assets that are easy to convert to SNES format. But, yeah, gameplay is entirely possible with this technique [or mode, to be more accurate] on SNES.

Edited by Kirk_Johnston
  • Like 1
Link to comment
Share on other sites

12 minutes ago, Kirk_Johnston said:

Well, this isn't running on a SNES, but if it were then it would play like any other game on the console with zero issues. Mode 0 is just a standard background mode on the system, just like the most commonly used Mode 1 and the also very popular Mode 7. And, I could obviously make it playable in GameMaker 8.1, but that would just be for my own amusement, as I couldn't port any of the code stuff across to SNES--at least I don't know how to--unlike the art assets that are easy to convert to SNES format. But, yeah, gameplay is entirely possible with this technique [or mode, to be more accurate] on SNES.

You did well!

  • Like 1
Link to comment
Share on other sites

Posted (edited)
9 minutes ago, Creamhoven said:

You did well!

Thanks. I'm just trying to show some stuff on SNES using modes and features that I think both developers back in the day and even a lot of the modern SNES indie/homebrew guys have historically ignored, probably because they just immediately jumped to the conclusion that what mode and/or feature wasn't worthy of their time for whatever reason, and hopefully it will inspire some of them to actually give those modes and features another go and see just how far they can push them. I know the SNES has a whole lot of untapped potential, and I'd love to see people with the kind of skill as someone like say TiagoSC has actually try to create something that would blow people's minds. Fingers crossed we see some cool stuff on SNES in the near future that shows it off like that, like actual new release-quality indie/homebrew games. . . .

Edited by Kirk_Johnston
Link to comment
Share on other sites

3 minutes ago, Kirk_Johnston said:

Thanks. I'm just trying to show some stuff on SNES using modes and features that I think both developers back in the day and even a lot of the modern SNES indie/homebrew guys have historically ignored, probably because they just immediately jumped to the conclusion that what mode and/or feature wasn't worthy of their time for whatever reason, and hopefully it will inspire some of them to actually give those modes and features another go and see just how far they can push them. I know the SNES has a whole lot of untapped potential, and I'd love to see people with the kind of skill as someone like say TiagoSC has actually try to create something that would blow people's minds. Fingers crossed we see some cool stuff on SNES in the near future that shows it off like that, like actual new release-quality indie/homebrew games. . . .

Yes, that is awesome! It opens the potential to bring experinces to the SNES that weren't thought of as possible. The SNES is perhaps the most popular console ever and changing the game on the SNES is exciting. What kind of experiences do you think are achievable with this approach?

Link to comment
Share on other sites

Posted (edited)
23 minutes ago, Creamhoven said:

Yes, that is awesome! It opens the potential to bring experinces to the SNES that weren't thought of as possible. The SNES is perhaps the most popular console ever and changing the game on the SNES is exciting. What kind of experiences do you think are achievable with this approach?

Honestly, I'm starting to think a whole lot can be achieved with this approach. What I noticed during my experiments looking at say Genesis stuff for comparison was that, because of that system's particular colour limitations (normally only 60 visible on-screen total at 4bpp, shared across both backgrounds and sprites), so many of its games would actually fit pretty well into the colour limits of SNES' Mode 0 (actually 96 visible colours across the four backgrounds alone, 24 on each layer limited to 2bpp, but with yet another 120 additional colours at 4bpp dedicated to sprites on top of that), meaning you could pretty convincingly replicate the backgrounds and stages of many Genesis' games with only two background layers on SNES (see the Shinobi III test above for example) and still have two entire backgrounds layers spare on SNES to do whatever you want with them (along with all the sprites too)--kinda mind boggling really.

Edited by Kirk_Johnston
  • Like 1
Link to comment
Share on other sites

14 minutes ago, Kirk_Johnston said:

Honestly, I'm starting to think a whole lot can be achieved with this approach. What I noticed during my experiments looking at say Genesis stuff for comparison was that, because of that system's particular colour limitations (normally only 60 visible on-screen total at 4bpp, shared across both backgrounds and sprites), so many of its games would actually fit pretty well into the colour limits of SNES' Mode 0 (actually 96 visible colours across the four backgrounds alone, 24 on each layer limited to 2bpp, but with yet another 120 additional colours at 4bpp dedicated to sprites on top of that), meaning you could pretty convincingly replicate the backgrounds and stages of many Genesis' games with only two background layers on SNES (see the Shinobi III test above for example) and still have two entire backgrounds layers spare on SNES to do whatever you want with them (along with all the sprites too)--kinda mind boggling really.

If I remember correctly some 32x games divide the sprite and background work between the gensis and 32x hardware. Maybe even 32x games could work with this mode?

Link to comment
Share on other sites

Posted (edited)
4 minutes ago, Creamhoven said:

If I remember correctly some 32x games divide the sprite and background work between the gensis and 32x hardware. Maybe even 32x games could work with this mode?

32X doesn't have this particular mode, at least that I'm aware of. As far as I know, it's a mode that only works on SNES out of all the consoles from the 16-bit era. Although, 32X has a whole bunch of features that allow for stuff far more advanced than anything you'd see on a stock SNES, especially 3D stuff. But, of course, that requires actually owning a 32X, which even most Genesis owners don't. What I'm generally trying to do is see how far the stock SNES can be pushed, as that's the system everyone owns and is the lowest common denominator combined with the largest user-base. But, yeah, if 32X is your jam, you can do some pretty dang cool stuff on it, I have no doubt.

Edited by Kirk_Johnston
  • Like 1
Link to comment
Share on other sites

3 minutes ago, Kirk_Johnston said:

32X doesn't have this particular mode, at least that I'm aware of. As far as I know, it's a mode that only works on SNES out of all the consoles from the 16-bit era. Although, 32X has a whole bunch of features that allow for stuff far more advanced than anything you'd see on a stock SNES, especially 3D stuff. But, of course, that requires actually owning a 32X, which even most Genesis owners don't. What I'm generally trying to do is see how far the stock SNES can be pushed, as that's the system everyone owns and is the lowest common denominator combined with the largest user-base. But, yeah, if 32X is your jam, you can do some pretty dang cool stuff on it, I have no doubt.

I'm kind of suprised that this hasn't been done in the demo scene with the mode 0 approach. I hope to see what is possible with this in action.

Link to comment
Share on other sites

Posted (edited)
52 minutes ago, Creamhoven said:

I'm kind of suprised that this hasn't been done in the demo scene with the mode 0 approach. I hope to see what is possible with this in action.

Yeah, similarly. I'm actually shocked at just how much stuff the SNES indie/homebrew/demo scene seems to have largely just ignored to date. It's crazy that I've come up with a few different ways to push the system in the last year or so that, for whatever reasons, no one really bothered to even think about for the most part, never mind try: Using Mode 3's 8bpp 256-colours for displaying full-screen high-colour images and also for some very cool palette cycling tricks too (maybe in some cool Choose Your Own Adventure type of interactive visual game), using 512x448 mode with multiple layers in full colour and during actual gameplay, using Mode 0 to make stuff with loads of overlapping layers and parallax, changing Mode 7 down the screen using HDMA to create undulating 3D effects that scroll and scale convingly towards the screen and aren't just they typical one flat perspective plane, etc. I've seen maybe a small handful of games and demos in my time that have tried some of these things. And, crazily, I've seen only one single use of Mode 6 on SNES ever, and even that was mundane as hell. Now, I know that mode isn't particularly useful, but I would have thought there'd at least be a few little demos just showing off some neat 512x448 column scrolling effects, even something like the Matrix scroll would be a gimmie. But, hey, I'm still hoping the SNES indie/homebrew community is going to make it all happen at some point. . . .

Edited by Kirk_Johnston
  • Like 1
Link to comment
Share on other sites

The problem here is though, the way you went about it on other forums with those developers, the attacks on their (legit) laziness, group think and the rest... you burned too many bridges.  So even if you are right, good luck getting most of if not any of them to look at it and give it the attempt.  You'll have a better chance stopping the fake ass videos of simulated environments and taking the years needed to learn to code it yourself and do it first to rub their noses in it.

  • Like 2
Link to comment
Share on other sites

1 hour ago, Tanooki said:

The problem here is though, the way you went about it on other forums with those developers, the attacks on their (legit) laziness, group think and the rest... you burned too many bridges.  So even if you are right, good luck getting most of if not any of them to look at it and give it the attempt.  You'll have a better chance stopping the fake ass videos of simulated environments and taking the years needed to learn to code it yourself and do it first to rub their noses in it.

Some people can't handle Kirk's passion.  I'm happy to support him.  Someone last week actually asked me, who was that other guy who left NESdev?  Unvanquished?

  • Like 1
Link to comment
Share on other sites

Yeah I know.  I'm fine talking with him as he's largely been correct.  But sometimes it goes a bit too deep into where it's put off fanaticism and just having to be right at any cost, and that is what drove those people off from what I've had put in front of me largely by him or where I went and dug a bit.  The SNES is sadly disrespected in the homebrew community for the most stupid selfish and assholish reasons when it should be just about as easy to do that than the big 3 that usually are (NES, Gen, Gameboy.)  The tools are there, the modes are there, yet they're just not used (special chips too even if at cost.)  That's why I brought up Hind Strike before as it's a stunning merge of the DSP1 Pilotwings chopper stages realized as a full game with a desert strike style mission loadout and setup per stage..it's amazing.  That game is every bit as good as at least 1/2 the SNES library that came out in the day if not better, it could, if someone faked in some copyright and licensing screens be seen as a legit release of the early 90s.  You see what he does with SOTN, the oddball shooter with layers and pseudo-hi def...it's all doable, smoohtly too, with a base HiROM setup to use the full  (not 2/3) of the CPU speed and various modes.  The SNES is being grossly under utiliized and ignored when it could put up some insane quality.  Commercial always, even Nintendo, played it safe yet in the end there was SFAlpha2, Kirby's Dream Land 3, non-chipped DKC trio of titles and they pushed the limits...supposedly.  Yet none do the insane shit we've seen in Kirk's threads and the few other brave talents types who try and not just spit up lazy 'it can not do it' pablum of lies.  I mean crap, look at Gradius III first that one genius coder hit it with the SA1 and it was up to arcade speed, then someone else was like F-that, took it from LoROM to HiROM with a little coding to account for it, and bam, same level of performance without an expensive chip... HMMM.

  • Like 1
Link to comment
Share on other sites

Posted (edited)
5 hours ago, Tanooki said:

The problem here is though, the way you went about it on other forums with those developers, the attacks on their (legit) laziness, group think and the rest... you burned too many bridges.  So even if you are right, good luck getting most of if not any of them to look at it and give it the attempt.  You'll have a better chance stopping the fake ass videos of simulated environments and taking the years needed to learn to code it yourself and do it first to rub their noses in it.

Well, I'm hoping they decide to do some genuinely cool stuff on SNES irrespective of anything I've said and because they actually want to. If they don't do anything cool on SNES going forward just because they don't like the fact I've had some heated debates with them, which would be extremely petty and counterproductive, they're really not the kind of people I'd want to see working on SNES anyway. So hopefully it's people who are actually passionate about the system that drive things forward, totally irrespective of what they think of me or whomever else, as that would be the ideal scenario. I mean, certainly, if we ever do get a good SDK that I can use relatively intuitively, I'll be making some stuff for SNES no matter what any of them or anyone else has to say about it. And that's exactly kind of people I want more of in the SNES indie/homebrew development community. :D 

 

I'm not going to learn how to code on SNES in the current environment as the tools are stuff are just so bad [imo] that I just can't get my head around them. Some things really aren't designed for certain people, and that's definitely the case here. When they are designed for people like me though, I'll be right on it.

 

And all those simulated environments are still accurate to the real system's specs, capabilities and limitations, as perfectly demonstrated with the couple of examples that have been coded to run properly on SNES by some guys in the community for me already, so I'm fine with using the same approach going forward for now as test/concept examples to demonstrate what's entirely possible on SNES. If people are still in doubt about whether they'd look or run like that on SNES, that's on them and not me at this point. They either accept they're SNES-accurate or they don't--but they are.

 

The aim right now for me isn't for me to code actual SNES stuff that runs directly on the console or emulators--that will happen with a properly-usable SDK or development tool comes along that I can actually get to grips with (something on the level of GameMaker 8.1 or NESmaker would totally be ideal)--just to show what's possible and hopefully inspire some other people to try something themselves.

 

Trust me though, one day I hope I do get a chance to rub their noses in it. :)

Edited by Kirk_Johnston
Link to comment
Share on other sites

Well and there's your problem, again, your way or the highway and being very overly forward about it.  I don't blame them at all for being petty, even if it is vindictive.  But to say someone with more than enough skills to do it, but F them because they won't ride your coat tails is equally petty and arrogant too.  Try winning them over not acting like a high pressure pyramid scheme salesman as that would go a long way.  Show some running examples, share the code, answer questions when and if they pop up.  Be the teacher, not the condescending prick in the situation.

 

Because you say they're accurate with the demos doesn't mean they are in actual practice though.  I mean you just said before hand you don't get it, the documentation sucks, you can't figure out most of it to code for it, so who's to say what you can figure out with a lot of assumption will work as described.  You can't make that promise since you can't back it up, and that's I think their problem.  The SDK and documents are there, they're not over your head but doesn't mean they don't exist.

  • Like 2
Link to comment
Share on other sites

Posted (edited)
1 hour ago, Tanooki said:

Well and there's your problem, again, your way or the highway and being very overly forward about it.  I don't blame them at all for being petty, even if it is vindictive.  But to say someone with more than enough skills to do it, but F them because they won't ride your coat tails is equally petty and arrogant too.  Try winning them over not acting like a high pressure pyramid scheme salesman as that would go a long way.  Show some running examples, share the code, answer questions when and if they pop up.  Be the teacher, not the condescending prick in the situation.

 

Because you say they're accurate with the demos doesn't mean they are in actual practice though.  I mean you just said before hand you don't get it, the documentation sucks, you can't figure out most of it to code for it, so who's to say what you can figure out with a lot of assumption will work as described.  You can't make that promise since you can't back it up, and that's I think their problem.  The SDK and documents are there, they're not over your head but doesn't mean they don't exist.

Edit: I went off on a rant wasting my time trying to debate all these points and getting frustrated in the process--but why. Instead, just see below.

Edited by Kirk_Johnston
Link to comment
Share on other sites

Posted (edited)

Here are the facts: There's not one single actual SNES programmer who can come in here and say any of this won't work on the hardware, because they'd be flat-out lying, so, if we can just accept that simple truth then we can move forward in peace.

 

All I'm doing here is sharing some ideas and concepts for cool stuff the could be done on SNES that interests me, all of which is 100% matter-of-fact possible within the technical limits of the hardware--please, let's stop re-visiting and debating this already settled point based on, no offense, ignorance--with the hope that maybe it inspires some other people to try some stuff of their own on SNES one day.

 

Let's just go with that.

Edited by Kirk_Johnston
Link to comment
Share on other sites

41 minutes ago, Kirk_Johnston said:

Here are the facts: There's not one single actual SNES programmer who can come in here and say any of this won't work on the hardware, because they'd be flat-out lying, so, if we can just accept that simple truth then we can move forward in peace.

 

All I'm doing here is sharing some ideas and concepts for cool stuff the could be done on SNES that interests me, all of which is 100% matter-of-fact possible within the technical limits of the hardware--please, let's stop re-visiting and debating this already settled point based on, no offense, ignorance--with the hope that maybe it inspires some other people to try some stuff of their own on SNES one day.

 

Let's just go with that.

I think Tanookis point was more about the attitude than the accuracy.

  • Thanks 1
Link to comment
Share on other sites

Posted (edited)
1 hour ago, Creamhoven said:

I understand that there are tensions, but what about the mode 0? Maybe it is a good idea to explore mode 0 on the SNES. I mean, think about it: Symphony of the Night on the SNES would be like Bach played on a Stradivari.

Yeah, that's the bit I care about, discussing the possibilities of what stuff the indie/homebrew scene could do on SNES. Doesn't have to be any of my specific ideas that anyone expands upon or develops, but just getting conversations going around some new and exciting SNES development would be great. I'm just sharing my own ideas and mockups as my contribution towards that, hopefully to show people some interesting stuff that maybe they haven't really seen or even thought about before, which might act as a little bit of inspiration for their own ideas and experiments. And I'd like to see more people join in with that part of the conversation and add to it in a productive and enthusiastic way too, just like you have been doing. :)

Edited by Kirk_Johnston
  • Like 1
Link to comment
Share on other sites

Posted (edited)
3 hours ago, OldSchoolRetroGamer said:

You heard it here folks and you know the law, once somebody states this none shall challenge it! It is written and so it is law! 😂

Facts GIF by Judge Jerry

 

Well, I've already proven via previous examples that my ideas work as intended once programmed directly on SNES:

 

This is from a SNES ROM file that you can play in an emulator yourself:

 

The two examples below are just early Super Mario World ROM hacks, which you can also try on any emulator (press start a couple of times to get them to run)

Bridge2.gif

Here are the links to download them and try them for yourself:

Mode0Bridge.zip

mode0_1_3.zip

 

Note: These are all very clearly early tests that a couple of nice programmers quickly put together for me so I could see how my ideas would look and run on SNES, so obviously everything you see here isn't quite as well put together as my own versions, which I spent quite a bit more time on, and can be polished even further and indeed well beyond even my own more up to date GameMaker 8.1 versions of these mockups too.

 

Here are my most current tests in GameMaker 8.1 for comparsion:

 

 

So, it's just wasting everyone's time at this point when some people keep incorrectly asserting that my ideas may not work on the SNES properly and I don't really know if they will because I haven't coded them myself on SNES yet. It's the same old crap many of the programmers in SNESdev droned on about for ages--boy do they know how to ruin any enthusiasm in this community and shut down anything potentially interesting before it even gets properly going--and it isn't helping anyone or moving anything any further forward.

 

I will repeat for the zillenth time: You do not have to literally program something on SNES directly just to prove it will work on SNES. If you understand enough about the system and its technical capabilities, a proof of concept that adheres to all its specifications is a totally valid way to share ideas in the community, especially when it's mostly just art stuff you're showing anyway and not some complex gameplay ideas or sophisticated physics simulations or whatever--and don't let any gatekeeping elitist snob programming-obsessed types in the SNES development community tell you otherwise.

 

Now, can we get back to the point of my post(s), which is actually thinking about and maybe even sharing some concepts of cool SNES-spec-accurate ideas that can be done on the console and have productive and authentic conversations around that, with the aim of hopefully inspiring others to do similarly and maybe even spur on the development of some genuinely awesome new SNES indie/homebrew games going forward. . . .

Edited by Kirk_Johnston
  • Haha 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...