Has anyone ever altered the hex values for cheats to instead increase difficulty?

Discussion in 'General Gaming Discussion' started by LonelyPhantom, Jul 12, 2019 at 3:01 PM.

  1. LonelyPhantom
    OP

    LonelyPhantom Advanced Member

    Newcomer
    2
    Mar 26, 2017
    United States
    Out of necessity, I recently had to learn how to read/write hexadecimal, and was pleasantly surprised to find how simple it was (First part = Address for whatever you are trying to change, 2nd part is the value you want to change into, at least that is how single line codes appear to function). Following that logic, wouldn't it technically be possible to instead of changing your character's stats or whatever positive effect you're going after, you could instead increase difficulty on yourself by double or triple an enemies health or other stats for example? Ideally these types of codes could be applied globally so you would not need to find the addresses to all enemies and make a code for each, but if that is not an option, then I could see why this is not a more popular thing.

    Of course, there are more straight forward options for popular games like those in the Pokemon series (Rom Hacks, make your own patch based on someone else's with all the tools available online, etc). Sadly, this does not work for less popular games (Let's use Okage Shadow King for PS2 as an example), hence my idea that in the absence of a dedicated hacking community or at least the utilities specifically designed for a particular game/series, would it be possible to increase difficulty via upgraded enemy stats, shop prices, etc through hex editing or not? If so, is there a name for these "Anti Cheat" Codes, or is this just something that has always been possible but no one practically does so because it is too tedious and developing/contributing to specialized tools is just better for everyone in the long run?
     
  2. Kwyjor

    Kwyjor GBAtemp Fan

    Member
    5
    May 23, 2018
    Canada
    Egads, no, no one has ever done this before and you have been graced by a unique and singular vision. /s

    As you say, there is not too much interest in this sort of thing, but even the oldest books of Game Genie codes had codes like "coins kill you" for SMB. A Google search for "site:romhacking.net challenge hack" (no quotes) brings up https://www.romhacking.net/reviews/89/ for FF4, but I'm sure there are others.
     
    LonelyPhantom likes this.
  3. LonelyPhantom
    OP

    LonelyPhantom Advanced Member

    Newcomer
    2
    Mar 26, 2017
    United States

    Lool, I didn't mean to make it come off as if I had discovered something, I still found your sarcasm funny all the same. I just figured it made sense that there had to be codes to increase difficulty given how open ended Hex can be utilized, although the lack of information perhaps at least in part to there not being a officially recognized name made it hard for me to find anything. The coin cheat you mentioned sounds brutal to play through, *Do it Kazio! You know you want to*. I am pleased to hear nonetheless that this has been done before, makes me want to see what I could do to breath life into these older and more obscure games.
     
  4. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23
    Nov 21, 2005
    United Kingdom
    There used to be a website https://web.archive.org/web/20160808104055/http://www.insanedifficulty.com/ that did all sorts of things to make games harder.

    But yeah there are plenty of things you can do as cheats. The coins that kill you thing there is more of a ROM hack (as a general rule for old school stuff game genie = edits the ROM, gameshark/action replay/codebreaker/...= edits the RAM), not an especially hard one -- collecting the coin in a game has an action, not especially hard to alter that to do the same as an enemy.

    Sometimes the inverse of existing makes like easier cheats can be a thing:
    If you can double, 4x or 8x experience then you can half it as well. See logical shifts -- much like multiplying by 10 in decimal means shift the decimal place then multiply by 2,4,8,16,32... means shift the number left by so many, or right to divide (ish -- there is no decimal place in plain hex so 5/2 = 2 and not 2.5). Personally I find grinding = boring but you do you.
    Same if you have the scope to fiddle with the damage calculations.
    If you can make enemies never appear (usually uses an item that has an effect in the game but keeps the flag there always) then you can often use that as a launch to make enemies appear more often, though it will depend what goes. If the game has an item/status effect or similar that does this then even better. If the item makes is so weaker enemies never appear then maybe be activating the effect you will always be fighting hard enemies when the battles do come.
    If a game has an equip you can disable its effects, or disable certain effects in a similar fashion if it is just a flag in memory, this can also be used to nerf an easy mode item a dev might give a player (autofire for timer based systems, less damage taken,....) but keep some effects (possibly just negative ones) too.
    If it is not random battle and touch enemies on a map you might be able to increase on map speed, chase radius or similar to make avoiding things harder.
    You can constantly inflict bad statuses on yourself if you want just by inverting what you save them with. Back to damage calculations above then if you can force your def to be far lower then it will have a knock on effect to damage taken, or spin it around and give the enemy a far higher def rating, or max health rating (or infinite mana if that is a thing).
    You might set a timer higher or lower depending upon what goes. If the timer is at (or above/below if it is a system with such a detection) a certain amount (like it would be at the start of a level) then set it such that you have less time to complete the level.
    As above you can cap number of potions or consumables if you want (if greater than 10 set to 10 sort of thing) and force you to think more tactically, or grind more to pay for more high end potions/revives/items (which if battles in general are also harder). If you have more of a dungeons and dragons style X casts of a spell rather than plain mana then also good here. Also works for weapons with durability.
    The more stats a game has then the more you can do -- something like Elder Scrolls or many western RPGs where you will have a stat that makes you pay less in shops can be spun the other way. For something more basic the cost will usually be in memory somewhere but be careful you don't generate a nice money spinner if it is one of those "sells for half" items that can be farmed, unless you want that of course.
    As far as limiting things then maybe for something like Zelda then you can do something simple like force a bottle to always have a boring item in it (whether you make it the first or last bottle is up to you) and thus not a potion, fairy, soup, milk or whatever is good in that game.
    For a sports game then stuff like moon jump usually has the inverse so if you nerf your stats a bit somewhere to make you appear as lower stat characters and force you to play harder.
    For something like tetris you can probably do a slightly more complicated combo of the above and have it see whether you are at the start of the game somehow (might be a timer or pieces counter somewhere) and then give you garbage lines just for fun at the start, or even give you a couple as a "reward" for getting (or not getting) a tetris. Or on the flip side you can make it so if the game has so many lines set to be sent to your opponent then you can do if a 4 then send 1, if 3 then send 1... type setup.

    I could go on for ages here. Pretty much any cheat you make to make a game easier can be turned around, sometimes simply and sometimes not so simply, to make a game harder. In addition to that you do also have the stuff like objects do other actions, or pickups don't exist/are changed to negative pickups. It can go far further and people can rebalance entire games but if you are just starting out with cheats then that is good.
     
    LonelyPhantom likes this.
  5. LonelyPhantom
    OP

    LonelyPhantom Advanced Member

    Newcomer
    2
    Mar 26, 2017
    United States
    This is exactly what I was thinking too! I suppose I was more curious about what people would call these codes, since they do not exactly help you "Cheat", they make it more difficult. I found it very frustrating trying to find if there was a topic anywhere about all this via google yet to no avail, no pre-made codes either. The only problem I have now is how do I find all the relevant Hex Strings for each target I am going to change?

    One code in particular I would love to do for Okage would be to have all party members early on. the 6th and final ally you gain does not even join you until the last 2-3 hours of the game, and worse he is not even remotely powerful, he just has 1 gimmicky move that could be used to farm items more easily, all his other moves and combat stats are a joke; funnily enough he is supposed to be this mysterious magician of sorts yet his magic stat is below 0, that was such a let down for 11 year old me =(. The only issue I could see with a cheat as mentioned above is that because he, the 4th & 5th allies gained are all boss battles, so I would imagine having them already and then gaining them for real would cause problems.

    As far as increasing difficulty goes, I would probably be content with giving all bosses 3x the amount of HP and Maybe half hp/MP for your party, beyond that I think tinkering with enemy/player stats might throw the game out of balance (certainly not impossible, but there would need to be a LOT of consideration to strike the balance between difficulty/enjoy ability. Then there remains the issue of whether or not I can apply the changes globally or would I need to find the hex addresses for each enemy/boss and then apply 100+ codes (1 per each) to obtain/maintain the desired effect.
     
  6. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23
    Nov 21, 2005
    United Kingdom
    Cheat does not have to mean easier. Most would take it to mean alterations, and as the things in the list would be found in the same way as infinite or crazy stat cheats and just be an inversion or what was normally done, or people using factors people might avoid*. Difficulty changing cheats, hard mode cheats, challenge run cheats, balance restoration cheats... not necessarily good search terms but ones you might try.

    *many infinite ammo cheats might cap the value at whatever the cheat finder used when then finally found the location. This might also mean you could reload at any point. Someone making it harder might seek to put one bullet in and force a reload after every shot (even if technically infinite, or maybe if 0 in reserve then 0). Similarly enemy health cheats might force them to operate in the "below certain health, make it harder/quicker" routines.

    Party member cheats vary from game to game. For a game with prebaked characters then you might well be able to get them just like you would items with them essentially being another inventory item, maybe not in the same location as the inventory but same principle. Finding such things can be harder. If it is a character generated from scratch as it were (think pokemon) then you get to generate one of those in cheats (or force an encounter where the game might fill in some blanks).

    "mysterious magician of sorts yet his magic stat is below 0, that was such a let down for 11 year old me"
    Never met a fake magician?

    3x the HP of a boss and half the HP for your party could well mean 6x the HP for the boss (harder to get than 8x as you will likely have to find 8x and take 2x from it).

    Universal vs specific codes. Will vary between games. Usually the thing that sees your health and whatnot in battle be in the same place (or a predictable place) will also mean the boss values themselves are in another place. If you have a shift option in the cheats for the platform you are playing with (not all will) then you can try that. Depending upon the game it might include a bestiary in memory too -- here you can use so called slide codes which are codes that help if the concept is repeating a lot. That said after a point I find becomes easier to take the ROM hacker rather than cheat maker approach.

    "but there would need to be a LOT of consideration to strike the balance between difficulty/enjoy ability"
    Such is if the fun of hacking, though I would note it is personal preference -- I will spend hours cheesing a combat system to figure out the right moves, techniques and what have you but grinding I get bored of after about 5 minutes, even if both share the same combat engine, others might be the opposite, or worse.
     
    LonelyPhantom likes this.
  7. LonelyPhantom
    OP

    LonelyPhantom Advanced Member

    Newcomer
    2
    Mar 26, 2017
    United States
    This is all excellent information, thank you. I am still curious how do people generally find the addresses for whatever they are targeting to change in game? I can definitely understand the ease of alterations that comes with the use of full fledged hacking utilities designed for a particular game(s), but wouldn't it be fundamentally harder to develop those specific sets of tools; for that matter if my understanding is correct, you cannot even begin the development process for such tools until you figure out the purpose/decrypt each file within the structure of the game, and obviously without the compiler/de-compilers the original dev teams had, that is going to be monstrosity of a task. At that point, it seems to me that for the less popular or in this case outright obscure games, the best option for hacking is to poke around at the cheat code level, to go any further one would probably need multiple devs/contributors realistically and that in turn requires that there be sufficient demand for that particular game, all of which is antithetical to lesser known games =(.

    It would be so awesome if someday there were universal game hacking tools that work for each game of a given system... There has to be enough commonalities across games within a specific system that could be used to pave the way so to speak. At that point there just has to be a solution for handling the more unique file types & studio specific tendencies that led to their set of games being developed in peculiar fashions. If something like this existed for games up to the Ps2/GC/Xbox era I think i'd probably never touch a new game ever again, I could just continually relive the magic of my childhood with infinite possibilities/challenges =).
     
  8. Scarlet

    Scarlet A Convenient Oddity

    pip Reporter
    15
    GBAtemp Patron
    Scarlet is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Jan 7, 2015
    United Kingdom
    Middleish North-Left
    Oh God yeah. Back when I played a load of Monster Hunter Generations, I had a code that modified the big monster's movement speed. It was so much fun omfg
     
    LonelyPhantom likes this.
  9. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23
    Nov 21, 2005
    United Kingdom
    For the cheats stuff then same cheat finding method as anything else ( https://web.archive.org/web/20080309104350/http://etk.scener.org/?op=tutorial ). If it is a simple yes or no type setup then it takes a bit more fiddling than something you can consume/alter endlessly, or find right next to something you can (if 1 is wood sword, 2 is iron sword, 3 is steel sword then 4, 5 and 6 are likely some kind of rare end game affairs).

    For editing games themselves then a variety of methods. You also need not make a fancy GUI tool you might have seen the likes of elsewhere if you can just edit it in place. The hacking guide in my signature ( https://gbatemp.net/threads/gbatemp-rom-hacking-documentation-project-new-2016-edition-out.73394/ ) goes into far more detail on a lot of things but generally

    Look at the files. They often have nice names, extensions, sizes, directory names and you can also eliminate things too -- the 30 meg file called sound_data.sdat is probably not enemy stat data.

    One step further than that is said files often have nice indicator values in the header, actually look like text (whether you know, use relative search or something else), look like graphics (open the ROM in a tile editor and press page down a lot, whatever looks like graphics is probably not enemy health data).

    Reverse from memory. If you can find it in memory it tends not to appear there magically for prebaked games like RPGs. Find the stats in memory, do a search for that in the ROM and barring compression and additional maths you can find things. Or you can take it one step further and use a debugging emulator
    https://www.romhacking.net/documents/361/

    Cheat based tracing also works here. If an action has a result then you can follow it up -- for the coin kills you then the coin in the normal game will also add a coin somewhere along the line along with playing a musical note, doing a check for 100 coins and whatever else. Find something that edits the coin value and a debugging emulator will tell you the last 10 instructions that happened and eventually you get back to the coin grab, and that point you can also tell it to take one from the lives counter you found in another cheat search.

    Corruption. What does this button do? Tends to want to be a bit directed but if you find a file and fiddle with it then whatever changed in the game is what that deals with at some level. Some nuance arrives in what you corrupt with (do you copy the presumably valid data from another section or go random and risk a crash, or go random within set values -- the GBA uses 16 bit colours but practically speaking it is 5-5-5 bits for BGR (RGB but different order) so there is one bit that will never be high.
    Related to this is once you find it you can try to figure out its limits -- there is a reason numbers like 1023, 255 and 127 are often picked as values here but who knows until you test (or spend ages stepping through the code to figure out the limits manually).

    All of this is harder than looking things up in source code but for balance and improvement type mods that work within game parameters or minor tweaks to them then it is quite achievable in reasonable timelines. You also need only find what you want to edit -- what do you care about the music which plays during the end credits in this.

    Universal tools outside of some god tier AI are unlikely to happen -- if you can code it a different way then you can bet some dev did somewhere.
     
    LonelyPhantom likes this.
Loading...