It is currently Thu Nov 23, 2017 10:53 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 68 posts ]  Go to page 1, 2, 3, 4, 5  Next
Author Message
PostPosted: Thu Nov 09, 2017 6:02 am 
Offline
User avatar

Joined: Thu Sep 15, 2016 6:29 am
Posts: 389
Location: Denmark (PAL)
Put this video up yesterday, and completely forgot about sharing it here. :)

It's a little hobby thing I've been working on recently. Not too creative, since I've just been translating an existing game to the NES, but I started this after a drunken conversation with my friend about how much the original NES version of Donkey Kong sucks, and whether it would be possible to actually run an accurate version of the game on the NES hardware, playing exactly like the arcade original.
My claim was of course, that if you rotate the monitor like a lot of shmup ports tend to do, you could replicate the gameplay with 100% accuracy, but it would be a ton of work and there's no way I'd ever want to bother with it.

...Less than a month later I have a fully working release as shown here >_>

Image
https://www.youtube.com/watch?v=dhRoe44Dg54

Not sure if it's "safe" for me to share the ROM file, since it's messing with Nintendo's property, but I just wanted to share the result with you guys.


Top
 Profile  
 
PostPosted: Thu Nov 09, 2017 6:25 am 
Offline
Formerly WheelInventor

Joined: Thu Apr 14, 2016 2:55 am
Posts: 1020
Location: Gothenburg, Sweden
That's pretty cool!

For one thing, portrait/upright screens means quite a big change to how the 8 sprites per scanline rule works in practice, and the looks would be different of any game due to the pixel assymetry being the other way around.

One word of warning, though - screens may overheat if they don't have venting holes facing up. For a permanent installation, i'd drill some holes or make a new chassi.

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


Top
 Profile  
 
PostPosted: Thu Nov 09, 2017 6:44 am 
Offline
User avatar

Joined: Thu Sep 15, 2016 6:29 am
Posts: 389
Location: Denmark (PAL)
CRTs usually have venting in the back, so that's rarely an issue. In this case, all I was blocking off was a speaker.
If you're into shooters, rotating your screen like this isn't a foreign concept, commonly referred to as "tate mode" (I'm actually surprised I haven't seen any other NES or SNES homebrews with a tate mode), but it's a good idea to unplug it for 10-15 minutes before turning it on, just to avoid the magnetism causing weird colors. I've done it a billion times in the past with the same TV.

The original DK arcade game was created for this orientation, with roughly the same resolution (as you can see the graphics go all the way to the sides of the screen - arcade games didn't have to think about overscan), which is why this version looks like it should, while Nintendo's original NES/Famicom port looks horribly stretched. :)
You're obviously right about the sprites per scanline limit, which was actually my biggest issue, since the game likes to have stuff above eachother, such as the rivet screen where Pauline is right above Donkey Kong, and a hammer spawns below him. There can easily be a few firefoxes and a Mario down there, too, turning the game into flicker central :P I don't think it looks that bad on a CRT though, and if you've played stuff like Batman Return of the Joker, you're used to it ;)
On the elevator screen I had to turn to some pretty creative solutions to avoid the flickering being too bad on the left column of elevators though.


Top
 Profile  
 
PostPosted: Thu Nov 09, 2017 7:19 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19254
Location: NE Indiana, USA (NTSC)
Sumez wrote:
the game likes to have stuff above eachother, such as the rivet screen where Pauline is right above Donkey Kong, and a hammer spawns below him. There can easily be a few firefoxes and a Mario down there, too, turning the game into flicker central :P

Firefox is flicker central when Discordapp.com makes changes to its web app and doesn't test them thoroughly in anything but Google Chrome. (Source: reddit)

Where did you get that name for the fireball enemies in 100m? As far as I can tell from MarioWiki, only Atari came up with that name. The different-looking fires in 25m seem to be called Trouble Bugs.


Top
 Profile  
 
PostPosted: Thu Nov 09, 2017 7:35 am 
Offline
User avatar

Joined: Thu Sep 15, 2016 6:29 am
Posts: 389
Location: Denmark (PAL)
"Firefox" is the common word used by most Donkey Kong players. Probably taken from the atari version, I guess?
"Pie factory" obviously isn't the official name for the screen with the cement trays either, but it's what everyone calls it. :)

They are technically exactly the same as the flame enemies on the other stages, just with a different sprite.
EDIT: Oh yeah, the game also sets the hitbox a pixel larger when initializing the stage, making them harder to jump over, I guess? The other thing mentioned on the page you're linking to is dead wrong, though. They never multiply, they just spawn on a random platform opposite to the one Mario is standing on. The common strategy is to save the bottom hammer until you're done with the left side, so that any enemies you kill while going right will respawn on ther other side where they can't get to you.


Top
 Profile  
 
PostPosted: Thu Nov 09, 2017 8:01 am 
Offline
Formerly WheelInventor

Joined: Thu Apr 14, 2016 2:55 am
Posts: 1020
Location: Gothenburg, Sweden
I didn't react to "firefox" because it has a very familiar ring to it, idk from exactly where but it's definitely mario universe. Something from the childhood.

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


Top
 Profile  
 
 Post subject: Tate mode in NES
PostPosted: Thu Nov 09, 2017 9:04 am 
Offline
Formerly 43110
User avatar

Joined: Wed Feb 05, 2014 7:01 am
Posts: 313
Location: us-east
Sumez wrote:
CRTs usually have venting in the back, so that's rarely an issue. In this case, all I was blocking off was a speaker.
If you're into shooters, rotating your screen like this isn't a foreign concept, commonly referred to as "tate mode" (I'm actually surprised I haven't seen any other NES or SNES homebrews with a tate mode), but it's a good idea to unplug it for 10-15 minutes before turning it on, just to avoid the magnetism causing weird colors. I've done it a billion times in the past with the same TV.


So for the NES shmup I've been trying to design calls for a 3:4 ratio in vertical orientation (Mainly for gameplay structural reasons). I've considered tate mode as the scanline limit would nicely align with the bullet stream, but I worry that there would be no motivation for the common person to physically rotate their TV set. It's barely possible with emulators by having the OS rotate the entire screen.
I'm currently considering pillarboxing the already low resolution of the NES, That would somewhat help with the bandwidth of the background animations.


Top
 Profile  
 
PostPosted: Thu Nov 09, 2017 9:31 am 
Offline
Formerly WheelInventor

Joined: Thu Apr 14, 2016 2:55 am
Posts: 1020
Location: Gothenburg, Sweden
I guess you could hook up an NES to a flat screen and orient it however you like if placed on a table.

One of the most interesting screen configurations i've ever seen was at the soviet arcade museum filial in st:petersburg. It was mounted flat down like a board game, and a wheel and a foot pedal (and maybe a brakes pedal iirc... there was some means for braking anyway) was mounted in each corner on the broad sides. The wheels were stepless and infinite (i think they must've measured the delta-velocity).

It was basically a free-range obstacle course racer with a capture the flag element. The cars would wrap around the screen. 100% addictive with a full party of 4 players competing for the flags. (Hm... maybe i'll attempt a simple port-from-memory one far-away day when i have fewer project involvements...)

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


Top
 Profile  
 
PostPosted: Thu Nov 09, 2017 10:13 am 
Offline
User avatar

Joined: Sat Jan 09, 2016 9:21 pm
Posts: 246
Location: Central Illinois, USA
Sumez wrote:
...Less than a month later I have a fully working release as shown here

Holy cow, that's fast. I'm impressed. Well done, it looks really great.

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


Top
 Profile  
 
 Post subject: Re: Tate mode in NES
PostPosted: Thu Nov 09, 2017 10:18 am 
Offline
User avatar

Joined: Sat Jan 09, 2016 9:21 pm
Posts: 246
Location: Central Illinois, USA
JRoatch wrote:
So for the NES shmup I've been trying to design calls for a 3:4 ratio in vertical orientation (Mainly for gameplay structural reasons). I've considered tate mode as the scanline limit would nicely align with the bullet stream, but I worry that there would be no motivation for the common person to physically rotate their TV set. It's barely possible with emulators by having the OS rotate the entire screen.
I'm currently considering pillarboxing the already low resolution of the NES, That would somewhat help with the bandwidth of the background animations.


The dreamcast version of Ikaruga had a menu option to play in tate mode or normal mode (pillarboxed)

Iterating on that idea, you could possibly design the game primarily for tate mode, but with a menu option that rotates just the controls and any text, so that the game can be played horizontally as well? That way you don't have to sacrifice your design goals, but you can still make it accessible for the common folk?

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


Top
 Profile  
 
PostPosted: Thu Nov 09, 2017 11:38 am 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7273
Location: Chexbres, VD, Switzerland
Sumez wrote:
It's a little hobby thing I've been working on recently. Not too creative, since I've just been translating an existing game to the NES, but I started this after a drunken conversation with my friend about how much the original NES version of Donkey Kong sucks, and whether it would be possible to actually run an accurate version of the game on the NES hardware, playing exactly like the arcade original.
My claim was of course, that if you rotate the monitor like a lot of shmup ports tend to do, you could replicate the gameplay with 100% accuracy, but it would be a ton of work and there's no way I'd ever want to bother with it.

But does your port use more than 16KB of PRH-ROM ? Remember that for Nintendo it might have been unacceptably costly to use 32KB at the time.

Also you couldn't expect people to rotate their TV by 90° at home, obviously ^^

I seemed to recall that the original had 4 levels and the NES port only 3 levels (which is way worse than graphics resolution changing as a change), however I only see 3 levels in your youtube video.


Top
 Profile  
 
PostPosted: Thu Nov 09, 2017 12:10 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5838
Location: Canada
This is awesome, Sumez!


Bregalad wrote:
I seemed to recall that the original had 4 levels and the NES port only 3 levels (which is way worse than graphics resolution changing as a change), however I only see 3 levels in your youtube video.

The pie factory is in there. Skip to ~8mins. It doesn't appear in the first few loops, but that's how it was in the arcade too.


Top
 Profile  
 
PostPosted: Thu Nov 09, 2017 1:17 pm 
Offline
User avatar

Joined: Thu Sep 15, 2016 6:29 am
Posts: 389
Location: Denmark (PAL)
gauauu wrote:
Holy cow, that's fast. I'm impressed.

Having a completely developed game working already helped immensely. :P
The bulk of the work was just translating Z80 instructions over to 6502. Pretty boring work, but I enjoyed seeing the entire insides of the original game as I did it, and some times I had to get a bit creative with the 6502's advantages (X/Y indexing mostly) over the features it lacks (16 bit registers). But the most original work came from dealing with the hardware limitations of the NES, and balancing compromises against what I felt was essential to retaining a completely accurate arcade experience.

Bregalad wrote:
But does your port use more than 16KB of PRH-ROM ? Remember that for Nintendo it might have been unacceptably costly to use 32KB at the time.

It's 32KB, though a large part of it is used by two samples, the DK grin and the boom sound, which I felt needed to be DPCM samples to respect the arcade version.
The idea was never to build a "better version" using the same hardware limitations, and I also ended up using ekstra work RAM from the cartridge, though this is mainly because of #1. I wanted the game to remember high scores, and #2. The arcade game does collision detection by reading from the "nametable" in video memory, something the NES obviously can't while drawing a screen, so I opted to use work ram to buffer the entire video memory of the arcade game. I could probably change a lot of things to work around it, but it was more important for me to have the game logic work as close to the original game as possible.

However, I'm pretty happy, and relieved, that I was able to fit the game's graphics (which has a lot more potential space in the arcade game) into a single 8KB CHR-ROM without using any bank switching. It's extremely tightly packed. :P

Quote:
I seemed to recall that the original had 4 levels and the NES port only 3 levels (which is way worse than graphics resolution changing as a change), however I only see 3 levels in your youtube video.

rainwarrior wrote:
The pie factory is in there. Skip to ~8mins. It doesn't appear in the first few loops, but that's how it was in the arcade too.

Exactly, rainwarrior :) The original stage sequence is "barrels"->"pies"->"elevators"->"rivet", but the US arcade release changed it around so the pie/cement factory and elevator stage were both skipped on the first level, and only added on the third and second levels respectively. As you'd get further into the game, barrel stages would also appear every second screen, as they are the hardest.
While working on the game, I got to try the level 1 versions of both the pie factory and elevator stage, and those are extremely easy compared to the other screens, so I can honestly understand why they changed it, even though the new stage order makes very little sense.
In general, the US final revision of the game is considered the true competitive version of the game, and with good reason.


Top
 Profile  
 
PostPosted: Thu Nov 09, 2017 1:45 pm 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 2981
Location: Tampere, Finland
Very cool!

I'd throw the ROM up somewhere. The worst thing that can happen is you might get a C&D (but even that seems unlikely).

_________________
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: kkfos.aspekt.fi


Top
 Profile  
 
PostPosted: Thu Nov 09, 2017 1:58 pm 
Offline
User avatar

Joined: Thu Sep 15, 2016 6:29 am
Posts: 389
Location: Denmark (PAL)
The ROM is available here

When I make future changes (provided I dodge a C&D as I'm going) I'll update the file in that URL.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 68 posts ]  Go to page 1, 2, 3, 4, 5  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