[Archived] Hack ideas: for those without the skill but with all the ideas.

Started by Piotyr, March 23, 2007, 10:11:50 PM

Previous topic - Next topic

thirtythree

I feel like I would be allowed to make a new thread about this, but I am posting it here just to be safe.

I'm interested in attempting to convert the NES Deadly Towers mapper to a NES Mini compatible mapper.  (Yes I am aware that you can just change the emu of the NES Mini.   I believe having the game work on the default emu is interesting in and of itself.)

I have done quite a few rom hacks and countless code hacks over the past 20 years but I have never actually studied the whole NES mapper situation in depth.  I have checked out a few current mapper conversions for NES games (dozens of them have them) in a hex comparator and am a bit confused about what is going on.

Hopefully someone reads this that has some NES mapper conversion experience.   My main question I would think is this:  Is this something that is quite easy (could be done in minutes) or not so much (would take hours).

Or if someone knows of this already having been converted that would be awesome.

FAST6191

It very much depends upon the game and its coding, its base mapper and the one you are going to and how similar (or at least how much the original acts like the new one, even if the new one is an all singing, all dancing one on top of that). NES stuff was often pretty linear (compared to more modern stuff where jumps and pointer maths to generate jumps can happen randomly at any point in the game) and tends not to have much in the way of obfuscated code.
Most that do mapper changes don't care about sub par emulator compatibility as much as having the best scenario for their hack (all the storage memory, save options, whatever extra music abilities might be afforded by something) whilst retaining hardware compatibility after a fashion.

It then becomes the same as any substantial change in the underlying cartridge setup, or indeed just using another bank/page for your custom code -- making it jump to it and start running there is easy enough, as is changing back afterwards. You need to go to that section when it is needed, and return properly (also whilst leaving enough time for the game's original stuff to do what it needs to do during any vblanks). Finding every jump to another area, finding every interrupt that might run an area unexpectedly (which is now something else, unless you for some reason mirrored the necessary data whilst having your own stuff in an area that does not matter for these purposes).
For NES stuff a static disassembly will probably get you 99% of the way (not like NES games are prone to having a base pointer, adding a bit, and jumping to that where that is boring and standard on many later systems, as well as what might be obfuscated code) and a playthrough does the rest (most NES games being one level after the other and the same basic core loop, compared to later things that might as well be 50 different basically independent minigames stitched together with a menu and gameplay style that jumps between them on a whim), maybe with a log on execute debug session also playing the game (possibly with a code testing approach https://www.joelonsoftware.com/2000/04/30/top-five-wrong-reasons-you-dont-have-testers/ ) to see if anything gets captured that you might have missed or simply be a less tedious exercise than staring at a static disassembly.

RedXTheChosenOne

Hey guys! RedX here and here's my first post :D
One thing that boggles me in Dragon Warrior 2 is how in the US version they deleted a feature in the Japanese version that lets you rename your characters, making you instead having to keep with their shitty names like Orfeo or Kailin... I would really like some kind of hack that adds this feature back, not even the Delocalized hacks had this feature, although, i do think programming it would be a bit hard... but hey, nothing a skilled hacker can't do!
Well, what you guys think of the idea?
Yea

FAST6191

It might be something you can get somewhere with for cheats.

Occasionally I have made cheats for people that want to rename characters in games that only have one and done name editing (downloaded save, save editor noting cheaters in the names, just poor choice of name...). General idea is you make a new game, name the character something, restore a savestate from a before name was entered, repeat until name location found. Can do something similar with actual saves as well if you like, might even be good here if you can find where it is stored in Japanese (same idea, new game, name character, save, repeat process changing a name and seeing the differences until you narrow it down, now see what goes in the equivalent area* in English. This is very much something a new hacker can do; cheat searches are easy enough ( https://web.archive.org/web/20080309104350/http://etk.scener.org/?op=tutorial is my usual guide to such things, it is for the GBA but much the same on any system be it new or old. https://doc.kodewerx.org/hacking_nes.html for NES specifics)

*might not be the same exact location so instead I would go a more relative approach and find whatever is more fixed or at least able to be determined what it is before/afterwards (if the name is 4 bytes after gold count or something...).


Anyway if you are lucky the translators just did not care to translate the name input screen and forced it to be something else. If however they lost the name placeholder entirely and the script hardcodes the names then you get to play with that, which could include adding a whole feature back in if they lost it entirely (though most things have a placeholder for costs so some kind of functionality should be there to expand). That or you backport the English script to the Japanese game and change the name input there as well maybe.

RedXTheChosenOne

I did search for cheats and stuff, but i didn't find one that could make what i wanted to...
And you kinda gave me some ideas, i searched for a Dragon Warrior II save editor but unfortunately i could just change the Hero's name, which made it useless.
I think i will have to use some kind of Hex editor or something for that lol, and I'm honestly a bit skeptical about searching through a renaming option on the code, because the Japanese naming system is quite different from the American one (for example, in the Japanese version you could only have names with 4 letters (or syllables? Japanese alphabet is weird) similar to Final Fantasy I, along some other aesthetic things). They probably get rid of it or the code IS there but it's not functional because of the differences i said.

Quote from: FAST6191 on August 14, 2021, 10:36:39 PM
That or you backport the English script to the Japanese game and change the name input there as well maybe.

Dragon Warrior II was pretty much a improved version of the Japanese release, for example, it had a save system instead of a long ass password system and even new cutscenes! I don't think i want to sacrifice all of the new cool stuff XD.
Yea

FAST6191

Hacking a game to use a save is not necessarily the worst thing in the world (if you are at all inclined towards programming then probably less effort than backporting the script), however cutscenes lacking is why people tend to backport scripts around when they are lacking in other regions (can be easier than getting the game to once more call some audio if the localisation team could not be bothered to get some voice actors in).

On the save editor. Do take the opposite approach too; if you can presumably edit most of the save (stats, gold, location, inventory...) then what was not changed might be the name part the save editor makers might have neglected to consider if they just basically did the cheat approach (edited stats, gold, location, inventory... and made a save editor from those). Bonus is you can also probably use the save editor to correct any checksums/hashes your edits (assuming the name is there) causes.

You did make sure to start the game with this, not just stay on the name entry screen. Occasionally they are the same, but sometimes they are not.

Also yeah I imagine kana entry vs English alphabet would be different values, might even not be the same number of bits (doubtful on the NES, would not bat an eyelid if I encountered it on the GBA or newer). However that matters less than the location, or location relative to other areas that might be easier to find (again if everything else that normally is before or after it is all 40 bytes back from where it originally was then you can go 40 bytes back, or however much it might actually be, and see what goes).


Forgot to also say last time. Grab yourself a relative search tool, I like https://www.romhacking.net/utilities/513/ myself.
Now search the English game for a line (as in line on screen, not whole paragraph, as new lines can make things tricky here) of text in the game that does not include any character names, values (it costs this much gold to stay here for the evening sort of thing) or something like that. If you are lucky and the game uses a relative encoding, is not compressed and there are no sneaky extras to trip things up then you will have found the text encoding in the game. Now you know the encoding you can scroll through the game to view the text. If said text in the English version includes the names spelled directly in the script then you have hardcoded names. If it has a blank or strange value where it should be then maybe, or might be dual tile encoding.
This is by no means a foolproof test (I already mentioned several things that could trouble it) but if it does come back as positive and things are hardcoded then you have your answer as to what you have to do; bonus is you probably have all the data you need to change it (you know what the character is called, and how the game encodes the text values, if you are sticking with the same length then it is literally a find and replace like you might do with a text editor, just using hex instead), if you want to change length (if shorter do consider symbols or extra spaces) then you get to learn about pointers.

RedXTheChosenOne

#7606
Well, i did what you said, it just appears some giberish and random names, however, i did manage to track what i believe to be adress of the names of one of the protags so maybe i am near of the solution...
UPDATE!
I downloaded a Hex Editor (more specifically WindHex32) and i actually did manage to change the characters names, HOWEVER, i can't seem to find a way to remove letters as backspace does nothing, this is bad because one of my characters names has only 4 letters, but since i cannot remove words her name gets mixed up with her old name.
Oh well, any solution?
Yea

FAST6191

So it is encoded in the game. There could still be save functionality involved but you do now have a path to editing so there is that and we can work with that.

A lot of ROM hacking hex editors will disable delete functionality (fairly stock in all the other general purpose hex editors), though there might be an option to enable it (indeed the stock ones will often do the same thing as a general word processor where pressing insert on the keyboard, as in the one usually a few over from page up, flashes up OVR down the bottom somewhere and instead overwrite mode will be enabled and things get overwritten instead. This is as it is not very useful when editing text in games. If you delete something then everything after it is now shifted towards the start of the ROM by however many characters you deleted. This is not just text (though that is still a problem) but any graphics, audio, code, level data, video... that is after it in the game and that means things tend to crash.
This is what pointers are there to handle. I usually liken them to the contents page of a book and the same problem I just described happens when you rip out a bunch of pages and someone dutifully sits there counting pages to get to what they think it should be, or indeed you add a bunch and does the same thing. Game consoles are also far too busy to be figuring out where to put new lines all the time, or start new text box screens (especially something as old and slow as the NES, though I would expect 99% of modern PS5 and PC games to also be doing something like this).
Some games will make every line have a pointer (new pointer = new line in those games),other games will go more for every text box and inside the text stream will be indicators to start a new line (why I told you to search for a single line earlier), later consoles might do a whole section of text and auto create boxes (or have boxes be a separate thing different to standard new line) but somewhat rare for the NES.
On the NES I would expect most pointers to be memory level rather than ROM level (or file level), though it can get more exotic or more relative. You then get to do your changes, figure out where the pointers are and what format they are in, figure out where all the pointers should now instead point, alter the pointers and now you have your edit, though some might also prefer a different order (figuring out where the pointers are at first and inserting some placeholders maybe). This is why many will make a text editor specific for the game, and why I might instead encourage you to either make a name the same size;  honorific, alternative spelling as most things can have an extra character or two in there and sound the same... it really does not matter, pad it out with space characters, see if there is a symbol you can live with !,' (can be something of a contraction),_, $, ♀,... something in the font you find suitable), see if there is a non parsed character in the font encoding (rare but not impossible), maybe something like a reverse dual tile encoding where you edit the font to have a single character by sight need two values to encode it), maybe altering the rest of the line/pointered section to have spaces pad out the end of that where that is more plausible...).

RedXTheChosenOne

#7608
A bit late here because of some life stuff, but i managed to solve the problem by basically copying a hex number thingy, that represented nothing, kinda of like you said about the pointer thing.
Yea

FAST6191

Quote from: RedXTheChosenOne on August 15, 2021, 07:56:44 PM
A bit late here because of some life stuff, but i managed to solve the problem by basically copying a hex number thingy, that represented nothing, kinda of like you said about the pointer thing.
Anyway, i present the three: Blaze, Tristan and Ruby!.
Glad you got it working. Somewhat surprised there was a meaningless/non parsed value in the encoding but if it works then it works.

Sarah Shinespark

Quote from: McKnight on August 13, 2021, 11:06:23 AM
Just downloaded and had a look at, and it seems I'm still gonna have to go through the ROM to figure out which bytes correspond to which value for which enemy.  Right?
Haven't used CoilSnake; you could make a topic on it if you get stuck. Might want to read up on the ROM data; Enemy Configuration Table looks useful.

PresidentLeever

#7611
Okami (PS2, 2006) Improvement Hack:


Controls/interface:
-Optional Crazy Taxi-style arrows
-Manual map markers for points of interest not marked on the map
-Removed automatic jumping into and out of water at specific points
-Somewhat faster swimming and the water tablet is available a bit sooner
-Clearer descriptions of valid finishers to get demon claws from enemies
-Skippable cutscenes without new game+
-Cutscene dialogue can be sped up
-More forgiving hit detection for the blockhead (wall enemy) encounters
-Fixed camera issues (kinda slow rotation which also slows down while moving, some problems when close to walls, some automatic camera focusing on the current target (which is automatically picked) during combat or the center of the arena during combat)
-The camera doesn't sometimes turn toward the door you just passed through so that holding up makes you go back again
-Better control over the running move (auto-activates after a few steps or after tackling but then you have to run for a while to trigger the fastest version of it and this charge time can't be upgraded)
-Don't stop running when moving between sub areas
-Removed cutscene when the game switches between day and nighttime but kept sound effect
-Tighter hit detection on walls and other objects when moving around
-Air dashing doesn't cancel your running momentum
-No repeating of item explanations and tutorial messages
-Change how if a sub area has a high and low part then the mini-map shows only the one you're currently on
-Mini-map shows the current location name
-Mermaid coins (teleportation) aren't wasted if you're in mid-air while using them - bug
-Can put out fire on yourself with wind
-Fix issues with placing bombs and the fire spell on the z-plane (the bombs can end up on the other side of doors for example)
-Fix how sometimes when you clearly draw a wind spell the game interprets it as a lily pad instead
-Fix how tying an element to a target or a vine flower to a target can be interpreted as a wind spell by the game
-Fix the inconsistent wall climbing controls at the cat tower - sometimes you let go right after latching on
-In the 2D digging segments you can push yourself into a space under a block if you move up against it in mid-air
-Running up the edge of a slope or stair shouldn't make you go into mid-air and lose some momentum
-Option to make using the brush not activate a different music track each time
-Can toggle the make believe voices and/or voice volume added (added in later versions)
-Rolling acorns/balls is a bit easier
-Maybe: Less of a delay when blocking during an attack animation to let you react to things instead of memorizing patterns more easily

Balance:
-More expensive items in general
-More of a consistent upwards difficulty curve over the course of the game in terms of the combat
-Somewhat weaker smart bomb-style items and the fire sphere spell
-Harder optional spider bosses
-Add a save point in the first forest
-Fixed difficulty dips (mostly simplistic puzzles in the oni island dungeon, easy first main boss and pretty easy second boss, some of the enemies in the third dungeon are easier than the ones in the previous one, easy mini-games in sei-an city and they're just the digging and fishing games repeated again, water dragon dungeon, races 5-7 against the evil being scroll)
...and spikes (log ride segment, some fishing, third race and fourth race against the evil being scroll (sometimes jumping right after landing doesn't register in the third one with the spiked hedges))
-Clovers give a bit more praise/exp each and the ones out in the open are better hidden
-Chests and animals are placed in less mundane locations after the early game
-Can get caught while exploring on Orca (big fish)

Other:
-Less linear overarching structure so you can do 2-3 dungeons in any order at times
-No third orochi encounter - replace this boss in the ark (or make it harder)
-Can use bombs to remove leaf piles or disturb the elevator operator in the moon cave
-Can use brush cuts to propel objects like the crystal ball forwards like with wind
-Issun doesn't interrupt you as much or spoil puzzles - instead you can ask him via a button combo, context sensitive button or via the menu when relevant
-Less dead space and backtracking (for example between the sunken ship and sei-an city (and the height where you lower the sea level around the ship) due to how the game leads you into the ship before you can enter its dungeon)
-Fewer invisible walls (sometimes there are low walls at the edge of platforms where you have to jump to get past them - would've been better if you could just dash through these, later on in the imperial palace you'd want these to be there but then they are not)
-Don't keep finding food for the astral pouch even if it's full - replaced by ink/money/hp drops
-Maybe: The hardhead/upgraded tackle move lets you dash in battle (need to press two buttons at once) though it costs ink

Trial & error:
-Have to pass through the small blue gate near the tree in the village after beating orochi or you can't progress (makes sakuya appear) - then have to talk to susano and kushi several times to be able to progress
-Clue to the oddly specific solution to the stone fruit puzzle near the water dragon - have to hit the arrow in mid-air with the yellow water next to the archer (no clue that you're on the right track when hitting the archer himself or his bow while he's firing)
-The locations of the bounty hunt monsters - can't tell from looking at the encounter flags
Mini-reviews, retro sound chip tribute, romhacks and general listage at my site: Mini-Revver.

julayla

Quote from: PresidentLeever on August 16, 2021, 12:20:06 PM
Okami (PS2, 2006) Improvement Hack:


Controls/interface:
-Optional Crazy Taxi-style arrows
-Manual map markers for points of interest not marked on the map
-Removed automatic jumping into and out of water at specific points
-Somewhat faster swimming and the water tablet is available a bit sooner
-Less of a delay when blocking during an attack animation
-Clearer descriptions of valid finishers to get demon claws from enemies
-Skippable cutscenes without new game+
-Cutscene dialogue can be sped up
-Fixed camera issues (kinda slow rotation which also slows down while moving (can press R3 for a quick turn however), some problems when close to walls), some automatic camera focusing on the current target (which is automatically picked) during combat or the center of the arena
-Better control over the running move (auto-activates after a few steps or after tackling but then you have to run for a while to trigger the fastest version of it and this charge time can't be upgraded)
-More forgiving hit detection for the blockhead (wall enemy) encounters
-Removed cutscene when the game switches between day and nighttime but kept sound effect
-Don't stop running when moving between sub areas
-Air dashing doesn't cancel your running momentum
-Change how if a sub area has a high and low part then the mini-map shows only the one you're currently on
-Tighter hit detection on walls and other objects when moving around
-Mini-map shows the current location name
-No repeating of item explanations and tutorial messages
-Can put out fire on yourself with wind
-Mermaid coins (teleportation) aren't wasted if you're in mid-air while using them
-Fix issues with placing bombs and the fire spell on the z-plane (the bombs can end up on the other side of doors for example)
-The camera doesn't sometimes turns toward the door you just passed through so that holding up makes you go back again
-Fix how sometimes when you clearly draw a wind spell the game interprets it as a lily pad instead
-Fix the inconsistent wall climbing controls at the cat tower - sometimes you let go right after latching on
-In the 2D digging segments you can push yourself into a space under a block if you move up against it in mid-air
-Running up the edge of a slope or stair shouldn't make you go into mid-air and lose some momentum
-Fix how tying an element to a target or a vine flower to a target can be interpreted as a wind spell by the game
-Option to make using the brush not activate a different music track each time
-Can toggle the make believe voices and/or voice volume added (added in later versions)

Balance:
-More expensive items in general
-More of a consistent upwards difficulty curve over the course of the game in terms of the combat
-Somewhat weaker smart bomb-style items and the fire sphere spell
-Harder optional spider bosses
-Rolling acorns/balls is a bit easier
-Add a save point in the first forest
-Fixed difficulty dips (mostly simplistic puzzles in the oni island dungeon, easy first main boss and pretty easy second boss, some of the enemies in the third dungeon are easier than the ones in the previous one, easy mini-games in sei-an city and they're just the digging and fishing games repeated again, water dragon dungeon, races 5-7 against the evil being scroll)
-And spikes (log ride segment, some fishing, third race and fourth race against the evil being scroll (sometimes jumping right after landing doesn't register in the third one with the spiked hedges))
-Clovers give a bit more praise/exp each and the ones out in the open are better hidden
-Chests and animals are placed in less mundane locations after the early game
-Can get caught while exploring on Orca (big fish)

Other:
-Less linear overarching structure so you can do 2-3 dungeons in any order at times
-No third orochi encounter - replace this boss in the ark (or make it harder)
-Can use bombs to remove leaf piles or disturb the elevator operator in the moon cave
-Can use brush cuts to propel objects like the crystal ball forwards like with wind
-The hardhead/upgraded tackle move lets you dash in battle (need to press two buttons at once) though it costs ink
-Less dead space and backtracking (for example between the sunken ship and sei-an city (and the height where you lower the sea level around the ship) due to how the game leads you into the ship before you can enter its dungeon)
-Fewer invisible walls (sometimes there are low walls at the edge of platforms where you have to jump to get past them - would've been better if you could just dash through these, later on in the imperial palace you'd want these to be there but then they are not)
-Issun doesn't interrupt you as much or spoil puzzles - instead you can ask him via a button combo, context sensitive button or via the menu when relevant
-Don't keep finding food for the astral pouch even if it's full - replaced by ink/money/hp drops

Trial & error:
-Have to pass through the small blue gate near the tree in the village after beating orochi or you can't progress (makes sakuya appear) - then have to talk to susano and kushi several times to be able to progress
-Oddly specific solution to the stone fruit puzzle near the water dragon - have to hit the arrow in mid-air with the yellow water next to the archer (no clue that you're on the right track when hitting the archer himself or his bow while he's firing)
-The locations of the bounty hunt monsters - can't tell from looking at the encounter flags

Let's also hope the end song from the Japanese verseion gets restored for the English improvement too.

Retrolife

We need some mega man 2&3 Hacks(you play as Dr.Wily and Dr.Light is the bad guy(and u have to fight Lights robots)

PresidentLeever

Quote from: julayla on August 16, 2021, 12:54:57 PM
Let's also hope the end song from the Japanese verseion gets restored for the English improvement too.

Oh it was still there when I beat it? I beat the US PS2 version.
Mini-reviews, retro sound chip tribute, romhacks and general listage at my site: Mini-Revver.

julayla

Quote from: PresidentLeever on August 16, 2021, 04:37:38 PM
Oh it was still there when I beat it? I beat the US PS2 version.

Actually, it was in the Japanese version only from what I remembered. In fact, from the copies I got, most of the US releases don't have the end song.

PresidentLeever

Mini-reviews, retro sound chip tribute, romhacks and general listage at my site: Mini-Revver.

Sarah Shinespark

Quote from: julayla on August 17, 2021, 09:00:12 AM
Actually, it was in the Japanese version only from what I remembered. In fact, from the copies I got, most of the US releases don't have the end song.
From a Google search, it was removed from the Wii and HD PS3 versions for legal reasons.
https://www.eurogamer.net/articles/clover-removed-from-okami-wii-credits

Googie

I gotta post this before it leaves my mind, but how's about a hack of The Legend of Zelda, replace link with Homer, Zelda as Marge, and one of the aliens from the Halloween episodes as Gannon, other characters from the show can be bosses. That's all I got...  :crazy: 

Retrolife

We need a new Ultima Exodus Hack been a year since the last one(Remastered)the new hack should make the game easier,more improved,longer,better