N64 Rom Hacking

Discussion in 'Other Consoles & Oldies' started by furrysalamander, Apr 30, 2015.

  1. furrysalamander
    OP

    furrysalamander Member

    Newcomer
    19
    2
    Mar 31, 2014
    United States
    I know people have, in the past, made multiplayer hacks for Mario 64, as well as Jet Force Gemini, Banjo Tooie, and Ocarina of Time. Does anyone have any knowledge as to how in depth this kind of ROM hacking is? I am proficient at programming, and even if it was severely hacked together, I would love to make a ROM hack (or emulator plugin) to allow for two player coop of Donkey Kong 64 and Banjo Kazooie. I have a friend that never owned an N64 and recently he agreed to play through them with me if I could find/make a mod that would allow us to play through them together. I don't expect it to be easy, but surely there's some info out there, at least on where I should start?
     
  2. Snugglevixen

    Snugglevixen Fox Princess

    Member
    628
    213
    Feb 17, 2015
    New Zealand
    My den
    Mario 64's co-op was a scrapped beta feature so I'm not sure you could do it with those two unless they had co-op beta.

    If you're interested in hacking other N64 games I'm offering $10 USD to whomever restores the maximum fight distance in the English version of Beast Wars Transmetals to match the Japanese version.
     
  3. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,747
    9,616
    Nov 21, 2005
    United Kingdom
    Missed this the first time around.

    Anyway yeah scrapped features is usually the main source of such things. Shortly followed by abusing multiplayer modes or areas with some kind of co-op you can twist to the rest of the game.

    The main problem you will run into, other than gameplay being balanced for fewer players, is lack of resources on the host system. Watch through a series like and see what the devs were doing for N64 games (lots of streaming and working around system limitations being the main thing to take away from it).

    Anyway your main character has a position in the world map and a render point. You then get to make a NPC or something with a separate control but rather than AI you get to take input from the controller and also render it to a spit screen type setup.

    Personally I would sooner make some kind of multiplayer emulator setup rather than do it on hardware. Have a host emulator that holds NPC and player data, transmit that to a client emulator and have it render things accordingly and also have the client emulator sub in for the NPC AI. The concept has been seen in several things, including the SNES modem/xband stuff.

    This is not an easy type of hack.
     
  4. Snugglevixen

    Snugglevixen Fox Princess

    Member
    628
    213
    Feb 17, 2015
    New Zealand
    My den
    I wonder if there is a Star Fox 64 co-op hack. For some reason I used to remember there being a co-op mode but when I got it on VC in around 2007/2008 I couldn't find one. It could work by having player 2 a short distance behind player 1 in the rail shooter parts.

    Reminds me of counter-op mode from Perfect Dark where player 2 controls the enemy NPCs
     
  5. furrysalamander
    OP

    furrysalamander Member

    Newcomer
    19
    2
    Mar 31, 2014
    United States
    What about two separate emulators that had a program/ plugin that shared world info and player position to render an extra model?
     
  6. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,747
    9,616
    Nov 21, 2005
    United Kingdom
    That would probably be the easier of the options.

    You would probably still have to fiddle with AI logic (home in on player character means the secondary character would not get troubled so much), the game difficulty (expose the boss' weak spot becomes easier if you can sit opposite each other), possibly something with actions/projectile weapons (both rendering if the projectiles are visible and internal logic if the game uses some kind of vector meeting calculations) and possibly some rendering issues if things are only rendered in the vicinity of the player character and the other human wants to go to the other end of the map.

    With the exception of game difficulty (assuming you do not cop out and just increase health) then those are far more easily solved.
     
  7. Coto

    Coto GBAtemp Addict

    Member
    2,379
    419
    Jun 4, 2010
    Chile

    and how would you render events? (which should be sync'd between both game instances)
     
  8. furrysalamander
    OP

    furrysalamander Member

    Newcomer
    19
    2
    Mar 31, 2014
    United States
    I'm still thinking that through. The server emulator would be easy. Getting the client to interact with it is where things get tricky.
     
  9. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,747
    9,616
    Nov 21, 2005
    United Kingdom
    For 3d most coordinate systems will hopefully be world referenced/origin rather than player origin, for 2d stuff then make one of the players the dominant screen (think tails on megadrive/genesis sonic games). Find the memory location that deals with NPC locations, speeds and directions and mirror that (I would contemplate a local server and streaming the resulting video if you are not on LAN, adding lag mitigation on top of that would be a nightmare) between them. Even if it is player referenced though then you should be able to do some kind of player location matrix maths with the co-op partner and redo that there (I would do that at emulator level rather than ROM hacking level). Depending upon how projectiles are handled then they could get fun.

    This is all a significant amount of effort though for some N64 games.
     
  10. furrysalamander
    OP

    furrysalamander Member

    Newcomer
    19
    2
    Mar 31, 2014
    United States
    Screw networking, the only way I'd even think about doing this is with both running on the same computer XD Anyhow, the dual emulators with plugins/external programs on the same computer seems like the ideal solution. And as for the question of how much work this would take? Totally worth it. I love these games and to be able to play through them with a friend would make them 1000x better.
     
  11. Digit-Aria

    Digit-Aria Newbie

    Newcomer
    5
    1
    Apr 24, 2015
    United States
    Can I jump in on this discussion?

    I am also very interested in N64 ROM hacks, and especially interested in the possibility of hacking done for Mario Kart 64. It's my favorite game, and one I regularly play throughout the year.

    I've made a point to check for updates on its hacking progress, but there's been nothing since the 2009 track Starlight, by Rena Kunisaki. Runa had done more hacking on the game than anyone and was developing a tool for custom track design. Unfortunately, they've since been considering whether to hack Mario Kart Wii instead.

    I'd love to have a "Mario Kart 64 2," as if it were a 64DD sequel that looked mostly the same, but with additional tracks and racers. It'd be like Nintendo releasing an even better sequel in some parallel universe 1997.

    Anyways, if someone were to consider hacking the game I'd be willing to match any payment by another user. I can't afford to fund a project myself, but a group effort might be able to accomplish something.
     
  12. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,747
    9,616
    Nov 21, 2005
    United Kingdom
    By and large payments for ROM hacking will not happen and we discourage talk/actions in that world. You face two main issues
    1) You will only be able to offer a token sum. 30 hours (very conservative estimate) work for an embedded programmer doing reverse engineering... not a cheap activity. Even at minimum wage it is still a reasonable chunk of change.
    2) Lawyers by and large ignore ROM hacking. If money starts changing hands for such things then they start appearing. No hacker, group, hacking friendly forum or site wants this.
     
  13. Drak0rex

    Drak0rex GBAtemp Advanced Maniac

    Member
    1,924
    701
    Oct 12, 2014
    United States
    What I would love to see is a translation for the Custom Robo games.