A few easy questions

Discussion in 'NDS - ROM Hacking and Translations' started by FireShield, Apr 3, 2014.

  1. FireShield
    OP

    FireShield Newbie

    Newcomer
    2
    0
    Apr 3, 2014
    France
    Hello,

    I am new here and have absolutely no idea how GBA/NDS game hacking works. However, I'm not completely hopeless. I have a good knowledge of C/C++. I am currently willing to know more about how to change video games, just slightly, or, about completely in order to create and sell my own. This would be a project whose duration is in the order of one to two years. Therefore I must do some research first. Maybe that project won't even start, I'm just trying to gather pieces of information for the time being.

    Now, I could see that tutorials and all are using several pieces of software on Windows, as if it was impossible to do stuff on your own without any software already made for you. I don't have Windows on my computer and my laziness makes me try to get by without them. Thus, I would have a few newbie questions that I'm sure everyone knows here:

    1. If you read a .nds file without any "translator", you'll of course get encrypted lines with a bunch of symbols that don't mean anything altogether. How can I translate all that into an understandable code? Is there a table somewhere?
    2. Are there a few tutorials that help you understand and do stuff from scratch ?
    3. How many years may I wait between the time a video game has just been released, and the time I can freely copy it without any possible sort of lawsuit ?
    4. Until those years are reached, to what extent am I legally allowed to get "inspired" from it?
    5. Suppose you want to make some sort of game playable on iPhones, but also Androids, Facebook, etc. Is this easy to do or is there again a lot of work to make things compatible, from one system to another?

    Thank you very much, and sorry if those answers can be found easily somewhere else. That website looks big and you would make me save much time. Answering with links is fine of course.
     
  2. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,204
    8,969
    Nov 21, 2005
    Are you trying to make games from scratch (homebrew) or edit existing games to make new ones (ROM hacking)? Both do a lot of good stuff but I do have to say hacking a game to make another is a very backwards way of setting about things. No chance of selling ROM hacks either.

    For the former there are many options to develop games, but there is little chance of selling them and less chance still by the time you get one out there.

    For the latter.
    1. If you want just text that is usually basic text hacking. No one way of doing it but some common methods you can try.
    2. My ROM hacking docs are http://gbatemp.net/threads/gbatemp-rom-hacking-documentation-project-rewritten-for-2012.73394/ but http://www.romhacking.net/start/ is also good. For homebrew there are many things, though much of that is normal programming. Devkitpro is the standard DS homebrew development setup, some people do quite well with the system's various versions of lua though and various people have done things on top of devkitpro (old stuff like palib being the main one). For the GBA but http://www.coranac.com/tonc/text/toc.htm
    None cover actual game development as much as the technical underpinnings of a system, if you already know something as low level as C/C++ though then you are probably better of getting that better and getting a book on game design.
    3. Copyright is up around in the many decades mark at this point (Life + 70 years is about standard and looks to be the case in France) so basically never. Sometimes devs release source code or stick things in the public domain or something similar, if that happens for any DS game before about 2030 I will be surprised.
    4. That is a question for a copyright lawyer really. Usually when it comes to code there are only so many ways to do something so you can end up with a similar system, if they can demonstrate you used their code you are likely to lose out (usual method is if you copy it bug for bug), fortunately software patents do not exist in much of Europe so you are probably spared that headache. Systems and story is an odd one; on the one hand you have basically no rights to a general theme but on the other there have been some very odd lawsuits in recent times ( http://techcrunch.com/2013/02/15/zy...ttles-over-the-unmistakable-copy-of-the-sims/ ).
    5. Depends how you develop it really. All three offer some kind of flash/html type play but that is considerably more limited than native applications (objective C for Apple devices, java for android and facebook has its API which does all sorts of things). Should you plan it from the start though then your life will be easier in the long run. Apple/IOS development can be a fairly costly endeavour (you tend to want one of their newer PCs and you get to pay a reasonable sum annually to stay on their service) too, though one that many still find works for them.
     
  3. FireShield
    OP

    FireShield Newbie

    Newcomer
    2
    0
    Apr 3, 2014
    France
    Oh, I didn't see that my location was displayed right under my nickname.

    Thanks for the long answer, this is really the kind of answers I need. Basically, I don't plan on making any GBA/NDS videogame ever, but the one I want to copy belongs to those systems (Final Fantasy Tactics Advance (GBA) / Final Fantasy Tactics A2 (NDS)). So my idea was simply to read their code to see how things were done, for starters. Then code from it. The final game could be accessible on any system that is used by a lot of people. You may see this as a start-up.

    1. Okay I see, I'll dig into that tomorrow.
    2. Thank you for the links, I will start reading them cautiously tomorrow!
    3. I see, I was merely asking this in case the copyright expiration date was soon. That isn't the case.
    4. Okay so, as long as I don't copy the code, there is hope. I don't know if you have ever played FFTA though, but I don't think I would be allowed to copy the entire job / weapon / skill system. I guess I'll have to think of what is acceptable and what isn't.
    5. Well since I have really no idea how all this works, I was hoping to code my game in C/C++, and then adapt the display / graphic part according to the system used to play it (Android, etc.) . It would really sadden me if I had to literally build 3 different games for 3 different systems, but this seems to be the case. So, I would have to code my game as many times as I would want it to be accessible on different systems.

    Again, thanks for your answer, that was much appreciated.
     
  4. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,204
    8,969
    Nov 21, 2005
    Unfortunately they kind of died off on the DS but the GBA had plenty of alternative tactics games, many I even rate above the GBA iterations of final fantasy tactics (note I have not really put enough time in on the PS1 version yet).

    If you meant "read the code" as in "ah so the health is determined by defence multiplied by stamina with a bonus for being a given race" and "I also see the max enemy attack is set so that under worst case scenarios it is going to do around 75% damage for the levels of the characters the player should have at this point"*. Knowing the tactics game crowd you could probably read a complete breakdown of various systems on gamefaqs or maybe a dedicated wiki, much of those were probably made without the creators having ever used a hex editor in general, let alone on the game in question. Plenty of games have their systems pulled apart like that over the years, I quite like reading such things at various points.
    How legal it is to copy things there... someone, somewhere might be able to say something but realistically we have had entire games rebuilt from such things (see things like open transport tycoon deluxe) and not many people care. Square Enix might well have trademarks on spell names or certain terms but systems themselves are fairly free reign. It gets far more tricky if you are going to make a "fan game" -- see how many Chrono Trigger fan games, streets of rage fan games and the like have been troubled and things like that over the years. job / weapon / skill should not be a problem -- such things go back before the start of computer games, though I might consider calling it something like "calling" / armament / technique or something.


    *I would not read too much into whatever numbers you find here, they might have had a rough idea but most of it would be numbers put in and then tweaked during play testing. Game designers tend not to be the first people I would call for proper systems design like that, though that might also be my not having the greatest respect for a lot of them rearing its head.

    On 5. this is where planning ahead of time saves you hassle later. If you have a nice document detailing the interplay of all the systems, possibly even writing it in something like XML which you can then read and deal with on each of the platforms, then you get an easier port and development situation. SNES era stuff, and that trickled down into the GBA and DS as well a lot of the time, took the "just code" approach to life and hardcoded all sorts of variables and systems and is why we do not have useful source code to a lot of things.