It is currently Thu Jul 19, 2018 10:23 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 39 posts ]  Go to page Previous  1, 2, 3
Author Message
PostPosted: Sun Mar 03, 2013 12:26 am 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 6416
Location: Canada
Mr. Blah wrote:
>Well, most NES games tend to be doing a lot of work "just off screen".
What kind of work? Preparing code and loading it from the VRAM?


I mean that enemies/objects tend to appear and disappear just before they enter the screen, new tiles for scrolling backgrounds can be done long before or just before the edge of the screen. (In some cases, just after, like the attribute glitching you see in SMB3.) If you were to extend the background, you still don't know where to put the sprites at the edges.

Mr. Blah wrote:
>And as rainwarrior mentioned, sprites will pop in and out of visibility as they go through the extended background.Why's this? Imperfect extending?


If the game keeps track of enemies offscreen, whatever format that's in will have nothing to do with what's displayed onscreen, so there's no automatable way to pick up that information (presuming it even exists). Onscreen sprites have 8-bit values for their coordinates, there's no way to specify one that should be offscreen, so you can't get it from the PPU's sprite position data.


As I said, the only thing to do, really, is rewrite the game. Either rebuild it on some non-NES platform, or extend an NES emulator with new (fake) hardware capabilities and rewrite as much of the game as you need to do this.


Top
 Profile  
 
PostPosted: Sun Mar 03, 2013 12:53 am 
Offline
Formerly 65024U

Joined: Sat Mar 27, 2010 12:57 pm
Posts: 2261
Well if they're in a small x coord or the same, chances are they're not a platform.


Top
 Profile  
 
PostPosted: Sun Mar 03, 2013 6:24 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 20273
Location: NE Indiana, USA (NTSC)
rainwarrior wrote:
or extend an NES emulator with new (fake) hardware capabilities and rewrite as much of the game as you need to do this.

But in practice, making the IPS for this method would probably take less effort than convincing the publisher to make an official port to a new platform.


Top
 Profile  
 
PostPosted: Sun Mar 03, 2013 9:34 am 
Offline
User avatar

Joined: Fri Nov 19, 2004 7:35 pm
Posts: 4056
tokumaru wrote:
Same tile and same Y coordinate could just be one or more moving platforms though...

But if there are 8 sprites immediately in sequence that have the same Y position and tile number very early in the sprite table (possibly excluding sprite 0), chances are good it's an intentional mask. I'm using this to detect masking, but it fails to detect Castlevania 2's swamp for now. I couldn't imagine making a moving platform 8 sprites wide with contiguous sprites that appear before any other sprite in the sprite table.

_________________
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!


Top
 Profile  
 
PostPosted: Sun Mar 03, 2013 11:26 am 
Offline

Joined: Fri Mar 01, 2013 6:31 pm
Posts: 6
>Edit: NES hardware can be extended via mappers or whatever else, but there's no way I can think of to do this without hacking each individual game you want to extend. Reading again maybe that's what you want to do. I'd say good luck, hacking is a lot of work.

>All of these games would need to have their background rendering code heavily hacked. This would need to be done for each game individually, it can't be done at the emulator side.


Sooooo... it's an individual process that involves a lot of modifying and hacking. I figured as much.

>Even if you hacked game by game, there are certain things that would be hard to adapt. For example, what to about boss fights that happen in locked screens? Will there be invisible walls keeping sprites in the center of the screen or will they be able to use the extra space? What if the mechanics of the fights depend on the layout of the background?

Yup. I wouldn't know what to choose between those two options. Well, if it's like falling off a platform, for example, the space would need to be extended on each side to accompany the fixed background?

>Here is a thought. Is there any way to heuristically deduce that a sprite overflow is intentional or not? If its intentional then hide the sprites, if not, then show them. Obviously wouldn't work in all games, but is there a way that would work for many?

That would be fantastic if it were possible.

>I mean that enemies/objects tend to appear and disappear just before they enter the screen, new tiles for scrolling backgrounds can be done long before or just before the edge of the screen. (In some cases, just after, like the attribute glitching you see in SMB3.) If you were to extend the background, you still don't know where to put the sprites at the edges.

>If the game keeps track of enemies offscreen, whatever format that's in will have nothing to do with what's displayed onscreen, so there's no automatable way to pick up that information (presuming it even exists). Onscreen sprites have 8-bit values for their coordinates, there's no way to specify one that should be offscreen, so you can't get it from the PPU's sprite position data.


As I said, the only thing to do, really, is rewrite the game. Either rebuild it on some non-NES platform, or extend an NES emulator with new (fake) hardware capabilities and rewrite as much of the game as you need to do this.


Gotcha! I would love to take a go at doing this if I had the know-how to do so.


Top
 Profile  
 
PostPosted: Sun Mar 03, 2013 12:28 pm 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7443
Location: Chexbres, VD, Switzerland
I agree that a good emus should detect automatically whenever sprites are clipped (with 8 intentional higher priority sprites) or are supposed to be visible, but can't because of the limitation.


Top
 Profile  
 
PostPosted: Sun Mar 03, 2013 1:26 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 6416
Location: Canada
Mr. Blah wrote:
Gotcha! I would love to take a go at doing this if I had the know-how to do so.

If you wanna learn, this is not a bad starter project. There are plenty of game making tutorials out there!

Start by learning the game's map format. Figure out where the map data is in the ROM and how to decode it. If this is too daunting for you, then just fine maps online and duplicate them in a form that is useful to you. This is the first step in making your HD port. Once you have a map that you can put on the screen, you're now free to make your view as wide as you like (i.e. 16:9).

Now that you can view a level, start making the other things. Put in the main character. Give it gravity and collision with the world. Let the player move around in the game's natural way. Try to get the feel correct. If you're ambitious you can disassemble the game and try and duplicate its behaviour perfectly.

By the time you've made it that far, the rest of it should come easier. Make enemies. Add sound effects, music, level transitions, scoring, tile and ending, etc. It's a lot of work to get all the way finished, but it can be quite satisfying.


Top
 Profile  
 
PostPosted: Sun Mar 03, 2013 2:00 pm 
Offline

Joined: Fri Mar 01, 2013 6:31 pm
Posts: 6
I may try it, but I'm not sure if I'll have the patience for it. I should get a better idea after checking out the tutorials.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Mar 04, 2018 5:48 pm 
Offline

Joined: Sun Mar 04, 2018 5:43 pm
Posts: 2
3gengames wrote:
That's cool. Nobody cares here, though, as we need real results and not blind belief.[/size]

I just got version 33 a couple weeks ago and its beautiful!!!

I have a couple games....... I like atari 2600 and coleco more I think but this is nice for the couple I have found.......

Very nice basic,easy to use program :)


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 39 posts ]  Go to page Previous  1, 2, 3

All times are UTC - 7 hours


Who is online

Users browsing this forum: Gilbert and 2 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