News:

Don't forget to visit the main site! There's lots of helpful docs, patches, and more!

Main Menu

Modifying Route Randomizer to Include Rooms from Romhacks

Started by foosda, December 05, 2014, 07:42:42 PM

Previous topic - Next topic

foosda

Hello,

For anyone unfamiliar, Lioran wrote a program called Route Randomizer, which takes vanilla SM rooms, and randomizes with respect to certain criteria the rooms that doors lead to. It essentially creates a new experience every ROM it outputs, and plenty of people do SRL races or casual playthroughs of it.

I had the idea to add rooms from romhacks to its randomization a while ago, but never really got around to asking Lioran for information regarding his program. I'm not sure if I need to justify why it would be cool to add romhack rooms, but my justification is thus: it would be cool. Either way, I finally got around to getting the necessary information from him, namely the source code and relevant information, which can be found here: http://www.mediafire.com/download/z5qo04pmcxctvo7/smrr+source.rar

The program compiled: https://www.dropbox.com/s/9iejonxs7o3s5fl/smrr.rar?dl=0
My initial conversation with him: http://pastebin.com/PwuZwtGn
My conversation with him in which he identifies the necessary strings/etc: http://pastebin.com/c91ZtDe7 (I did not mean to speak for metconst as whole, I was mostly attempting to cajole him, as I was uncertain as to his cooperation)

So why am I posting here? A number of reasons, really.
1. My experience with romhacks/romhacking is limited compared to people on this forum.
2. My experience with coding is also limited.
3. I figured you guys might get a kick out of this, should it be completed.
4. I have not yet gone over his coding beyond what he has told me, as I figured I'd just post here ASAP for pertinent possible interested parties.

As of right now, my main concerns are:
1. How to implement non-vanilla tilesets. (I'd prefer to not have to recreate good rooms in vanilla tilesets)
2. How to not increase the rom size too much so that a flash cart will still be able to play the output rom file.
3. How to add the extra room data to the selection process, whether by adding data to blank space in vanilla, adding banks to vanilla, or adding support for multiple files for the program to utilize.
4. Possibly most important, which rooms should be worked with to be included. *the fun part*
5. Probably more, but I can't recall anything more right now.

Ok, I think that's it for now, I hope I peaked some of your interest. If not, I apologize for the longish post.

Quietus

It sounds like you're just wanting to add a random number of rooms from hacks to the original game?  If so, there will be hurdles.  The big one that springs to mind is that you have a limited number of tilesets available in the game, and using one tileset to enable use of a room from a hack that uses that tileset will also override the tiles in any other room that normally uses that tileset.

With older hacks it wouldn't be so bad, since they all used stock assets, and the rooms could be transferred fairly easily from a hack (literally opening the hack, opening the room, then opening the original ROM's room, and clicking 'save'), particularly if the hack's room uses less data.  There's slightly more to it than that, but you get the idea.

Another option would be to code the randomiser to work with any given hack, but it would require building a custom version for each hack, since each hack's restrictions vary.  We actually had a discussion on this fairly recently.

Lunaria

Re-creating the rooms you want using the vanilla tilesets is probably the easiest route, for what that's worth.