Difficulty of porting a gameboy game to the nes.

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Difficulty of porting a gameboy game to the nes.
by on (#134335)
I am wondering how hard it would be to port a gameboy game like Donkey Kong Land 1 2 or 3 to the nes. I understand both systems use a different architecture so the games would have be re written but is it even possible? I think it would be amazing to see those games on the nes.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134336)
Of course it's possible. A bunch of later European NES games are (mediocre at best) ports from the Game Boy, such as the official version of Aladdin. And Hello Kitty World is rumored to be a semi-automated port of Balloon Kid for Game Boy. Perhaps the hardest part would be getting the rights to make and distribute the port.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134338)
tepples wrote:
...Perhaps the hardest part would be getting the rights to make and distribute the port.

Programmers leave such nebulous things up to their legal department, Tepples.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134340)
GinBunBun wrote:
I am wondering how hard it would be to port a gameboy game like Donkey Kong Land 1 2 or 3 to the nes. I understand both systems use a different architecture so the games would have be re written but is it even possible? I think it would be amazing to see those games on the nes.



*Port in my mind= replica/precise* Just because both systems are 8-bit doesn't mean they are compatible. NES=6502 and GB/GBC = Z80 (well, not true Z80 but a form closer to 8080). This means that the whole engine would need to be redone. You can create it in a way where most constants/data can be ported, but code must be redone.

Also, GB has more capabilities than the NES, so certain features may need to be changed/cut.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134350)
I think that the screen size would be the biggest burden, good luck adapting a game that expects a smaller screen to a larger one (on modern systems you just scale things up, but with the NES such a thing is not doable). So rewriting the engine is the least of the issues, you literally need to redesign the game from scratch because chances are it just makes a lot of assumptions.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134352)
Sik wrote:
I think that the screen size would be the biggest burden

Same here. The different resolutions will affect how the camera scrolls, will change the mechanics of boss fights, and so on. This means that such conversions are not purely technical tasks, there will be some design decisions involved.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134354)
A pretty big hurdle would be to colorize the game, and have it not look monochrome-like. Everything else comes down to rearranging screen layouts (menus, title screens, cutscenes, etc). Having more of the playfield be visible at a time seems like it wouldn't be as big of an issue, just compare the 8-bit Sonic games between their GG and SMS versions.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134355)
Drag wrote:
A pretty big hurdle would be to colorize the game, and have it not look monochrome-like.

GB to NES will definitely either look monochrome-like (i.e. all palettes are gradients) or the graphics will lose some depth.

Quote:
Having more of the playfield be visible at a time seems like it wouldn't be as big of an issue, just compare the 8-bit Sonic games between their GG and SMS versions.

Boss fights are a big problem. A different arena completely changes the dynamics of a boss fight. The Sonic series itself is a good example of this... The difficulty varied a lot between the GG and SMS versions of the games. A few of the most controversial bosses are Sonic 1 Green Hill Zone (dead easy on GG because Robotnik flies too low), Sonic 2 Underground Zone (it's much harder to avoid the balls in one of the versions, don't remember which) and Sonic Chaos Mecha Green Hill Zone (SMS adds more challenge with a spike pit).

Now consider that you'll be adapting someone else's game (unlike the developers of the 8-bit Sonic games, who were responsible for both versions), and making your own decisions about changes to be made to boss fights, changes that will possibly piss off fans of the original GB games. doesn't sound so straightforward to me.

And there might be other camera issues to consider depending on the game... Maybe a vertical shooter doesn't have any more level data to the sides... What will you do with the remaining space on the NES? Keep it blank? Invent more level data and imposing big changes on how the game is played?
Re: Difficulty of porting a gameboy game to the nes.
by on (#134357)
Thank you all for the replies. I honestly don't how to program or anything of the sort but I was just curious. It's just I thought it would pretty sweet to see the Donkey Kong Land games on an actual console in color. Either way I doubt this would ever happen.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134359)
tokumaru wrote:
Sonic 2 Underground Zone (it's much harder to avoid the balls in one of the versions, don't remember which)

Game Gear version, which is a triple whammy. The screen size is smaller so you can see less, the camera is locked so the space you can move in is smaller (makes it harder to dodge), and top it all they also randomized the bouncing of the balls (if they weren't the former two would be much less of an issue because then it'd be a matter of just learning the timing). Oh, did I mention that Sonic also has a tendency to slide off the slope? (and that you have no rings so you'll lose on the first mistake you make? and that this is the first boss in the game?)

https://www.youtube.com/watch?feature=p ... xmmjc#t=24 Master System
https://www.youtube.com/watch?feature=p ... DG3CI#t=55 Game Gear

tokumaru wrote:
And there might be other camera issues to consider depending on the game... Maybe a vertical shooter doesn't have any more level data to the sides... What will you do with the remaining space on the NES? Keep it blank? Invent more level data and imposing big changes on how the game is played?

Honestly keeping the sides blank wouldn't be much of an issue (yeah, ugly maybe, but it works), but what about the extra vertical space?
Re: Difficulty of porting a gameboy game to the nes.
by on (#134363)
tokumaru wrote:
And there might be other camera issues to consider depending on the game... Maybe a vertical shooter doesn't have any more level data to the sides... What will you do with the remaining space on the NES? Keep it blank?

A lot of vertical shooters ported to even modern consoles keep the sides blank when ported to home consoles because unlike arcade monitors, home TVs don't pivot to vertical.

GinBunBun wrote:
I thought it would pretty sweet to see the Donkey Kong Land games on an actual console in color.

Aren't all the DKL games enhanced for Super Game Boy? Or does the way SGB handles colorization (of areas, not of individual things) make it too monochrome for you?
Re: Difficulty of porting a gameboy game to the nes.
by on (#134368)
tokumaru wrote:
What will you do with the remaining space on the NES? Keep it blank? Invent more level data and imposing big changes on how the game is played?


Maybe shove the gameplay to one side of the screen and use the blank area as the menu bar, ala Truxton or Galaga. I'm not sure if the NES could do such a thing and scroll vertically, though, I haven't seen a game that does.

The other issues here are display limits (Game Boy can display up to 10 sprites per scanline, 80 total, while the NES can display up to 8 sprites per scanline, 64 total) and music. The GameBoy has a custom waveform channel, while the NES does not. Conversely, the NES can use DPCM samples alongside the other channels, while the Game Boy needs to sacrifice one of the channels (wave form) to play samples. Not to mention that the OG Game Boy would need to drop a lot of cycles to play a sample, much like a 7-bit PCM sample on the NES, which means the gameplay would be halted. That said, the music might need to be rearranged, maybe take advantage of the DPCM channel and use an all-new bassline like Sunsoft did. SnowBro's arrangement of the SML1 ending did something similar.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134372)
OneCrudeDude wrote:
Maybe shove the gameplay to one side of the screen and use the blank area as the menu bar, ala Truxton or Galaga. I'm not sure if the NES could do such a thing and scroll vertically, though, I haven't seen a game that does.

https://www.youtube.com/watch?v=IBwljUWnXKY

Although it does so at the expense of the HUD being prone to disappear when there's more than one object on the same line (due to hitting sprite limits). Also there's still the fact that there are 96 extra lines.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134374)
tepples wrote:
GinBunBun wrote:
I thought it would pretty sweet to see the Donkey Kong Land games on an actual console in color.

Aren't all the DKL games enhanced for Super Game Boy? Or does the way SGB handles colorization (of areas, not of individual things) make it too monochrome for you?


DKL III for GBC (Japan) is in full color. The English patch by Blaziken257 translates it in full English (over at DKC Atlas http://www.dkc-atlas.com/forum/viewtopic.php?f=33&t=1669).
Re: Difficulty of porting a gameboy game to the nes.
by on (#134376)
Sik wrote:
OneCrudeDude wrote:
Maybe shove the gameplay to one side of the screen and use the blank area as the menu bar, ala Truxton or Galaga. I'm not sure if the NES could do such a thing and scroll vertically, though, I haven't seen a game that does.

https://www.youtube.com/watch?v=IBwljUWnXKY

Although it does so at the expense of the HUD being prone to disappear when there's more than one object on the same line (due to hitting sprite limits). Also there's still the fact that there are 96 extra lines.


Those are sprites, so guess it would be impossible to have the sidebar as a background and have that stay static. Then again, Crisis Force and Battletoads both utilize vertical parallax scrolling, which would be the same principle as a static sidebar, right?
Re: Difficulty of porting a gameboy game to the nes.
by on (#134382)
Vertical parallax scrolling requires either an ASIC mapper with CHR ROM or a lot of vblank time to upload changed tiles to CHR RAM.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134385)
Those parallax effects you see in Crisis Force and Metal Storm are done with CHR ROM bank swapping.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134388)
I figured something like that happened. So I suppose a vertical status bar (which is rendered as a background, not with sprites) with a scrolling screen would be a no-go on the NES, since things like that are operated on a per-scanline basis, right?
Re: Difficulty of porting a gameboy game to the nes.
by on (#134392)
snarfblam wrote:
Those parallax effects you see in Crisis Force and Metal Storm are done with CHR ROM bank swapping.

And Battletoads uses CHR-RAM. And the CHR-RAM method only works when you can get away with doing a few tiles, it won't work with large tilemaps (too many tiles, both to upload and to fit in memory).
Re: Difficulty of porting a gameboy game to the nes.
by on (#134394)
OneCrudeDude wrote:
Game Boy can display up to 10 sprites per scanline, 80 total

Wasn't it 40 total? 80 would make porting to the NES somewhat harder, since you'd need some sort of extra OAM cycling. With 40, all you have to do is accept that there will be more flickering/disappearing sprites than in the GB version, and there will still be 24 sprites left for you to play with in case you decide to improve HUDs or something.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134398)
OneCrudeDude wrote:
Game Boy can display up to 10 sprites per scanline, 80 total



Wrong. 8 sprites per scanline but only 5 lines, so a total of 40.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134399)
ShaneM wrote:
8 sprites per scanline but only 5 lines, so a total of 40.

What... the hell are you talking about?!?!
Re: Difficulty of porting a gameboy game to the nes.
by on (#134400)
tokumaru wrote:
ShaneM wrote:
8 sprites per scanline but only 5 lines, so a total of 40.

What... the hell are you talking about?!?!



OAM on GB. Up to 40 tiles can be buffered at a time to VRAM.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134403)
http://problemkaputt.de/pandocs.htm#vramspriteattributetableoam
The 10 sprite/scanline limit is correct, with a total capacity of 40 sprites at a time.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134405)
tokumaru wrote:
GB to NES will definitely either look monochrome-like (i.e. all palettes are gradients) or the graphics will lose some depth.

But don't forget, there are combination GB/GBC games that don't suffer from monochrome-ness in GBC mode. The problem would only crop up if you just copy the graphics over directly, without retouches.

Quote:
Boss fights are a big problem. A different arena completely changes the dynamics of a boss fight. The Sonic series itself is a good example of this... The difficulty varied a lot between the GG and SMS versions of the games. A few of the most controversial bosses are Sonic 1 Green Hill Zone (dead easy on GG because Robotnik flies too low), Sonic 2 Underground Zone (it's much harder to avoid the balls in one of the versions, don't remember which) and Sonic Chaos Mecha Green Hill Zone (SMS adds more challenge with a spike pit).

Yep. This happens between "similar" consoles too; compare Lemmings and Street Racer for SNES and Genesis (not necessarily the best examples, but these are the first two that popped in my mind). Street Racer is a mode 7 racer on the SNES, and a scanline racer on Genesis. Lemmings stages are cropped in the Genesis version due to less space somewhere, I guess, meaning certain stages needed to be replaced entirely, and speaking of which:

Quote:
Now consider that you'll be adapting someone else's game (unlike the developers of the 8-bit Sonic games, who were responsible for both versions), and making your own decisions about changes to be made to boss fights, changes that will possibly piss off fans of the original GB games. doesn't sound so straightforward to me.

Fans wouldn't be pissed off any more than they were for the differences between the GG/SMS Sonic bosses. I also don't think it'd be that great of an idea to "compromise" by making bosses more complicated or by throwing extra hazards in there to account for a bigger screen size. Maybe we should take a look at the various recurring boss fights that happen in the Kirby series sometime.

Quote:
And there might be other camera issues to consider depending on the game... Maybe a vertical shooter doesn't have any more level data to the sides... What will you do with the remaining space on the NES? Keep it blank? Invent more level data and imposing big changes on how the game is played?

Depends on the game. A lot of vertical shooters are just enemies and formations coming at you, which'd be trivial to deal with. If you have a game like Gradius where you also have an actual stage to deal with, you could manually go in and retool it to fit the bigger screen. However, you get off a little easier because on a gameboy, you see the entirety of the screen, but on the NES, parts of the screen are hidden in the overscan, so adding empty space, be it through making the status bar fancier or extending the platforms/whatever that are near the borders, is more viable than you'd think. (The same argument applies for vertical scrollers too)
Re: Difficulty of porting a gameboy game to the nes.
by on (#134406)
Wow, that's weird, I could've sworn the GB could display more than 40 sprites on-screen. Perhaps I accidentally used the GBC's sprite limits instead? Then again, it makes sense considering the screen size.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134408)
OneCrudeDude wrote:
Wow, that's weird, I could've sworn the GB could display more than 40 sprites on-screen. Perhaps I accidentally used the GBC's sprite limits instead? Then again, it makes sense considering the screen size.


Both GB and GBC use the same processor. They are both limited to 40 tiles at once.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134410)
Drag wrote:
Depends on the game. A lot of vertical shooters are just enemies and formations coming at you, which'd be trivial to deal with.

No, it won't be trivial to deal with, a larger screen means a larger space to be able to move within and being able to see things earlier than usual, and you can't scale up the graphics to compensate because of hardware limitations. This is probably one of the most affected genres by the screen size difference, proper ports simply aren't feasible, it's much better to make whole new levels from scratch.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134414)
Drag wrote:
tokumaru wrote:
GB to NES will definitely either look monochrome-like (i.e. all palettes are gradients) or the graphics will lose some depth.

But don't forget, there are combination GB/GBC games that don't suffer from monochrome-ness in GBC mode.

Do these nice-looking dual-mode games use an outline-clothes-skin color paradigm like SMB3? Do they use separate sprite banks for monochrome and GBC modes? I know that by the GBC era, Nintendo wouldn't manufacture carts smaller than 8 Mbit, if the hidden features that make up three-fourths of Elmo in Grouchland are to be believed.

Quote:
If you have a game like Gradius where you also have an actual stage to deal with, you could manually go in and retool it to fit the bigger screen. However, you get off a little easier because on a gameboy, you see the entirety of the screen, but on the NES, parts of the screen are hidden in the overscan, so adding empty space, be it through making the status bar fancier or extending the platforms/whatever that are near the borders, is more viable than you'd think.

You could just expand it vertically a little bit (to 256x160, roughly GBA res) and claim that it's optimized for zoom mode on a wide screen.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134416)
You can "cheat" your way around HW sprite limitations if you DMA data to OAM during HBlank, however, this is more easily done on the GBC rather than the original DMG, since double speed mode allows you to calculate anything you want in half the normal time, and HDMA are really handy without manually having to call the old OAM DMA via an interrupt in HBlank. You'll still have 10 per scanline, but I've one GBC demo with (it claims) 100 sprites or some such.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134435)
@Sik: You can't scale up the graphics, but you can scale up the positioning/formations, which would imply that the ships move proportionally faster as well. Alleyway/Arkanoid, Galaga, and Galaxian all do this as far as I can tell. Gradius GB does it to an extent, where everything moves slower and is more tightly packed together, implying that the opposite can be done to convert GB to NES.

@Tepples: I was thinking more along the lines of Zelda DX, and Bugs Bunny's Crazy Castle 1 (GB vs. NES) and 3 (GB vs. GBC). I guess Shadowgate (NES vs. GB vs. GBC) counts too. In some cases, all you'd need are palettes and attributes, but certainly in other cases you'd need to manually touch up the tile bitmaps.

@ShaneM: It's the video controller that determines it, not the processor, but the limit is indeed the same between the GB and GBC.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134439)
Drag wrote:
@Sik: You can't scale up the graphics, but you can scale up the positioning/formations, which would imply that the ships move proportionally faster as well. Alleyway/Arkanoid, Galaga, and Galaxian all do this as far as I can tell. Gradius GB does it to an extent, where everything moves slower and is more tightly packed together, implying that the opposite can be done to convert GB to NES.

The resolution difference is huge and you can't make the sprites larger though (if you could then the idea would work just fine). The reverse works because making sprites smaller is feasible.
Re: Difficulty of porting a gameboy game to the nes.
by on (#134447)
The GB resolution is slightly more than half the NES's resolution. You can double-up on enemies if you rely on clusters of them, or you can keep the same enemy layouts, spread them out more, and bump the speed of the action up to compensate. Either way, you don't need to trash your existing stages/sequences and start from scratch, which is why I keep saying it's trivial.