It is currently Wed Sep 26, 2018 5:17 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 93 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7  Next
Author Message
PostPosted: Thu Apr 05, 2018 11:50 am 
Offline
User avatar

Joined: Sat Jan 09, 2016 9:21 pm
Posts: 456
Location: Central Illinois, USA
Now that I got that off my chest, my preference for my own games, and what I find interesting, is: Was this technology available during the commercial life of the system?

4-screen wasn't common, but yes, it existed.

_________________
My games: http://www.bitethechili.com


Top
 Profile  
 
PostPosted: Thu Apr 05, 2018 11:58 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 7558
Location: Seattle
"Happened ever" isn't exactly the same as "was seen with any significant frequency"

"Happened 3-4 times in an entire library of 1300-2000 games" is awfully rare. More games used ROM nametables than had 4-screen RAM nametables, and we don't talk about them anywhere near as often.


Top
 Profile  
 
PostPosted: Thu Apr 05, 2018 1:26 pm 
Offline
Formerly WheelInventor

Joined: Thu Apr 14, 2016 2:55 am
Posts: 1781
Location: Gothenburg, Sweden
On the other hand, Gauntlet was a smash hit in the arcades and influenced games like Druid. It probably had influence on Diablo as well even if Rogue is cited as David Breviks personal source of inspiration (he wanted it to be turn based, but there was a group decision against it). If you look past procedural map generation, i think Diablo has more in common with Gauntlet (multiplayer cooperation, swarming enemies, realtime action). Anyway, It has a prominent cultural significance. I'm not sure i can say the same most of the time if i single out a game from the lower half of the NES library (which i feel like noone wanted to remember up until reviewing disappointing retro games became a youtube phenomenon).

The nes adaptation was very decent, even if it had to butcher the smoothness of enemy movement and some other things.

I think Rad Racer II is of less significance, but at least it's a follow-up to a very strong title in its day.


Anyway.. rare or not, if 4-screen helps me or somebody i collaborate with putting out a game that people can enjoy, that's all the motivation i need to use it. And one of the most financially project-friendly pcb:s out there has it, so if you're using that pcb, you might as well use its features whenever it might be called for.

_________________
http://www.frankengraphics.com - personal NES blog


Top
 Profile  
 
PostPosted: Thu Apr 05, 2018 2:41 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 7558
Location: Seattle
Yeah, modern hardware that gives 4-screen (i.e. GTROM or INL's 4-screen variant of UNROM512) for incrementally "free" is a very different calculus.


Top
 Profile  
 
PostPosted: Thu Apr 05, 2018 4:16 pm 
Offline

Joined: Thu May 19, 2005 11:30 am
Posts: 657
Don't forget the four Sachen games (Jurassic Boy II, Zhongguo Daheng, Rocman X, Street Heroes) as part of the 4-Screen universe. Together with Gauntlet, Rad Racer and Napoleon Senki, that's an astounding seven games! 8-)

I had been trying for a while to hack Super Mario Bros. 3 to use four-screen mirroring but gave up trying. Now that's what I would call a worthy improvement hack.

Unfortunately, four-screen mirroring does not solve the problem of sprites suddenly appearing at the left and upper edges. I've been wondering how cycle-intensive it would be for a CHR-RAM game to automatically shift the pattern data to provide a clean cutoff without hard-clipping left eight screen pixels completely. I usually play in a window, where I find such clipping quite objectionable.


Top
 Profile  
 
PostPosted: Thu Apr 05, 2018 4:40 pm 
Offline
Site Admin
User avatar

Joined: Mon Sep 20, 2004 6:04 am
Posts: 3563
Location: Indianapolis
FWIW, the VS Uni/Dualsystem also has 4-screen nametable memory.

The original poster didn't say whether they wanted a status bar or not. I bet they also didn't expect this to turn into a multi-page philosophical discussion either, heheh. Welcome to the forum, bleubleu. :)

I bring up the status bar because I made the nametables banked on GTROM to make that easier. You can put the status bar in it's own nametable bank, so the main screen can scroll freely.


Top
 Profile  
 
PostPosted: Thu Apr 05, 2018 5:40 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 7558
Location: Seattle
Memblers wrote:
FWIW, the VS Uni/Dualsystem also has 4-screen nametable memory.
I'm not certain how many of those games really take advantage of all four screens; a bunch (especially ports from NES games) seem to treat it as "simultaneously your choice of H or V"


Top
 Profile  
 
PostPosted: Thu Apr 05, 2018 6:29 pm 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 2268
Location: DIGDUG
Quote:
Unfortunately, four-screen mirroring does not solve the problem of sprites suddenly appearing at the left and upper edges.


off the top of my head...

The left edge problem can be fixed by turning the left 8 pixels off.

The top edge could be fixed with an 8 Sprite limit (using 8 blank sprites) on the top 8 pixels, and keeping BG rendering off for the top 8 pixels. Perhaps 9, since sprites are 1 pixel lower.

But, old TVs would hide the top 8+ pixels anyway, so most NES games didn't care about it.

_________________
nesdoug.com -- blog/tutorial on programming for the NES


Top
 Profile  
 
PostPosted: Fri Apr 06, 2018 12:10 am 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7524
Location: Chexbres, VD, Switzerland
dougeff wrote:
Why climb a mountain when you can use the escalator?

Because you enjoy climbing mountains, and don't want to become overweight have a earth attack in the next 10 years ?

Quote:
"Happened 3-4 times in an entire library of 1300-2000 games" is awfully rare. More games used ROM nametables than had 4-screen RAM nametables, and we don't talk about them anywhere near as often.

Exactly my point. If 4-screen is really useful I'd advocate going ahead and using it. However I think it's really lame to use it if it's not actually needed and it's just because it's easier to code scrolling engine, as Tokumaru advocates.


Top
 Profile  
 
PostPosted: Fri Apr 06, 2018 12:24 am 
Offline

Joined: Thu May 19, 2005 11:30 am
Posts: 657
dougeff wrote:
The left edge problem can be fixed by turning the left 8 pixels off.
That's not a solution but a cop-out. I don't want anything clipped. The whole point of considering the use of four-screen mirroring is to have four-way scrolling without having to chop off a part of the screen completely. Four-screen mirroring will be completely useless if one then still has to chop off a part of the screen because of the NES' inability to properly handle negative sprite X/Y positions.


Top
 Profile  
 
PostPosted: Fri Apr 06, 2018 3:42 am 
Offline

Joined: Wed May 19, 2010 6:12 pm
Posts: 2751
4 screen mirroring would still get rid of the glitch colors you see in SMB3 and Kirby's Adventure.


Top
 Profile  
 
PostPosted: Fri Apr 06, 2018 4:10 am 
Offline
Formerly WheelInventor

Joined: Thu Apr 14, 2016 2:55 am
Posts: 1781
Location: Gothenburg, Sweden
Quote:
I don't want anything clipped.
Only solution i can think of that prevents sprites from wrapping around because of being scrolled out that doesn't disable the leftmost column is to check if OAMbuffer+OAMstruct::xpos,x is > #248 and if so move them off-screen on the y axis. It means sprites will snap in/out to the far right, but it can be considered cleaner.
For wider metasprites, you may also want to do some checks to the left with the conditionals based on the entities' xpos and xradius so that you can conditionally "cancel" tiles that have wrapped all the way around.

It helps make a simpler algorithm if all entities are either center-aligned or left-aligned, xpos-wise. Don't mix anchorpoints.

_________________
http://www.frankengraphics.com - personal NES blog


Last edited by FrankenGraphics on Fri Apr 06, 2018 6:03 am, edited 3 times in total.

Top
 Profile  
 
PostPosted: Fri Apr 06, 2018 5:14 am 
Offline
User avatar

Joined: Sun Jan 22, 2012 11:46 am
Posts: 97
Location: Stockholm, Sweden
dougeff wrote:
But, old TVs would hide the top 8+ pixels anyway, so most NES games didn't care about it.


Not on PAL systems, unfortunately. That is why I prefer to try and keep any scroll glitches on the sides. But sprite pop-in is hard to hide.


Top
 Profile  
 
PostPosted: Fri Apr 06, 2018 6:08 am 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7524
Location: Chexbres, VD, Switzerland
NewRisingSun wrote:
I don't want anything clipped. The whole point of considering the use of four-screen mirroring is to have four-way scrolling without having to chop off a part of the screen completely. Four-screen mirroring will be completely useless if one then still has to chop off a part of the screen because of the NES' inability to properly handle negative sprite X/Y positions.

That was exactly my point, and since you HAVE to disable both the left and the top 8 scanlines to ever hope of scrolling sprites smoothly in the NES screen (this is a hardware limitation), this makes 4-screen mirroring almost entierely useless.

The only way you can have smooth scrolling without sprite pop up AND not having to "hide" any part of the screen is to scroll by 8 pixel increment. For some cases it might work (Famicom Wars or Dragon Quest's dungeons comes to mind), but in the general case this is going to look worse than side screen artifacts and/or screen clipping in my opinion.

Quote:
4 screen mirroring would still get rid of the glitch colors you see in SMB3 and Kirby's Adventure.

So will "vertical mirroring".


Top
 Profile  
 
PostPosted: Fri Apr 06, 2018 6:23 am 
Offline
Formerly WheelInventor

Joined: Thu Apr 14, 2016 2:55 am
Posts: 1781
Location: Gothenburg, Sweden
well, there's still a span of different expressions how artifacts and/or safety measures manifest themselves. Each to their own preference. It's a judgement call game-for-game, from one designer to another.

Quote:
and since you HAVE to disable both the left

You don't *have* to if you widen the range of acceptable ideals a little. You have the somewhat combineable choices of:
-Column disabling
-Sprite overflow
-Prioritize background over sprites (perhaps conditionally) & have the status bar be all-solid or mostly solid.
-Snapping troublesome hardware sprites out of view. This is done conditionally & piecemeal to the buffer between the 1st write pass (when metasprites are written to the buffer) and the oamdma upload. This causes virtual cancellation on the rightmost column as a tradeoff.
-Accepting some wraparound
-(Maybe something else i don't know about?)

Each is fine. The OP asked for techniques for making an all-directional scroller simpler, but not necessarily more compliant to a specific ideal other than preventing nametable/attribute glitches as i understood it. 4-screen mode means you have a treadmill larger than a screen in both axes simultaneously, so that certainly helps.

_________________
http://www.frankengraphics.com - personal NES blog


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 93 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group