"Super Mario Bros." simultaneous two player mode p

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems. See the NESdev wiki for more information.

Moderator: Moderators

JohnJohn
Warned
Posts: 38
Joined: Fri Jan 08, 2010 3:05 am

"Super Mario Bros." simultaneous two player mode p

Post by JohnJohn »

Would it be possible to hack the "Super Mario Bros." ROM to include a two player mode where both players play simultaneously (like in "Contra")?
User avatar
Jeroen
Posts: 1048
Joined: Tue Jul 03, 2007 1:49 pm

Post by Jeroen »

In theory: maybe
In practice: no
I'm sure everyone else can give you the details ;-)
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

There was a topic about this a while back.

I believe that the most serious problems discussed were palette issues (the two characters use different palettes), slowdown (SMB already slows down with just one character, it would probably be much worse with two) and scrolling (what conditions would cause the camera to move or not).
UncleSporky
Posts: 388
Joined: Sat Nov 17, 2007 8:44 pm

Post by UncleSporky »

In theory, with a detailed examination of the SMB disassembly, shouldn't it be possible to edit the game to do some processing outside of NMI? That should remedy the slowdown and extra calculations necessary for things like when both characters have broken bricks at the same time or are shooting their fireballs.

Additionally, I would not be bothered by palette issues. If the intent is simply to get two players moving at the same time, then let them look exactly the same, or else just use one of the other palettes with whatever colors it uses. One of them varies based on the level, the others seem pretty constant. I never thought it was that big of a problem for one player to press a direction on his controller momentarily to figure out which guy he is. The point is 2 player, not a perfect game. :)

The only issue that leaves is screen logic, which could probably be the same as in Contra.

I still highly doubt this would ever happen since it's a fairly big undertaking for something not too widely desired.

EDIT: Bah, I shouldn't have said anything, this was already discussed to death in the other thread.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

The processing still has to complete within 29,000 or so cycles unless you want to slow the game down to a solid 30 FPS. That's doable; quite a few NES games don't run at the maximum frame rate (as do many Game Boy games, but for an entirely different reason). But a lot of purists on this board might sneer.

You could make Luigi an "enemy" controlled with controller 2, where the camera always follows Mario like in Sonic 2. Perhaps he'd use the green-turtle palette.
Hangin10
Posts: 37
Joined: Thu Jun 04, 2009 9:07 am

Post by Hangin10 »

The latest game for Wii scrolls for any character; players on the other side are pushed either pushed forward, or left behind in vertical segments. This often results in either crush or falling death. But then again, on Wii, 4 people can play at once, and you usually can go backwards in a level.
fireseed
Posts: 4
Joined: Tue Feb 02, 2010 9:01 pm

Post by fireseed »

Aren't these technically just the same type of limitations that would normally arise out of rom hacking?
What I mean is, if you understood 6502 enough, wouldn't it maybe be more prudent and thorough, although potentially more elaborate, to just recode the game from scratch, taking out the main scripts that you want and adding in the mappers to make for enough space to enable us to do whatever we want in these instances.
Some of these games were created by SMALL groups of people, and with the assistance we can find today, wouldn't it make more sense? It seems like it is a distant goal but really it's right under the surface of everything you are editing now anyway...

Just a thought. I hope there's reason there.
Don't give up either way, because your idea would be epically timeless upon completion any way.
Epic, and timeless.
Good luck!
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

fireseed wrote:What I mean is, if you understood 6502 enough, wouldn't it maybe be more prudent and thorough, although potentially more elaborate, to just recode the game from scratch
I was planning to do exactly that with the "President" project, but on my first try, I hit the asset complexity wall. But now that Free placeholder assets are available, I plan to work on it more once I finish my current project.
Some of these games were created by SMALL groups of people, and with the assistance we can find today, wouldn't it make more sense?
We're coders, mostly. Perhaps if there were an easier way to get artists on board...
User avatar
GradualGames
Posts: 1106
Joined: Sun Nov 09, 2008 9:18 pm
Location: Pennsylvania, USA
Contact:

Post by GradualGames »

Maybe someone could try to do a rom-hack of rescue rangers, and try to replace it with super mario bros.-like sprites? gameplay would be totally different, and mario could throw bricks, but it might be fun =D. I'm not interested in doing a rom hack myself, but it'd be amusing to see that done.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

Gradualore wrote:Maybe someone could try to do a rom-hack of rescue rangers, and try to replace it with super mario bros.-like sprites?
Say-Gah!

But seriously, a hack of Rescue Rangers for NES would be close enough to the play style in SMB2 (U) that some marks might be fooled.
User avatar
Xious
Posts: 189
Joined: Sun Oct 11, 2009 5:21 am
Location: Sol 3 in Mutter's Spiral
Contact:

Post by Xious »

Gradualore wrote:Maybe someone could try to do a rom-hack of rescue rangers, and try to replace it with super mario bros.-like sprites? gameplay would be totally different, and mario could throw bricks, but it might be fun =D. I'm not interested in doing a rom hack myself, but it'd be amusing to see that done.
That game already exists for the Sega Mastersystem & Game Gear (as a Brazil pirate cart). It's called "Super Mario World" and uses the RR engine, and frankly, it sucks. You may as well put Mario on top of Mega Man and call it Super Mario Future.... It's not the same gameplay and thus it’s not Super Mario. Bros.

Technical difficulties aside, coding a 2-player simultaneous action SMB would be neat.

-Xious
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

Xious wrote:It's not the same gameplay and thus it’s not Super Mario. Bros.
By your logic, Super Mario Bros. 2 (U) is not Super Mario Bros. It's a "pick shit up and throw it at the bad guys" game mapper-hacked from Doki Doki Panic.
User avatar
Xious
Posts: 189
Joined: Sun Oct 11, 2009 5:21 am
Location: Sol 3 in Mutter's Spiral
Contact:

Post by Xious »

tepples wrote:
Xious wrote:It's not the same gameplay and thus it’s not Super Mario. Bros.
By your logic, Super Mario Bros. 2 (U) is not Super Mario Bros. It's a "pick shit up and throw it at the bad guys" game mapper-hacked from Doki Doki Panic.
Actually, yes. I never considered the USA SMB2 to be an actual Super Mario Bros. game. From the first moment, I fired it up, I said "what is this supposed to be?" and I picked up a Japanese copy of SMB2 to play instead, and that was twenty years ago. The USA SMB2 it's nothing more than a Japanese game about an Arabian family its sprites remapped to Mario characters in order to boost stateside and European sales.

Additionally, I was never fond if the gameplay in Yume Koujou Doki Doki Panic, although I throw it in occasionally for something different. Nintendo should never have done this, and should have released the real SMB2 in the USA as a cartridge...

(I fully understand the rationale of not releasing the FDS outside Nippon, given the abundant piracy issues they faced at the time and the hardware restrictions of the unit.)

Thus, again, you are correct, and by that rationale, any game that doesn’t follow the traditional SMB engine isn't a Mario game to me. You are of course, free to disagree, but I’m sure that you know full-well the history of SMB2 and that it wasn’t designed to be a game in the Mario series, so you can probably see my points in the matter.

-Xious
tomaitheous
Posts: 592
Joined: Thu Aug 28, 2008 1:17 am
Contact:

Post by tomaitheous »

Xious wrote:
tepples wrote:
Xious wrote:It's not the same gameplay and thus it’s not Super Mario. Bros.
By your logic, Super Mario Bros. 2 (U) is not Super Mario Bros. It's a "pick shit up and throw it at the bad guys" game mapper-hacked from Doki Doki Panic.
Actually, yes. I never considered the USA SMB2 to be an actual Super Mario Bros. game. From the first moment, I fired it up, I said "what is this supposed to be?" and I picked up a Japanese copy of SMB2 to play instead, and that was twenty years ago. The USA SMB2 it's nothing more than a Japanese game about an Arabian family its sprites remapped to Mario characters in order to boost stateside and European sales.

Additionally, I was never fond if the gameplay in Yume Koujou Doki Doki Panic, although I throw it in occasionally for something different. Nintendo should never have done this, and should have released the real SMB2 in the USA as a cartridge...

(I fully understand the rationale of not releasing the FDS outside Nippon, given the abundant piracy issues they faced at the time and the hardware restrictions of the unit.)

Thus, again, you are correct, and by that rationale, any game that doesn’t follow the traditional SMB engine isn't a Mario game to me. You are of course, free to disagree, but I’m sure that you know full-well the history of SMB2 and that it wasn’t designed to be a game in the Mario series, so you can probably see my points in the matter.

-Xious
SMB2j is such a dated looking game though. I for one am glad for SMB2us. SMB2j would have done pretty poorly in sales IMO at the time. It's not even a real sequel. It's just rearranged levels. At least with SMB2us you got really interesting level designs and newer/more advance gameplay. To me, it's closer to SMB3 than SMB2j will ever be. /rant off
Celius
Posts: 2158
Joined: Sun Jun 05, 2005 2:04 pm
Location: Minneapolis, Minnesota, United States
Contact:

Post by Celius »

tomaitheous wrote: SMB2j is such a dated looking game though. I for one am glad for SMB2us. SMB2j would have done pretty poorly in sales IMO at the time. It's not even a real sequel. It's just rearranged levels. At least with SMB2us you got really interesting level designs and newer/more advance gameplay. To me, it's closer to SMB3 than SMB2j will ever be. /rant off
I seem to recall that they actually tweaked the physics for the jump mechanic in SMB2j. On the version released in Super Mario All Stars on the SNES, you can choose to play as Mario or Luigi, and I believe both have different speed/jump abilities. I don't know if that's the case on the NES (I have to check again).

As for making SMB1 two player, I would highly recommend getting the source code with named labels and whatnot. You really need to know how everything works in the game to know whether or not you can make it two-player like you were saying. It seems like it would be possible. The hardest part to deal with would probably be collision detection, as enemies would need to check for collision between themselves and two separate entities (Mario and Luigi) rather than just one (Mario). Oh, they also need to see if they are colliding with a fireball from either one, and from which one. You would probably need to modify the code a lot to make this work, and judging by how much they crammed into that little space, I can't promise the code will be modification-friendly. Also, you need to check out the RAM situation. Undoubtedly, you would need more RAM to accommodate both Mario and Luigi at the same time. Is there even any spare RAM? I'm sorry, I can't say for sure simply because I've never looked at a disassembly or a break-down on how the engine works.
Post Reply