On the topic of scrolling

User avatar
Posts: 485
Joined: Tue Mar 06, 2018 11:47 pm

Re: On the topic of scrolling

Post by Mihoshi20 » Sat Jun 23, 2018 11:57 pm

CutterCross wrote:
Sat Jun 23, 2018 11:50 pm
Mihoshi20 wrote:
Sat Jun 23, 2018 11:37 pm
I'd be perfectly happy with the in tool option to lock the game to only horizontal or vertical scrolling, least for the basic platformer module. Most general users won't need 4 way directional scrolling or even Mario 2 horizontal and vertical scrolling and those who do will probably have the knowhow to code it up anyhow.

As for the best way to do it, that parts tricky, if doing mario 1 style one way scrolling, could probably just do the screen you're on in $2000 and the next screen to the right of your current screen on $2400 though I'm not sure how you'd do the screen above or below ala Ducktales unless that could be handled the same way the engine does it now.

If doing two way scrolling ala Mario 2's horizontal parts or Ducktales, I wouldn't even know where to begin as I don't know enough about the hardware only what I've observed watching the nametable debug function of FCEUX.
Like I said, I'm no programmer, but most of what I know about NES scrolling came from here: https://www.youtube.com/watch?v=wfrNnwJrujw
It's a really good video showing how the NES handles all kinds of scrolling.
Yeah, that's a great vid. All the vids this guy does are very well done and informative. Also finally solved the mystery of all the block garbage at the edge of Mario 3's screen I noticed as a kid.
Posts: 32
Joined: Sat Apr 21, 2018 12:43 am
Location: Colorado, USA

Re: On the topic of scrolling

Post by DChilders84 » Sun Jun 24, 2018 12:17 am

This is a very important feature, not only for the platformer style of game, but what about shoot-em-ups or spaceship games? I'd rather development of the tool continue past the designated release date, even push the release date back if necessary, to include a scrolling option.
User avatar
Posts: 341
Joined: Fri Feb 16, 2018 9:24 pm
Location: Sarasota, FL

Re: On the topic of scrolling

Post by TheNew8bitHeroes » Sun Jun 24, 2018 2:36 am

Like I said...this is the wrong sort of question.

It's sort of like if someone were to ask, "So, with Microsoft Word...can you write in screenplay format?" Microsoft Word has some templates built into it, but the program Microsoft Word itself is the program that handles things like representing characters on the screen, line spacing, font selection, font size, justification, etc etc etc. The answer to "Can you write in screenplay format" with Microsoft Word is a hard question to answer. Sure...you CAN write in screenplay format, with the proper use of the things that Microsoft Word does.

NESmaker is the tool that handles the things. The engine underneath is the variable here, and this will updated and changed and optimized probably for years to come, by us and other members of the community. "Can NESmaker do scrolling?" is sort of like asking "Can Microsoft Word write in screenplay format?". If you manipulate it correctly, sure. Will there be a single button that suddenly puts it into "scrolling mode"? That's too broad a concept to definitively answer.

The idea that "Well, I KNOW NES games could do things, because look at xyz game, it did this sort of thing." Yes, that's true, however that engine was written specifically to do all of those particular things. The default engine and the data organization underneath NESmaker is vanilla, meant to be able to easily modified into as many potential forms as possible. It would be much easier (not easy, mind you...but easier) to, say, create a standard RPG scrolling if we made it so each collision byte only had to be 2 bits worth of data (4 possibilities), but obviously that doesn't work for other types of games. Our main functionality has to be sort of the middle of the road, to be built upon.

Consider HUD development, for instance. It is SUPER easy for us to create a hud that functions just like the HUD in Super Mario Brothers. It's also super easy for us to create a hud that functions just like the HUD in Legend of Zelda. However, these are so dramatically different that what we have to do is create a central code base that can be manipulated through a front end to approximate both. The tool's job is not to make one that functions like Mario's OR Zelda's, but instead to give you access to components...draw a word here, draw a variable there, draw an image dependent on a variable over there, draw it at the top, or at the bottom, change the background color to match the level, or change the background color to black, etc etc etc. And then you take all the options and construct a thing out of all of that that fit's YOUR game's needs and visions.

I hope that we have a scrolling engine that supports basic horizontal (or vertical) scrolling natively by release. If not, I'm sure it would come in the months that follow soon thereafter, but that's no surprise. As soon as we started hitting stretch goals, each goal might take longer than the official release of the tool. But the main point is that people will be able to start getting acclimated in August, start snapping things together and seeing them on cartridge in a way they never have been able to before. Adding new ASM code to the back side of things will be a constant thing for us and any other developer who chooses to dig into the code. And trust me - learning to code in an environment where 90% of the backbone is already set up is MUCH easier than building from scratch.
Posts: 266
Joined: Sun May 13, 2018 10:02 am

Re: On the topic of scrolling

Post by darkhog » Mon Jul 02, 2018 12:01 am

I wonder, do the boards NESMaker comes with have enough on-board RAM to support 4-way scrolling without loading seams? In any case, I know it's important, but scrolling on the NES is kind of a mess. If it would be powerful enough to load an entire screen worth of nametables in one frame, it probably would be easier. But it isn't.

I think the current way the engine does things is optimized for Mystic Searches which is a zelda clone and as such is fine with no scrolling. But, while hard, some scrolling capability should be added, though it most likely would require rewriting loading routines. The preloading monster/collision data probably wouldn't work since there isn't enough ram to work with on the NES. Instead, it should be loaded line-by-line (I'm talking about tile lines) for metatiles and collision, on every NMI and monsters should be loaded only as they're about to show on the screen, unless player is stationary. This, along with discarding old data should prove performant enough to work well. In fact, I think Mario 3's working this way.
Post Reply