News:

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

Main Menu

Editing Tutorial - Advanced Screen Scrolling Transitions

Started by Grimlock, August 12, 2014, 05:47:24 PM

Previous topic - Next topic

Grimlock

Advanced Screen Scrolling Transition Technique

This tutorial will show you how to add and use scrolling transitions in unexpected and unique ways in your level designs.  These transitions do not require the traditional bubble doors but can be used freely to introduce alternate routes.


Requires the following actions:
Structure editing in Editroid
Graphics editing with Tile Layer pro or equivalent
Minor Hex editing

Tutorial assumes the following:
1. You know how to create and edit structures in Editroid
2. You already have a basic understanding of a tile editing application such as Tile Layer Pro.
3. You already have a basic understanding of a HEX editing application such as FCEUX.
(Information regarding Editroid structure creation, tile editing, and HEX editing are available from other sources)

Step 1:
[spoiler]Edit tile set to allow additional door tiles:
(Although this is not required it is highly recommended)

This text was copied from the following location
http://wiki.metroidconstruction.com/doku.php?id=metroid:asm_hacks#change_starting_area

"Using a hex editor go to $1E817 ($3E817 in an expanded ROM), and change
C9 A0 F0 06 C9 A1 D0 04
to
C9 (A0 + normal doorway tiles) 90 06 C9 (A0 + normal doorway tiles + horizontal doorway tiles) B0 04
The normal doorway tiles will start at tile A0, and horizontal doorway tiles will come right after the normal doorway tiles. Since these tiles are already in use, you will need to re-arrange the tiles and fix the combos that use them."


This will add additional tiles for use in doorway structures.  For this tutorial I will be using DemickXII's Roid's hack for the screenshots as he has already made the tile adjustments required.  (The only time you would not need the additional tiles is if you plan on not using and bubble doors at all in your hack.)[/spoiler]

Step 2:
[spoiler]Create blank "door" tiles

Using a tile (graphic) altering application such as Tile Layer Pro (the one I use) locate the door tiles and edit one tile from "Door" and one from "DoorHorizontal" to pure black (typically the far left palette choice).  This will make the tiles invisible in game.

Opening the structure editor in Editroid next to the tile data in tile layer pro helps me locate the correct bank (tiles):

[/spoiler]

Step 3:
[spoiler]Create 2 new door structures:

Create a new door structure with two "combinations" or "blocks" of door tiles of a given type.  Do this for each type of door.



This is what the new scroll triggering structures will look like when you press INS (insert Key):

[/spoiler]

Step 4:
[spoiler]Create your screens you wish to apply the new scrolling technique to:



Add your new scroll triggering structures appropriately:
(You can only use these scrolling structures on the edge of a screen as shown)

[/spoiler]

The final result in game:
[spoiler](crossing over the top does not cause the horizontal scrolling to be affected)
Note that on the right you have to roll into the transition, this can be used to create a number of unique passageways
Tip: leave at least 3 blocks clear in the scrolling path (3 from the edge of the screen) so Samus is not pushed into a solid during the scrolling transition.


[/spoiler]





Grimlock

Yep, once its worked into a hack no one will look at M1 the same  :grin:

Right now I am using this technique extensively in Rogue Dawn, its amazing how much it enhances the level design and game play!

RT-55J

I've sketched out on graph paper several world designs for potential Nestroid hacks over the years, all of which depended on the old horizontal-vertical door transition limitations. All of my plans are literally obsolete at this point.

At this point I want to do a half-hack of the original just to get my feet wet and get the gears in my head rolling with this idea.


EDIT: Success!

[spoiler=Pic]

(The arrows are placeholder graphics.)[/spoiler]

The effect works quite well, although it would be nicer if the screen-scrolling transition was faster.

Now to hit the graph paper and make some plans.

Grimlock

#4
Congratulations on getting the technique to work!  It's pretty amazing the options it opens up to you when you start using it.  The example that I used is just one way to use this method, you could also apply it to the ceiling and change the scrolling to vertical there.  Or you could have a Y at the end of a tunnel, top path goes vertical, bottom path goes horizontal.  There are so many configurations beyond even those.

I'll work up some more interesting usage examples/ideas soon and post them. 

I agree with you regarding the speed of the scroll transitions.  I mentioned it to Snarfblam since he's the resident metroid engine guru.  Maybe he can cook up a solution for the scroll speed.  I'm just a graphics and level design guy so code editing causes my brain to revolt and shut down, luckily hex editing isn't too hard (maybe a simple hex value that specifies the scroll speed can be changed)  If a scroll transition speed solution is found I'll update this tutorial, it really would complete this technique.

I like your idea with using the place holder graphics during development of you hack.  It will make it easy to place and check if you have the structures placed correctly.

Stinktier

#5
Wow, this is incredible! And saves me from doing a lot of boring workarounds, too. I've had about a half year of not working on my mod as it got too repetive despite some few tweaks and exploits. But this is _literary_ a game changer. I'll be migrating the project from my old netbook right away. Thank you so much for figuring this one out. Particularily, it possibly solves a room where different ball pipes were supposed to lead to different scrolling. Boring workarounds, be gone!

Flower

Hello everyone,

I am unsure how to interpret the line "C9 (A0 + normal doorway tiles) 90 06 C9 (A0 + normal doorway tiles + horizontal doorway tiles) B0 04"
I tried to change to C9 A1 90 06 C9 A2 B0 04 (i guess i just added +1 for one additional piece for new doorway tiles like in this tutorial), but with no success, but having only green doors (the ones that were already in the game), thus deleting the yellow ones (leading to horizontal).
Can anyone help me?
With other words : how do I change the line for having two additional tiles (one for horizontal and one for vertical doorway made of air like in this tutorial)?

Stinktier

Flower,

that's strange. From memory, i think that should give you two normal door tiles and one horizontal. Have you edited your door metatiles in editroid, so they properly match these new circumstances? Chances are you need to redo the horizontal one.

Flower

No I did use the hex editor of fceux emulator. Do you think that makes a difference??
Maybe a working example for that can be posted here, or maybe a .asm/.ips-patch. That would be great!
It's such an enrichment in Metroid Hacking! Thanks Grim for posting it.

Stinktier

#9
no, that's 100% fine! But using a hex editor to edit the properties of the tiles is only the first step.

You then need to also need to edit the metatiles (that is, the 2 x 2 tile blocks) so they contain the right tiles, and also edit the doorway structures themselves to contain the right metatiles. This is most easily achived in snarfblam's Editroid, which has a feature called "structure editor".

For clarity:
-A tile (or rather, property associated with a tile) is what you've just edited (if i understand your situation).
-A metatile is a small 4 cell table (2x2) which points to up to four tiles, which make up a "block" on screen. Your doorway metatiles most probably point to the wrong door tile now that the tile properties themselves have been altered, and must in that case be edited.
-A structure, such as a doorway, points to metatiles. The faulty structure must probably be edited, too, so it points to your new metatile.

I hope that helps!

Flower

Hey Stinktier,

i knew that before and was already working with Editroid 3.7. I could figure out how to do it. Thanks for your help!

i.e. for one more door tile for each horizontal and vertical door as is in the original Rom, you need to change the line to:
C9 A1 90 06 C9 A3 B0 04

Greetz

Odb718

Man! This is fantastic! I've used a couple of these tricks with the actual door tiles but to have them invisible would be very nice! Not only invisible but to have it look like a tube or what ever is crazy awesome.
Someone needs to release a patch with 6 new doors. 3 for each way. I think that'd get a lot of people started on some great mods.