Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,484,018
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 04-25-24 11:54 PM
Guest: Register | Login

0 users currently in ROM Hacking | 4 guests

Main - ROM Hacking - Intrest in Snake Rattle n Roll hacking? New thread | New reply


Ailure
Posted on 05-17-09 10:15 PM Link | Quote | ID: 107057

Hats
Steam Board2 group
Level: 121

Posts: 3342/3965
EXP: 19778390
Next: 278306

Since: 02-19-07
From: Sweden, Skåne

Last post: 3301 days
Last view: 2052 days
For awhile ago I started to hack this game, although very basically. I was actually making a proof of concept level editor (believe me, it's just a fleshed out hex editor anyway) for the game before I got busy with university studies.

Apparently some other people did reverse engineer the game over at Datacrystal too, and when someone contacted me recently about it I wonder how large the interest of a such editor would be. What I remember stopping me back then was that I didn't really see any kind of pattern amongst the 256 various combination of the isometric tiles in the game, and documenting them is frustratingly hard the way the game renders the tiles (you hack a random tile to be different, and then it renders as really high... making you unable to figure it's height right away).

____________________
AIM: gamefreak1337, MSN: Emil_sim@spray.se, XMPP: ailure@xmpp.kafuka.org


Trax
Posted on 05-18-09 02:52 AM Link | Quote | ID: 107073


Yellow Stalfos
Level: 71

Posts: 814/1145
EXP: 3035682
Next: 131432

Since: 07-06-07
From: Québec

Last post: 3626 days
Last view: 2878 days
Wasn't it the editor where the numbers represented the height of the square units or something like that?

Although I'm already busy with a few projects, I'm interested, and I'm pretty good at tearing a ROM appart to find data...

Ailure
Posted on 05-18-09 04:16 AM (rev. 2 of 05-18-09 04:18 AM) Link | Quote | ID: 107081

Hats
Steam Board2 group
Level: 121

Posts: 3349/3965
EXP: 19778390
Next: 278306

Since: 02-19-07
From: Sweden, Skåne

Last post: 3301 days
Last view: 2052 days
Posted by Trax
Wasn't it the editor where the numbers represented the height of the square units or something like that?
Even worse, they just represented the hexadecimal value of the tiles. It made it simpler to edit than in a hex editor but even then it made it a pain.

I already know the range of some of the data, and Datacrystal contains even more info regarding this. What I mostly need to know at this point is what a certain value of tile translates to what kind of tile, and height. Mapping every out manually would be a pain, and if there's some kind of index in the ROM I can use... or even a certain pattern in the bits I just hadn't figured out, that would be nice.

I also remember that if you add a lid somewhere where it usually dosen't exist, it will crash the game if you open it. I assume the game uses some kind of hidden sprite or some other system to determine what will happen when you open a lid.

____________________
AIM: gamefreak1337, MSN: Emil_sim@spray.se, XMPP: ailure@xmpp.kafuka.org


infidelity
Posted on 05-18-09 05:11 AM Link | Quote | ID: 107090


Fuzz Ball
Level: 66

Posts: 114/968
EXP: 2367965
Next: 93886

Since: 05-24-07

Last post: 958 days
Last view: 814 days
my wife and i play this game constantly on my ol' xbox with an nes emulator, heh. she got me addicted to it when we first met. the latter levels are insanely hard, some of the jumps your required to do in that game are insane. too bad "rare" wont consider redoing this for nex-gen consoles. :p

Ailure
Posted on 05-18-09 11:29 AM Link | Quote | ID: 107121

Hats
Steam Board2 group
Level: 121

Posts: 3351/3965
EXP: 19778390
Next: 278306

Since: 02-19-07
From: Sweden, Skåne

Last post: 3301 days
Last view: 2052 days
Playing through the game, I can easily sum up what needs to be done:
- Figure out how a byte is translated into a certain tile. Alternatively find some table the game uses for this, or just catalog all tiles that is in the game and their variations. The last one can be fairly painful to do (I need to debug the game more to determine this).
- Where are the monster data stored for each level?
- How does the game determine if a lid is supposed to contain a enemy, bonus object, warp or bonus level.
- Where is metadata about a level's boundaries (which stops you from going directly from Level 1 to 2), and palette? (With a infinite jump cheat it's possible to reach level 8 from level 1! At least in theory.) I know where the level boundaries is stored RAM-wise, but not in ROM.
- The whole world is stored as one large entity, but bonus levels seems to be stored elsewhere. Same goes for the underwater fish levels just before the ice world.
- The ice and moon part of the world is part of the large world, but I can't help but to wonder if they're generated separately and on the lower worlds are generated as infinite tall pillars.

____________________
AIM: gamefreak1337, MSN: Emil_sim@spray.se, XMPP: ailure@xmpp.kafuka.org


DiscoPeach
Posted on 05-27-09 02:17 AM (rev. 3 of 05-28-09 02:19 AM) Link | Quote | ID: 107643


Octoballoon
Level: 31

Posts: 110/175
EXP: 177138
Next: 8225

Since: 04-15-08
From: Puerto Rico

Last post: 4554 days
Last view: 4534 days
This fucking game was the shit and a half. I remember when I got this as a wee boy back in the day. *sigh* memories. I love this game. This game is insanely fucking hard. As much as I'd like to see an editor made, for god sakes DON'T! If this game is insanely hard, imagine some sadistic asshole making a hack that's even harder. ~20 years later and I still haven't beaten this game!

Edit:
Sorry, but I can't wait until I'm cleared for doubleposting. I think this will help you out greatly (my doublepost):

Posted by Ailure
I already know the range of some of the data, and Datacrystal contains even more info regarding this. What I mostly need to know at this point is what a certain value of tile translates to what kind of tile, and height. Mapping every out manually would be a pain, and if there's some kind of index in the ROM I can use... or even a certain pattern in the bits I just hadn't figured out, that would be nice.

I also remember that if you add a lid somewhere where it usually dosen't exist, it will crash the game if you open it. I assume the game uses some kind of hidden sprite or some other system to determine what will happen when you open a lid.


The reason you can't find the pattern and are having a shitty time editing the levels is because there is only one actual level. All levels are interconnected to form a giant tower. They are so well connected, in fact, that the tiles change accordingly as you progress the "tower". Watch this youtube video and you'll see what I mean:
http://www.youtube.com/watch?v=Z1jCis4jP9Q
As you keep going up, you keep going to all the other levels. If you try to access a manhole when you're in a level you're not supposed to be in, the game crashes. So basically, manhole operation is directly tied to the level counter. I know you've realized this, and this doesn't account for the bonus stages or other stages, but you're right in knowing that it has to be taken into serious consideration.
If you want to create an editor for this game, most likely you're going to have to edit the entire "tower" and determine what part of the tower is what level. Also, this would seem to activate all the events associated with those levels, such as the balls, enemies, manholes, balances, etc. (lol, I said "activate the balls"). So, um, I personally believe that um the editor (sorry for that breif moment of misssouthcarolinaism) should be a global editor of the game's "tower" and determine where the flags to trigger the level events should go (i.e.: the warp doors as you progress through the game).

If you really want to make this editor, maybe it would be best to first try and make a program that maps out the "tower" at least in a visual sense so you can see where everything is first. That way you can have a base to try and find the pattern in the tiles your looking for to maybe try and make an editor for the game. Again, I think your editor should be a tower editor.

Whew! Sorry for the long reply, dude.

____________________
MathOnNapkins' Zelda 3 (ALttP) Hacking Forum on Arc-Nova: http://arc-nova.org/forum/index.php?board=7.0

Ailure
Posted on 05-29-09 05:16 PM (rev. 3 of 05-29-09 05:18 PM) Link | Quote | ID: 107773

Hats
Steam Board2 group
Level: 121

Posts: 3383/3965
EXP: 19778390
Next: 278306

Since: 02-19-07
From: Sweden, Skåne

Last post: 3301 days
Last view: 2052 days
Posted by Ailure
- The whole world is stored as one large entity, but bonus levels seems to be stored elsewhere. Same goes for the underwater fish levels just before the ice world.

Suggests that I know that levels are stored as one large level...

What I had problem with wasn't the data for different levels, but what byte translates to what tile in the said huge level. And the "individual data" for the levels (monsters for other levels aren't placed out when you managed to get to the wrong level).

____________________
AIM: gamefreak1337, MSN: Emil_sim@spray.se, XMPP: ailure@xmpp.kafuka.org


Trax
Posted on 05-30-09 01:13 AM Link | Quote | ID: 107790


Yellow Stalfos
Level: 71

Posts: 823/1145
EXP: 3035682
Next: 131432

Since: 07-06-07
From: Québec

Last post: 3626 days
Last view: 2878 days
Seems like each byte corresponds to a set of tiles or "object"...
Now where are the objects definitions? That's the question...

Main - ROM Hacking - Intrest in Snake Rattle n Roll hacking? New thread | New reply

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.022 seconds. (339KB of memory used)
MySQL - queries: 52, rows: 79/80, time: 0.016 seconds.