News: 11 March 2016 - Forum Rules

Author Topic: Hacks spanning multiple games/roms  (Read 1530 times)

KevvyLava

  • Jr. Member
  • **
  • Posts: 47
    • View Profile
Hacks spanning multiple games/roms
« on: February 11, 2021, 09:43:46 am »
I heard about the Zelda/Metroid randomizer that shares assets/data between games.

Is there any talk of making rom hacks that might share information in the same way, provided they use the same emulator/console? Seems like this could be a great opportunity to increase the size/scale of some games, without having to cram in too much into a single rom (given the limitations that can sometimes entail). I also saw today that someone hacked Doom for 32X so that you need multiple roms for the different episodes in the game. Seems like the same concept I'm mentioning.

I'm wondering if this type of technique could be used to make (for example) a second overworld map in the original Zelda. The idea is that the extra use of the second rom is transparent to the player once it's up and running.

Any information on other projects like this would be great.

-Kevin

Cyneprepou4uk

  • Hero Member
  • *****
  • Posts: 688
  • I am the baldest romhacker
    • View Profile
Re: Hacks spanning multiple games/roms
« Reply #1 on: February 11, 2021, 10:00:23 am »
For example one could use in-game save function, and then rename this file for another ROM to continue playing on a second hack via emulator. Of course if second ROM is hacked properly to handle that.

But I doubt that it can be done on a real hardware, so another way is to use a password system, which doesn't require sharing files.

Zelda itself can fit a couple of new overworlds inside a single ROM if hacked to a different mapper.
« Last Edit: February 23, 2021, 10:31:59 am by Cyneprepou4uk »

Jorpho

  • Hero Member
  • *****
  • Posts: 4948
  • The cat screams with the voice of a man.
    • View Profile
Re: Hacks spanning multiple games/roms
« Reply #2 on: February 11, 2021, 12:29:03 pm »
I'm not entirely clear what the question is.  As per https://samus.link/information , when you use the ALTTP/Super Metroid randomizer, it produces a single ROM.

I also saw today that someone hacked Doom for 32X so that you need multiple roms for the different episodes in the game.
I can't find the link for this, but isn't that just multiple different ROMs with different data? And switching episodes is accomplished by shutting down the console or emulator and selecting a new ROM?  In any case, the Doom source code is very well-understood and many things are possible with Doom that are not feasible with other games.
This signature is an illusion and is a trap devised by Satan. Go ahead dauntlessly! Make rapid progres!

FAST6191

  • Hero Member
  • *****
  • Posts: 3237
    • View Profile
Re: Hacks spanning multiple games/roms
« Reply #3 on: February 11, 2021, 01:10:19 pm »
Most of the combination stuff I have seen was more happy coincidence with the base games using similar memory layouts but kind of opposite so only minimal things needed changing to hop between them. I am not expecting too great a base for things if you are operating with such restrictions.
If you have to do serious hacking then it is going to be a nightmare trying to keep enough of one game alive to populate a swap and all in original hardware.

That said savestates and augmenting it with lua scripting (you can do things like watch for a room change before firing a savestate, or watching for a death before firing what amounts to a minigame to get back into it, as well as simple memory manipulation) would be where I head for this one. Lot of fun could be had there and challenges made.

http://fceux.com/web/help/LuaFunctionsList.html -- timers, game speed (suddenly 2x speed), sequence of control inputs (force you down a given path if it detects you at a given location in the memory), memory reading and writing, register reading and writing... in addition to effectively having a PC act as extra ability to do whatever code you need. Things you can do with that far exceed what is even theoretically possible if you are limiting yourself to running on hardware.

http://www.romhacking.net/forum/index.php?topic=18717.0 for an example of lua scripting having some fun.

KevvyLava

  • Jr. Member
  • **
  • Posts: 47
    • View Profile
Re: Hacks spanning multiple games/roms
« Reply #4 on: February 11, 2021, 06:07:24 pm »
This is all good information, and unfortunately is a bit over my head personally.  I know there are things you can do with rom hacking to expand the capability of a single game, like modifying unused assets or using different mappers, etc.  My thought was that rather than waiting for someone as skilled as Puresabe to make a crazy-impressive rom hack of Rockman 4 (Minus Infinity), using multiple roms together might be a way for less talented people to get a lot of content.

Just as an example, imagine mixing Zelda 2 and Dragon Warrior 2....where instead of the traditional overhead areas, they appeared graphically similar but were actually using random battle mechanics of DW2. Then the game would be a combination of sidescrolling dungeons and towns from Zelda 2, but true RPG turn-based battles when getting hit on the overhead sections.

FAST6191

  • Hero Member
  • *****
  • Posts: 3237
    • View Profile
Re: Hacks spanning multiple games/roms
« Reply #5 on: February 11, 2021, 08:26:20 pm »
It is not that complicated a setup.
If you can learn to make cheats (which is generally quite easy)
https://web.archive.org/web/20080309104350/http://etk.scener.org/?op=tutorial
Basic programming loops are not that hard. In Lua they even have nice names which correspond to what they do https://www.tutorialspoint.com/lua/lua_loops.htm though http://fceux.com/web/help/LuaGettingStarted.html is probably better for this. Lua using emulators are available for most systems -- it is what most of the tool assisted speedrunning community use.

If doing NES stuff you also have the bonus of next previously not executed command (usually for things like finding a given action -- say you wanted to learn about jumping the idea being you would idle, idle would also take care of timers and music, walk around, maybe attack, pause... anything but jump. Tell it next new action I want to know about it and then jump, as it would have seen everything else then jump
http://fceux.com/web/help/TraceLogger.html

Most people that make it to a site like this probably made a savestate or restarted a level once or twice to play a section they like, maybe even regardless of the stated goal of the game or at odds with it.

If you can find infinite potions you can find a room/map/location number (it too is something you can force a change in during normal gameplay, or leave alone and search for things that have not changed) and have it say "if room number changed then load game 2 and load suitable savestate" (you can play to the point where the savestate is relevant for your needs and make it).
You can also have it ping back to an earlier savestate but maybe copy over current health and ammo and effectively make a little challenge loop.

If you can't use such things to chain together a little challenge run then I would say it is more a failure of imagination.

Jorpho

  • Hero Member
  • *****
  • Posts: 4948
  • The cat screams with the voice of a man.
    • View Profile
Re: Hacks spanning multiple games/roms
« Reply #6 on: February 11, 2021, 08:32:23 pm »
using multiple roms together might be a way for less talented people to get a lot of content.
Everything tends to require considerable talent.

Quote
Just as an example, imagine mixing Zelda 2 and Dragon Warrior 2....where instead of the traditional overhead areas, they appeared graphically similar but were actually using random battle mechanics of DW2. Then the game would be a combination of sidescrolling dungeons and towns from Zelda 2, but true RPG turn-based battles when getting hit on the overhead sections.
As M. Fast suggests, a lot of things are possible with lua scripting. To reiterate: you could create a savestate in DW2, and then create a script for Zelda 2 that automatically loads up DW2 with that savestate when a certain condition is met in Zelda 2, and then switch back to Zelda 2 afterwards.

But the big drawback is that you would never get something like that running on original hardware.  You might even end up with something that could only run on a certain emulator on a certain platform, and that isn't desirable at all.

If you've never seen lua scripting before, then examples abound. I'm not sure what the most popular ones are these days, but I think Metroid has some popular ones:
https://www.youtube.com/watch?v=wp2KV8_wXtA

I believe the new Crowd Control scripts are lua as well:
https://www.youtube.com/watch?v=v5c2a6uM7VU

I emphasize once again that these are things that manipulate the game entirely within the emulator and could not work on real hardware.  (It's really quite amazing that they managed to make Zelda/Metroid work without lua scripting.)
This signature is an illusion and is a trap devised by Satan. Go ahead dauntlessly! Make rapid progres!

Sanedan56

  • Jr. Member
  • **
  • Posts: 82
    • View Profile
Re: Hacks spanning multiple games/roms
« Reply #7 on: February 15, 2021, 03:26:46 pm »
I recall there was a fan translation that was going to do something like this.