+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Super Metroid 'cutscene' triggers -- possible? At all? Also, other Q's...
Pages: [1]
Author Topic: Super Metroid 'cutscene' triggers -- possible? At all? Also, other Q's...  (Read 2 times)
Televangelist
Guest
« on: March 27, 2009, 01:19:19 pm »

At the very beginning of the game, you have the 'story' cutscenes explaining the background of the game... would there be any way, any way at all, to get similar functionality within the game itself via ASM hacks or other techniques?

I've got a basic concept in my head for a Super Metroid hack that's got a significant story component, but I can't think of any way within Super Metroid to convey dialogue other than the 'cutscene' system.

I'm relatively new to ROMHacking (though I do have a general background in scripting, OOP, and things like that), and so I don't still have a clear sense of what the 'hard' limits are, as opposed to the simply 'hard to do' limits.


Also, a question along similar lines for Super Metroid; Is it possible to modify the properties of one of the weapons to allow it to dissolve certain blocks on contact?  I.e. equipping the plasma beam allows you to melt 'super bomb' blocks by shooting them?  I know that Metroid Redesign seriously messed with the beam data, I'm wondering what can be done along those lines.


Finally, I know that you can set things to 'disappear' when viewed by the X-ray scope, by putting them in a specific layer.  Is there any way to make something *appear* when you move the X-Ray scope over it?  Hidden messages, etc. that only appear when you use the scope, for instance?

Also, is there anyone who does ASM hacking on assignment for a nominal fee?  I.e., if I get my hack all laid out with SMILE, but I need a few ASM hacks to make everything work the way I'd like, people would be willing to help out in exchange for cash? 

And my final question:  A lot of SNES hacks seem to expand the size of the ROM in order to function.  Is that something I need to figure out early on in the development of the game?  I.e., if I start developing on a standard ROM size and it turns out I need something bigger, I'm royally fucked and have to start all over?

Sorry if these questions are total amateur hour; I tried looking through the boards to see if they were already answered, didn't come up with anything. Smiley

Thanks!
Jathys
Guest
« Reply #1 on: March 27, 2009, 02:55:04 pm »

Quote from: Televangelist on March 27, 2009, 01:19:19 pm
At the very beginning of the game, you have the 'story' cutscenes explaining the background of the game... would there be any way, any way at all, to get similar functionality within the game itself via ASM hacks or other techniques?

I've got a basic concept in my head for a Super Metroid hack that's got a significant story component, but I can't think of any way within Super Metroid to convey dialogue other than the 'cutscene' system.
Currently, no.  I say currently, because I will be forcing it to do just that in the not too distant future.  Mind you, as you can tell from this extremely outdate picture, there are other ways to add dialogue:


As for your other questions, you'd probably be best to take a gander at:
http://jathys.zophar.net/supermetroid/kejardon/

As for hiring someone to do ASM... Unless you've got some huge undertakings, it'd probably be worth it to learn a bit yourself or find out if anyone would be interested in helping out for free (which some people may do if they see progress in your game and decide that it's good enough that they want to put the effort in).
GenoBlast
Guest
« Reply #2 on: March 27, 2009, 02:55:28 pm »

Your name is awesome. :laugh:

Quote from: Televangelist on March 27, 2009, 01:19:19 pm
At the very beginning of the game, you have the 'story' cutscenes explaining the background of the game... would there be any way, any way at all, to get similar functionality within the game itself via ASM hacks or other techniques?
I think it would be relatively easy, since the routines are already there. It would require ASM, but probably nothing major.

Quote from: Televangelist on March 27, 2009, 01:19:19 pm
I'm relatively new to ROMHacking (though I do have a general background in scripting, OOP, and things like that), and so I don't still have a clear sense of what the 'hard' limits are, as opposed to the simply 'hard to do' limits.
Basically, everything is a "hard to do" limit, as long as it doesn't require fancy 3D graphics, too many colors, or CD/mp3/whatever audio. There are other limits, too, notably anything that uses too much RAM or processing power (e.g. 7-zip compression is not likely to work well on the SNES)

Quote from: Televangelist on March 27, 2009, 01:19:19 pm
Also, a question along similar lines for Super Metroid; Is it possible to modify the properties of one of the weapons to allow it to dissolve certain blocks on contact?  I.e. equipping the plasma beam allows you to melt 'super bomb' blocks by shooting them?
Yes. I don't know anything about Super Metroid's engine, but it sounds like a simple hex hack to me (Of course, if the programmers hate you, it might be much more difficult).

Quote from: Televangelist on March 27, 2009, 01:19:19 pm
Finally, I know that you can set things to 'disappear' when viewed by the X-ray scope, by putting them in a specific layer.  Is there any way to make something *appear* when you move the X-Ray scope over it?  Hidden messages, etc. that only appear when you use the scope, for instance?
Is there a way? Yes. Do I know how? No. Tongue This will probably be an ASM hack, because as far as I remember, this wasn't in the original game.

Quote from: Televangelist on March 27, 2009, 01:19:19 pm
Also, is there anyone who does ASM hacking on assignment for a nominal fee?  I.e., if I get my hack all laid out with SMILE, but I need a few ASM hacks to make everything work the way I'd like, people would be willing to help out in exchange for cash?
No.

Quote from: Televangelist on March 27, 2009, 01:19:19 pm
And my final question:  A lot of SNES hacks seem to expand the size of the ROM in order to function.  Is that something I need to figure out early on in the development of the game?  I.e., if I start developing on a standard ROM size and it turns out I need something bigger, I'm royally fucked and have to start all over?
I'll have to let someone answer this, because I have no idea.

Quote from: Televangelist on March 27, 2009, 01:19:19 pm
Sorry if these questions are total amateur hour; I tried looking through the boards to see if they were already answered, didn't come up with anything. Smiley
Well, you get bonus points because the things you're asking for are actually possible. Most people ask for something outrageous, whether it's just impossible (e.g. I want to make a HD Zelda hack! With OC ReMixes for music!) or jsut plain not likely to ever happen (e.g. I want to hack Chrono Trigger to use Chrono Cross's battle system!).
Tauwasser
Guest
« Reply #3 on: March 27, 2009, 03:06:37 pm »

Quote from: Televangelist on March 27, 2009, 01:19:19 pm
Also, is there anyone who does ASM hacking on assignment for a nominal fee?  I.e., if I get my hack all laid out with SMILE, but I need a few ASM hacks to make everything work the way I'd like, people would be willing to help out in exchange for cash?

This is usually not well-received within this community. People really help each other out if they feel like it or if they see that the project is serious but just lacks this tiny edit etc. But taking money for this is generally discouraged and we don't like it around here. It's basically one step away from asking if somebody made you the hack for money when you explain your concept to them...

Other than that, there are some talented Super Metroid hackers around here, some of them might tell you more about that. Also, "hard" limits are usually "hard to do" limits. Everything else is a hardware limitation and those can only very cleverly seemingly be overcome. With enough patience, endurance and masochism, you can do anything you like with that rom.

cYa,

Tauwasser
Televangelist
Guest
« Reply #4 on: March 28, 2009, 12:40:57 am »

Thanks for all the replies. Smiley  I've got a couple more questions, now:

1.  Is there any way to get myself into trouble if I do all the world-building, sprite replacements, etc. in the beginning, and then worry about ASM at the end?  I don't know to what extent these locations on the ROM overlap, and messing with the 'normal' stuff early on means ASM hacks won't work when I actually try them.

Is there a general 'best practice' established for ROM hackers?  ASM first, then map editing w/ established tools?  Or vice versa?

I'm really hoping I can just ,map/sprite edit to my heart's content, and worry about ASM once I've got something legitimate to show.

And apologies about the payment question, didn't realize it touched a nerve (or that anybody would be willing to work for free, which is always nice!).  To the extent I deal with programmers in daily life, it's exactly the opposite situation; they're insulted if they feel you want them to give away their talents for free, even if they believe in your project.  I guess it's different when it's about a hobby? Smiley  Either way, I'm planning to do everything I can by myself up until the point -- very far off in the future, if ever -- where I've done everything I can do without help and need an experienced hand.



Okay, last question, I promise, and on the similar theme of "knowing landmines to avoid before I hit them"  -- if I want to do a 'Zelda Lost Woods' style puzzle in Super Metroid (or 2, or 3, or 4), like Drewseph did in Metroid Redesign, does that require a lot of pre-planning in terms of leaving large swathes of the map open, or something like that?  Or is it just simple ASM once you know what you're doing?  (And I know that normally, multiple puzzles like that would be annoying to the player for no real purpose.  But it's the only way I can think of in Metroid to add a 'gating' mechanism, an area where outside knowledge is required to pass -- and that's necessary for other things I'm thinking of...)
Kejardon
Guest
« Reply #5 on: March 28, 2009, 01:33:36 am »

Quote from: Televangelist on March 28, 2009, 12:40:57 am
1.  Is there any way to get myself into trouble if I do all the world-building, sprite replacements, etc. in the beginning, and then worry about ASM at the end?  I don't know to what extent these locations on the ROM overlap, and messing with the 'normal' stuff early on means ASM hacks won't work when I actually try them.
Not really. There are often multiple ways of doing things, and some things are better to do with ASM, other things are better to do without. But it's uncommon enough that you don't really have to worry about doing something one way and causing a serious roadblock later. Might end up being a headache later, but generally not a serious roadblock.
Data and code is put in the ROM wherever it fits, for the most part. The SNES is very free with mapping stuff, there's only very minor limitations with LoRom (which Super Metroid uses) in banks C0-FF, but the only stuff in C0-FF is compressed room data or music data, neither of which you'd have to worry about since the programming for those is complete and there's not really any need to change the programming. There's also plenty of free space in banks 80-BF so you can probably fit anything you need there.
Free space is at the ends of banks, and is easily noticed because it's a LOT of FF's in a row.

Quote
Is there a general 'best practice' established for ROM hackers?  ASM first, then map editing w/ established tools?  Or vice versa?
Nope. Whichever works best for you creatively and practically.

Quote
Okay, last question, I promise, and on the similar theme of "knowing landmines to avoid before I hit them"  -- if I want to do a 'Zelda Lost Woods' style puzzle in Super Metroid (or 2, or 3, or 4), like Drewseph did in Metroid Redesign, does that require a lot of pre-planning in terms of leaving large swathes of the map open, or something like that?  Or is it just simple ASM once you know what you're doing?  (And I know that normally, multiple puzzles like that would be annoying to the player for no real purpose.  But it's the only way I can think of in Metroid to add a 'gating' mechanism, an area where outside knowledge is required to pass -- and that's necessary for other things I'm thinking of...)
That used a quirk of the scrolling to work, and was fairly limited in what it could actually do. It was done by teleporting Samus to a different screen when she crossed a certain line, and had to teleport Samus a multiple of 2 screens horizontally and a multiple of 1 screen vertically, and the destination screen had to be essentially the same as the source screen (changes in the tiles would not be visually updated until they were scrolled off screen and back on). Drew designed the room around that limitation (it's easy to notice if you're looking for it).
If you don't mind using doors though, you can achieve the same sort of effect VERY easily and with no significant limitations. Super Metroid doesn't find rooms from Samus's position on the map; instead, each room contains pointers to the connected rooms, which can be anywhere on the map.

Quote from: Televangelist on March 27, 2009, 01:19:19 pm
At the very beginning of the game, you have the 'story' cutscenes explaining the background of the game... would there be any way, any way at all, to get similar functionality within the game itself via ASM hacks or other techniques?

I've got a basic concept in my head for a Super Metroid hack that's got a significant story component, but I can't think of any way within Super Metroid to convey dialogue other than the 'cutscene' system.
As Jathys said, it's possible although there's no easy way built in at the moment.
Depending on how far you want to take it there's not really a limit on what you can do though. You could make a whole logbook if you really want. Of course, that's a LOT of work.

Quote
Also, a question along similar lines for Super Metroid; Is it possible to modify the properties of one of the weapons to allow it to dissolve certain blocks on contact?  I.e. equipping the plasma beam allows you to melt 'super bomb' blocks by shooting them?  I know that Metroid Redesign seriously messed with the beam data, I'm wondering what can be done along those lines.
Easily. It's actually done entirely inside of the block data. What you'd want to do is probably have the block type/BTS create a PLM on projectile collision, have the PLM setup check the collision type and delete itself if it wasn't a plasma beam, and have the PLM animation break the block.
You probably won't understand almost anything I said there, though. You'll need to study both assembly and how Super Metroid works.

Quote
Finally, I know that you can set things to 'disappear' when viewed by the X-ray scope, by putting them in a specific layer.  Is there any way to make something *appear* when you move the X-Ray scope over it?  Hidden messages, etc. that only appear when you use the scope, for instance?
I actually have a document on this, I think!
X-ray scope is horribly buggy though and I'm honestly not even going to deal with it personally. But you can control what blocktypes appear as when you x-ray them. Fitting a message into blocks though... I don't think you'd be able to really pull that off very easily. You'd only be able to make blocks appear as other blocks when you x-ray over them, and so you'd have to fit the graphics for the text into the block graphics. Or do something entirely different with assembly. If you want hidden messages you'll probably want to look into programming message boxes.

Quote
And my final question:  A lot of SNES hacks seem to expand the size of the ROM in order to function.  Is that something I need to figure out early on in the development of the game?  I.e., if I start developing on a standard ROM size and it turns out I need something bigger, I'm royally fucked and have to start all over?
Editing the size is really trivial. You just change the size and change one byte in the internal header (The header is located at 80:FFC0... I don't remember what byte it is you'd have to change though). For Super Metroid the size of the ROM is only a concern if you're adding a lot of rooms to the game, at which point you'll probably be more concerned about fitting stuff like rooms' enemy population where it's supposed to go.

Quote
Also, is there anyone who does ASM hacking on assignment for a nominal fee?  I.e., if I get my hack all laid out with SMILE, but I need a few ASM hacks to make everything work the way I'd like, people would be willing to help out in exchange for cash?
Haha... this is actually the second time I've had an offer to do Super Metroid assembly for money. XD I have hardly enough free time for myself to do commissions, even if I decided to actually program for money.
Televangelist
Guest
« Reply #6 on: March 28, 2009, 03:34:19 am »

Thanks for that, Kejardon!

Another question that popped into my head: Is the switch between Samus' suits a full sprite switch, or merely a palette swap?

As in, could you edit one of the suits to look completely different if you wanted to?  Looking at the sprite sheet, it's not immediately obvious to me; though it seems like the Gravity and Varia suits could be pallette swaps, independent of the normal suit.

Is it hard to change the sprites of a specified object mid-game, in general?  I.e., if you wanted a trigger halfway through the game that made Samus start running around with her helmet off, essentially a different sprite... could you?

Kejardon
Guest
« Reply #7 on: March 28, 2009, 04:18:17 am »

Quote from: Televangelist on March 28, 2009, 03:34:19 am
Another question that popped into my head: Is the switch between Samus' suits a full sprite switch, or merely a palette swap?
Palette swap. There is one... hack, for lack of a better term and in the literal programming sense, that actually chooses a different sprite when Samus is facing forward if she has either suit equipped. But really it's just a palette swap.

Quote
As in, could you edit one of the suits to look completely different if you wanted to?  Looking at the sprite sheet, it's not immediately obvious to me; though it seems like the Gravity and Varia suits could be pallette swaps, independent of the normal suit.
It wouldn't be too hard, I don't think. You'd have to duplicate some tables, and then change the parts you want to be different, and add appropriate graphics. It would definitely be a good bit of work though.

Quote
Is it hard to change the sprites of a specified object mid-game, in general?  I.e., if you wanted a trigger halfway through the game that made Samus start running around with her helmet off, essentially a different sprite... could you?
Ummmm. In general, yes. As I mentioned, it's possible, but it would be a good bit of work. Definitely not the kind of hack you'd want to try when you're learning assembly.
Pages: [1]  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC