News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: I'm interested in creating a coop hack for a gamecube game  (Read 1861 times)

n sniper j

  • Newbie
  • *
  • Posts: 4
    • View Profile
I'm interested in creating a coop hack for a gamecube game
« on: January 15, 2019, 05:45:06 am »
What would I need to know to get started? I've looked into the 'getting started' section, but I was wondering if there's any kind of reference material in adding a coop element into a single player experience? I'm an absolute beginner with minor programming experience and I'm not sure how else I could phrase this question.

mz

  • Sr. Member
  • ****
  • Posts: 439
  • Whore
    • View Profile
Re: I'm interested in creating a coop hack for a gamecube game
« Reply #1 on: January 15, 2019, 09:00:39 am »
A quick list of things to get you started:
* Very advanced programming skills.
* Deep knowledge of the GameCube architecture and each its elements.
* A good debugger and knowing how to use it.
* Advanced knowledge of the assembly language for the CPU, GPU, etc. of the system.
* Advanced knowledge of the GameCube SDK.
* A game that can actually be hacked for this (for instance, with enough memory and CPU available for this new functionality).
* Most importantly, thousands of hours and a lot of patience and intelligence to learn and do all these things. You won't find any answer to the countless specific problems you'll find, so you need great problem-solving skills and at least some decent Googling skills.
There has to be a better life.

FAST6191

  • Hero Member
  • *****
  • Posts: 2592
    • View Profile
Re: I'm interested in creating a coop hack for a gamecube game
« Reply #2 on: January 15, 2019, 09:58:54 am »
While mz's list would allow you to approach it for almost any game there are things that would lend some games to being more receptive. The classic example being if you have an NPC following you around it is not so bad to add controls to them, somewhat more than the average text or graphics hack (or sound hacks in the case of formats being known) but within reason for some people. Something similar applies if there is a multiplayer mode to do something and you want to twist it a bit.

If a game has a sequel or game with the same engine but with co-op you might be able to port across/remake levels in that engine.

You can also come at it the other way and essentially make an emulator co-op link play thing -- most people tickling memory are doing it for cheats, to add trophments to old games or to do long winded ways of hacking that we do far more simply (at a cost of higher barrier to entry) but if you can access and alter memory within a game there is scope here.

Here you could make a shared whatever quite easily if you could sync areas of memory. Some would be a shared inventory, others would be shared resources for say an RTS, you could sync ammo drops and enemies across a couple of games but have the games act somewhat independently.

n sniper j

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: I'm interested in creating a coop hack for a gamecube game
« Reply #3 on: January 15, 2019, 03:46:34 pm »
Seems I have a long way to go to make this possible.

Ill state that I wanted to make Paper Mario TTYD into a coop game. One player controls Mario and the other can change between the partners and switch between being the primary controller of Mario. Like the Paper Mario 64 Multiplayer hack but for this game.


Jorpho

  • Hero Member
  • *****
  • Posts: 4161
  • The cat screams with the voice of a man.
    • View Profile
Re: I'm interested in creating a coop hack for a gamecube game
« Reply #4 on: January 15, 2019, 08:55:45 pm »
Ill state that I wanted to make Paper Mario TTYD into a coop game. One player controls Mario and the other can change between the partners and switch between being the primary controller of Mario. Like the Paper Mario 64 Multiplayer hack but for this game.

When it comes to questions like these, it is often useful to ask: what has been done before, and how did they do it?  (If no one has done anything like it before, then you can bet it's probably going to be exceptionally difficult!)

Unfortuantely, the only information that seems to be available is at http://origami64.net/showthread.php?tid=727 and that requires registration to view. (Boo.)  https://gbatemp.net/threads/release-paper-mario-multiplayer.465267/ suggests that hack was not designed to work on a real N64.

If you want to make something that will only work on an emulator, then the task is still extremely difficult – but rewriting parts of an open-source emulator is not half as bad as trying to reverse-engineer a game from scratch.
This signature is an illusion and is a trap devised by Satan. Go ahead dauntlessly! Make rapid progres!

Psyklax

  • Hero Member
  • *****
  • Posts: 1055
    • View Profile
    • Psyklax Translations
Re: I'm interested in creating a coop hack for a gamecube game
« Reply #5 on: January 16, 2019, 12:58:51 am »
I'll just say this: if you felt the need to read the Getting Started section, that means that adding a new game mode to a GameCube game is way, way, way, way, WAY out of your league. :D

What mz says is right in this case, I get the feeling that you haven't contemplated the scale of work involved. There are two types of people who come to this site: people who want to hack because hacking looks fun, or people who want to hack because they have one interesting idea that they want to happen. You can decide which you are, but either way, this is not an ideal first project.

n sniper j

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: I'm interested in creating a coop hack for a gamecube game
« Reply #6 on: January 16, 2019, 10:28:28 pm »
When it comes to questions like these, it is often useful to ask: what has been done before, and how did they do it?  (If no one has done anything like it before, then you can bet it's probably going to be exceptionally difficult!)

Unfortuantely, the only information that seems to be available is at http://origami64.net/showthread.php?tid=727 and that requires registration to view. (Boo.)  https://gbatemp.net/threads/release-paper-mario-multiplayer.465267/ suggests that hack was not designed to work on a real N64.

If you want to make something that will only work on an emulator, then the task is still extremely difficult – but rewriting parts of an open-source emulator is not half as bad as trying to reverse-engineer a game from scratch.

I thought about starting my post with this information, since I have the mod downloaded already, I figured adding in an additional controller into the equation wouldn't be too daunting but I guess misjudged the project.

I'll just say this: if you felt the need to read the Getting Started section, that means that adding a new game mode to a GameCube game is way, way, way, way, WAY out of your league. :D

What mz says is right in this case, I get the feeling that you haven't contemplated the scale of work involved. There are two types of people who come to this site: people who want to hack because hacking looks fun, or people who want to hack because they have one interesting idea that they want to happen. You can decide which you are, but either way, this is not an ideal first project.

You're right, I had no idea adding in an extra controller for this kind of game would be THAT difficult. So I have another question, aside from learning hex, and other things from the "Art of Romhacking" webpage, what kind of project would be a good starting point to learn the basics? NES, SNES, GBA games? Translations?

FAST6191

  • Hero Member
  • *****
  • Posts: 2592
    • View Profile
Re: I'm interested in creating a coop hack for a gamecube game
« Reply #7 on: January 17, 2019, 02:33:06 pm »
While any game could have something which makes a project end up a nightmare there are safer fields than others. That said I still have to say "find something you want to do" -- if you are not having an end result to look forward to then chances of you finishing the project are low, and even if you are the kind of person that learns for the sake of learning or can see to the future it still does not hurt to have something you want.

From a hacker perspective translation usually blends a few areas together (mostly text and pointers handling it but also fonts so some graphics, general ideas of ROM layout and other good stuff) however unless you know the languages you will need a translator to work with and they are both quite rare and usually reluctant to work with people that don't have a proven record. A script cleanup might be an idea here -- often all the same technical fun but none of the pesky translation woes.

I would tend to suggest you go with a system that is well documented. If you are trying to piece together info from leaked dev kits, individual chip documents, emulators and similar such things then you are going to be troubled. Anything from the 8 bit era onwards (home console or handheld) that was reasonably popular* and made by Nintendo, Sega, Sony or Microsoft will be OK (though few really do much on Microsoft systems), some other home computers/minicomputers also have fairly decent followings and were often quite open at their time of release.

*while there are some people doing virtualboy homebrew and thus a means in it would not be my first port of call. Also despite http://loveconquersallgam.es/post/2350461718/fuck-the-super-game-boy-introduction then I would similarly avoid the extra device scenes at first.

If you can emulate a machine then so much the better. If you are burning discs every time then that gets expensive, and even on things when you just have to copy to a USB drive or something it is still a bit tedious and typically lacks debug options.

Project wise I mentioned the nature of translation already.

Sound varies between systems. Stuff like the GBA onwards, and PS1 onwards, have things that are reduced to what are ultimately simple tools, ones that work for the vast majority of games, and workflows that anybody can follow. Older systems tend to have custom audio for games, and hardware to match complexity.

Level editing can be nice, and depending upon how far you want to go can start to bring in text and graphics.

Stats editing does well for those looking to start out modifying how games work rather than how they look or their text.

By similar token learning to make cheats also gives you a good grounding in how games work.

If you want to jump right in with the programming thing there are options (learn to trace maybe) to head towards having assembly hacking as a skill. There is nothing that says you have to learn to edit graphical tiles and edit text first, indeed if you have a reasonable command of assembly then the other two will be easier to pick up, and you will be able to solve problems that you might encounter.

https://docs.google.com/document/d/1iNSQIyNpVGHeak6isbP6AHdHD50gs8MNXF1GCf08efg/pub?embedded=true
https://www.dragonflycave.com/mechanics/gen-i-capturing
Not explicitly hacking but the hackers around here tend to read such documents (give or take the dislike of pokemon preventing that from happening there) or will be able to make such a thing, and might even think in such a way. Or if you prefer there is a reason why despite the original question being a very rare thing as far as examples, and several of the exceptions mainly being there because a dev locked out the option somewhere but left the code in, that people were able to say hold up. If you can get to the point where you start to figure out the requirements and outline a path then you will probably have arrived as it were.

n sniper j

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: I'm interested in creating a coop hack for a gamecube game
« Reply #8 on: January 17, 2019, 11:01:24 pm »
While any game could have something which makes a project end up a nightmare there are safer fields than others. That said I still have to say "find something you want to do" -- if you are not having an end result to look forward to then chances of you finishing the project are low, and even if you are the kind of person that learns for the sake of learning or can see to the future it still does not hurt to have something you want.

From a hacker perspective translation usually blends a few areas together (mostly text and pointers handling it but also fonts so some graphics, general ideas of ROM layout and other good stuff) however unless you know the languages you will need a translator to work with and they are both quite rare and usually reluctant to work with people that don't have a proven record. A script cleanup might be an idea here -- often all the same technical fun but none of the pesky translation woes.

I would tend to suggest you go with a system that is well documented. If you are trying to piece together info from leaked dev kits, individual chip documents, emulators and similar such things then you are going to be troubled. Anything from the 8 bit era onwards (home console or handheld) that was reasonably popular* and made by Nintendo, Sega, Sony or Microsoft will be OK (though few really do much on Microsoft systems), some other home computers/minicomputers also have fairly decent followings and were often quite open at their time of release.

*while there are some people doing virtualboy homebrew and thus a means in it would not be my first port of call. Also despite http://loveconquersallgam.es/post/2350461718/fuck-the-super-game-boy-introduction then I would similarly avoid the extra device scenes at first.

If you can emulate a machine then so much the better. If you are burning discs every time then that gets expensive, and even on things when you just have to copy to a USB drive or something it is still a bit tedious and typically lacks debug options.

Project wise I mentioned the nature of translation already.

Sound varies between systems. Stuff like the GBA onwards, and PS1 onwards, have things that are reduced to what are ultimately simple tools, ones that work for the vast majority of games, and workflows that anybody can follow. Older systems tend to have custom audio for games, and hardware to match complexity.

Level editing can be nice, and depending upon how far you want to go can start to bring in text and graphics.

Stats editing does well for those looking to start out modifying how games work rather than how they look or their text.

By similar token learning to make cheats also gives you a good grounding in how games work.

If you want to jump right in with the programming thing there are options (learn to trace maybe) to head towards having assembly hacking as a skill. There is nothing that says you have to learn to edit graphical tiles and edit text first, indeed if you have a reasonable command of assembly then the other two will be easier to pick up, and you will be able to solve problems that you might encounter.

https://docs.google.com/document/d/1iNSQIyNpVGHeak6isbP6AHdHD50gs8MNXF1GCf08efg/pub?embedded=true
https://www.dragonflycave.com/mechanics/gen-i-capturing
Not explicitly hacking but the hackers around here tend to read such documents (give or take the dislike of pokemon preventing that from happening there) or will be able to make such a thing, and might even think in such a way. Or if you prefer there is a reason why despite the original question being a very rare thing as far as examples, and several of the exceptions mainly being there because a dev locked out the option somewhere but left the code in, that people were able to say hold up. If you can get to the point where you start to figure out the requirements and outline a path then you will probably have arrived as it were.

I appreciate the effort you put into this post. Thanks man, that definitely narrows down my options quite a bit and gives me an idea on where to start.

STARWIN

  • Sr. Member
  • ****
  • Posts: 449
    • View Profile
Re: I'm interested in creating a coop hack for a gamecube game
« Reply #9 on: January 18, 2019, 02:26:04 pm »
the difficulty of making a coop hack depends greatly on how much you need to change to make it happen (as with any hack). i did http://www.romhacking.net/hacks/1797/ as a beginner, and it was doable because i only adjusted which controller is being read depending on the ingame state. i'm not familiar with paper mario games, so i can't comment more on that, although GC is certainly more complicated than NES.