Super Mario Galaxy 2 - Split-Screen Multiplayer

Discussion in 'Wii - Hacking' started by robal12345, Jun 2, 2012.

Jun 2, 2012
  1. robal12345
    OP

    Newcomer robal12345 Advanced Member

    Joined:
    Aug 25, 2007
    Messages:
    55
    Country:
    United Kingdom
    Greetings to GBAtemp, I'm a long-time lurker, not first time poster, but it's been a long time since I last made any contributions to the forums. I'm known as MrBean35000vr on YouTube and a few other places, and for the past while, me and my younger brother known as Chadderz have been working on a rather special mod for Super Mario Galaxy 2, one that has started to take shape already...

    [yt]Pqef07U0LNs[/yt] [yt]IGHh80fpDRA[/yt]​




    We are attempting to implement a split-screen multiplayer mode into Super Mario Galaxy 2, where one player plays as Mario, and the other Luigi, and both players will take on the levels together. As can be seen in the video, several of the basic requirements are already functional; we have both Mario and Luigi in the level, they're running on seperate controllers, the screen is split in half with two renderings of the game world, and both players are capable of interacting with enemies and objects inside of the world.

    There's still plenty of work to be done before this mod is ready, however. There's issues to resolve such as the interface being partially off-screen, the shadow matrix which enjoys getting well and truly distorted by the resized screens, character voices, who coins affect, the two pointer cursors, making all characters stop in cutscenes... etc. And I don't even want to think about Fluzzard right now...

    At the moment, it seems that when complete, it will be distributed as a download that can be run using Riivolution, or by modifying an ISO. This may be subject to change if another method of easily running it suddenly leaps forth, however for the time being... Riivolution is just too good for this kind of thing, seriously.

    Those of you who have been around GBAtemp for a long time may remember that the game mod known as Super Mario Galaxy 2.5 was going to have split-screen multiplayer, as built by MrBean35000vr and Chadderz... this is indeed the split-screen multiplayer that we promised back then. Sorry for the wait! Hopefully it will not take too long to complete from here. Astounding progress was made over the past couple of weeks, and with any luck things will continue on their current path.

    I hope you all like what you see, and I hope to bring more good news about this mod very soon :)
     


  2. KiiWii

    Member KiiWii GBAtemp Psycho!

    Joined:
    Nov 17, 2008
    Messages:
    3,164
    Country:
    United Kingdom
    That looks awesome :)
     
  3. Bladeforce

    Bladeforce Newbie

    Far from me to sound pessimistic but all you've done here is copy the exact same video and pasted into a split screen video.
     
    1 person likes this.
  4. ShinyLatios

    Member ShinyLatios Local "That Guy"

    Joined:
    Nov 17, 2009
    Messages:
    1,051
    Country:
    Netherlands
    Damn! That is awesome!
     
  5. robal12345
    OP

    Newcomer robal12345 Advanced Member

    Joined:
    Aug 25, 2007
    Messages:
    55
    Country:
    United Kingdom
    Not at all, sir. Pause the video at... 1:34, and check the positioning of the two starbits (right) and red bomb (left). Whichever way you look at it, they're clearly different, as the lower screen is trying to pan left. You'll also notice that the perspective in each shot is different, hence it cannot be a cloned image (see Mario's angle to the inverted Goomba).

    As stated in the first post, the cameras are indeed wrong. However, the reason for showing them in the first place is to demonstrate that we do have 2 seperate renderings of the same world going on from different perspectives... albeit not much different.
     
  6. machomuu

    Member machomuu Drops by occasionally

    Joined:
    Sep 4, 2009
    Messages:
    8,437
    Location:
    The Courtroom
    Country:
    United States
    This is pretty amazing, I'm anxious to see what will come out of it. This is by far one of the most interesting unreleased Wii game mods yet.
     
  7. Ron

    Member Ron somehow a weeb now.

    Joined:
    Dec 10, 2009
    Messages:
    2,837
    Location:
    here
    Country:
    Canada
    Whoah, that's pretty amazing..


    I'd never thought that'd be possible, looking forward to the final product
     
  8. snikerz

    Member snikerz GBAtemp Advanced Fan

    Joined:
    Nov 30, 2008
    Messages:
    501
    Country:
    Liechtenstein
    Best fake I've seen recently. Nice work.

    To prove me wrong: Tell us something about how it works, and how you modified the game's most sophisticated code in assembly language.
     
  9. robal12345
    OP

    Newcomer robal12345 Advanced Member

    Joined:
    Aug 25, 2007
    Messages:
    55
    Country:
    United Kingdom
    I would say "No, you prove me wrong", but this is a good opportunity.

    Well, first and foremost, have you ever heard of a device called the USB Gecko? It's amazingly useful, it allows you to watch and alter the RAM of the Wii on-the-fly. So that's how we got to the "sophisticated code" and modified it.

    Anyway, sarcastic remarks aside, it was discovered by a member of the Super Mario Galaxy 2.5 team that it's possible to place more than one instance of Mario; he can be placed freely as an object in the game world. If you place more than one, you end up with two Marios (or Luigis, depending on selected character), who both spawn in the level and are both controlled on the P1 controller. So, this was an obvious area to start off from, thus we used a version of Throwback Galaxy that loads two player objects. And, good old Nintendo provided a co-op mode of their own, the co-star luma, which means that a Wiimote for Player 2 can be connected to the Wii without many complications; interestingly its nunchuk data is read by SMG2, too, which is slightly surprising but extremely handy. Using aforementioned USB Gecko to watch how player objects read inputs from P1's controller, we altered the code so that for the second player object, it would read off the P2 controller instead. Currently buttons and analog sticks have been found and assigned. Interestingly, we have NOT found the accellerometer yet, hence both characters in the preview video spin simultaneously, apart from when I used tricky moves to desync their spins (for that goomba hit scene, etc). Anyways, long story short, that gave us basic control of both of the characters on two controllers.

    The much, much more challenging task was the splitting of the screen. I have to be honest, this was mainly Chadderz's work; but he does have an account here and I can ask him to come along and explain all the finer points. From my understanding, how he's made this work is that he tracked down the routine that loads levels from disc, and if a player object (a 2nd one) gets loaded within 2 seconds of the loading of the main objects, he drops the render size of the screen to half. On alternating frames, he renders to the top screen the camera position of P1, and to the bottom screen the camera position of P2, and simply preserves whatever is in the screen buffer at the time for the other screen, if you see what I mean. The game runs at 30fps like this. You can watch the splitting occur on the star select screen and the life loss screen, when all objects are reloaded. You'll also see for how one frame, the top screen is rendering correctly while the bottom screen is rendering half of what the full screen once was; indicating that this does indeed occur as stated.

    Just before the video was made, the flag controlling whether Luigi/Mario was loaded was found, so this is altered when a 2nd character load is called, resulting in one Mario and one Luigi appearing in the level; but it does come with a side-effect; both characters have either Mario or Luigi's voice.

    The camera is a strange issue that's not been resolved. It IS supposed to track the two players individually, but doesn't. What is supposed to happen (and apparently does, but doesn't have the desired effect) is that all information about the camera is stored twice; once for the frame of the character who's getting their screen updated, and a temporary value for the player who isn't, and these get swapped over every frame. What this should do is allow each player to have their own camera by quickly swapping them over every frame; however for whatever reason, it currently opts to place the camera at the average position between both characters, and rotates to kinda face them instead. This problem seems to be as obvious as "Well, it's probably because the camera likes to pan smoothly." That's clearly what's happening, but why, we're not sure, because it is accounted for... but evidently not correctly. So the cameras pan as they do.

    Anyways, Chadderz is the one who assembles most of the code for this, so I'm just relaying what I know about how this system is built. He codes in C++, compiles to PowerPC, uploads the compiled ASM to the Wii in a free space of the RAM using WiiRD (0x80003540 if I remember right), and changes an instruction at a specific address to branch to his code, which then runs every frame.

    By the by, if you doubt that we know what we're doing when it comes to Wii mods, you should look up a project called Mario Kart Wii CTGP Revolution. It's a version of Mario Kart that has 128 customised tracks and an online service (known as CTWW, if you just search that word there are videos everywhere), it's public and free to play. And you can bet who coded the new menu screens, the mods to load additional tracks, alter the online service, etc... indeed, me and Chadderz. Hell, Chadderz was the guy who single-handedly made it possible to build Mario Kart custom tracks in the first place. His skill is something amazing. So, you can trust that this work is very real. I hope I've said sufficient to prove my point, but if not, I'll wheel on Chadderz to provide much better information than I could ever ;)
     
    person66, Maxternal, 324atk and 11 others like this.
  10. megazig

    Member megazig SU

    Joined:
    Oct 25, 2008
    Messages:
    467
    Country:
    United States
    don't worry about proving this guy wrong. if he can't tell that this is real, he doesn't have to believe it.

    nice work as always chadderz
     
  11. Thomas83Lin

    Member Thomas83Lin Retro Gamer

    Joined:
    Jul 22, 2009
    Messages:
    1,484
    Country:
    United States
    Awesome work guys!! looking forward to try this out
     
  12. conanac

    Member conanac Be an Angel

    Joined:
    Sep 13, 2009
    Messages:
    252
    Country:
    United States
    Great progress/milestones for the mod, and when it is release, I will try this in uneek+di environment (perhaps by changing a set of game files + readjust fst? or extracting from the modified iso?).

    Cheers.
     
  13. FenrirWolf

    Member FenrirWolf GBAtemp Psycho!

    Joined:
    Nov 19, 2008
    Messages:
    4,343
    Location:
    Beaverton, OR
    Country:
    United States
    Snickerz got freakin' destroyed. lmao
     
    1 person likes this.
  14. xecutionx

    Newcomer xecutionx Member

    Joined:
    Sep 27, 2008
    Messages:
    16
    Country:
    United States
    I guess Snickerz isn't active in the Custom Mario Kart Wii scene. OP, I can't wait to see what comes of this but I hope you guys don't stop modding Mario Kart Wii.
     
  15. robal12345
    OP

    Newcomer robal12345 Advanced Member

    Joined:
    Aug 25, 2007
    Messages:
    55
    Country:
    United Kingdom
    Ooh, no worries there. We're still very active on that, too! Both of these projects (Mario Kart Wii modding and SMG2 multiplayer) are getting a lot of our time these days.
     
  16. Squirps

    Member Squirps Official Squirps of GBATemp.net™

    Joined:
    Sep 13, 2009
    Messages:
    187
    Location:
    The corner in that dark alley.
    Country:
    United States
    You're KIDDING me. This is MrBean35000VR, the most well-known Mario Kart Wii hacker, and him and his bro Chadderz CREATED the ability to play Custom Tracks online through hacking. He has PLENTY of credibility, so I suggest you actually do a bit of research and look clearly before you go making immediate "OMG IT'S FAKE" remarks.
     
    person66, tronic307, Zetta_x and 8 others like this.
  17. Presto99

    Member Presto99 You slammin, bro?

    Joined:
    Feb 24, 2010
    Messages:
    910
    Location:
    Skyworld
    Country:
    United States
    Wow, this is amazing! Never would I have thought this was possible for people doing this on their own.... You guys are incredible! I'd love to get my hands on this sometime and play it with some of my friends! :D I have one question, though. Since, at least for now, you seem to be having camera problems, why not have it set so that both characters share the entire screen? They would have to stay near each other, but it would be nice if there were at least an option for that.
     
    1 person likes this.
  18. DinohScene

    Member DinohScene The Gift of Dino

    Joined:
    Oct 11, 2011
    Messages:
    12,883
    Location:
    В небо
    Country:
    Antarctica
    If this gets released I'll dust off my Wii and have a very valid reason to play it again
     
  19. robal12345
    OP

    Newcomer robal12345 Advanced Member

    Joined:
    Aug 25, 2007
    Messages:
    55
    Country:
    United Kingdom
    I think we'll go down that route only if making the two cameras function properly proves too difficult. There's a lot of stuff that kinda gets in the way of only having one screen; for one thing, the controls become frankly bizarre if the two characters go too far apart: You get stuck running in only one direction no matter what, things like that (and trust me, it's NEVER a useful direction :P). Also, I'm not sure how we'd confine the second player so they couldn't go too far away in the first place... nevertheless, these problems are resolvable, I'm sure. Still, I just really would enjoy the ability for both characters to drift apart and do their own thing, so for the time being we'll work on fixing the split screen up rather than altering the single screen to become 2-player friendly. But it is always an option :)
     
    1 person likes this.
  20. Bladeforce

    Bladeforce Newbie

    Ok I do hope this is real but having played your mario kart mods i dont expect much. It is good how have managed to do these mods but they feel like they are missing that "something" maybe that something comes from the special nintendo touch. Anyway if it helps i know that a split screen 2 player was originally thought of for SMG2 now whether any code made its way into the final item is anybodys guess. Keep modding its good for others :)
     

Share This Page