News:

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

Main Menu

Super Metroid: Archaic

Started by CrAzY, August 15, 2016, 03:38:43 PM

Previous topic - Next topic

CrAzY

Super Metroid : Archaic

This rom hack is focused on re/implementing every known element that was cut from Super Metroid. Think of it as bringing the game back to a more unfinished state, as well, as I remove some polish from the game to bring it back to a more beta-like state.

Progress :
Level data : 80%
Weaponry : 85%
PLM : 35%
Game UI : 65%
Scenery GFX : 15%
Enemy GFX: 5%
CRE GFX : 5%
Extras :
Spider Ball : 0%
Nude Death : 90%
Equipment @ Ceres : 0%
Music & SFX : 0%


Read my thread here that dissects every piece of pre-release material that can be found for Super Metroid. This is what I use as a guideline on what I want to accomplish for this hack.
http://forum.metroidconstruction.com/index.php/topic,3158.0.html

Pictures/Videos
[spoiler]

















https://youtu.be/5KMt8RBDYdE
[/spoiler]

Random Tidbits
[spoiler]
HEX CHANGES
-------------------------------------

- Title Screen Ver. 2.00 (making it show up)
5A0E3 - 03 81 to 26 86
5A0E9 - 03 81 to 26 86

- Speed Booster While Morph Balled With Spring Ball Powerup
8054E - FF to 0F
81775 - FF to 0F

- No Screenshake when Super Missiles Strike Enemies
1021E4 - 1E to 00
101CB2 - 1E to 00

- Map Screen Smooth Scroll
11297 - 85 to C6
112C6 - 85 to E6
112D3 - 85 to C6
112E0 - 85 to E6

- Morphing Ball Item Pickup Text Changed To Maru Mari
28D50
========
4E 4E EC E0 F1 F4 4E EC E0 F1 E8 4E 4E 4E
"     M  A  R  U     M  A  R  I          "

- Changing the unused "Ver. 2.00" Text To Somethin Else
6062B 60635 60630
  2     0     0

- Energy Value numerical digits tilemaps rearranged to point to new italic font (below)
1DBF - 1DD1   -  09 to 45, 00 to 3C, 01 to 3D, 02 to 3E, 03 to 3F, 04 to 40, 05 to 41, 06 to 42, 07 to 43, 08 to 44

- Reserve Tank bottom arrow removed
(While Highlighted Yellow)
1993 - 33 BC 46 BC to 0F 2C 0F 2C
(When Reserve Is Empty)
199F - 33 AC 46 AC to 0F 2C 0F 2C

- Added 3rd Digit To Super Missiles // UNDONE FOR NOW
1B1A
1C34
20 98 9D to 20 78 9D

- Added 3rd Digit To Health Value
1B0C - 20 98 9D to 20 78 9D

- Moved Health Value Over To The Left (otherwise, it would draw over the reserve icon)
1BF4 - 8C to 8A

- Golden Standing Chozo Works Anywhere
25181 - 83 to 08
A1149 - 2F 86 to DA D6

- Golden Standing Chozo Plug Removal X/Y
15679D - 0C 1D to 0C 1F
251DA - 0C 1D to 0C 1F

- Golden Standing Chozo Item Requirement Changed To Morph Ball
25193 - 00 02 to 04 00

- Electrical Outlet Health in Draygon room (HASNT BEEN DONE YET!!!!!)
25CF2
25DCD
03 to 02

- Make It Possible To Jump Out Of Quicksand Without Gravity Suit
2348C
02 to 00
234BD
01 to 00

PATCHES
--------------------------------------------------

- Stoke Fix - Kejardon
- Reflec Fix - Kejardon
- Long Beam - JAM
- Scrolling Sky Fix v2 - JAM
- Map Save Load - Scyzer
- Event Tile - Squishy_ichigo


GFX CHANGES
--------------------------------------------------

- Energy text modified to one of the other 3 variants
D3200 in TLP

- Old "Italic" Number set was copied over the seconary unused set of numbers
D3200 in TLP

- Morphing Ball Samus screen text change to Maru Mari
1B1A00 in TLP

- Samus & Map text for pause screen slightly modified to look crappier
1B1A00 in TLP

- Map Icons for Bosses/Missile Recharge/Energy Recharge changed back to beta letters (B, M, E) as opposed to icons
1B1A00 in TLP


GFX OTHER
---------------------------------------------------

- Title Screen Graphics edited to remove Trademark, change Copyright to 1993 using SMILE and YY-CHR

- Metroid Holding Tank on Title Screen doesn't extend into the ground as it did in retail

- Removed Saliva from Monster Statue before Kraid's Hideout

- Changed Green Box Tile, Spike Tile, and Purple Eye Tile for Kraid's Hideout

- Samus Nude Death (too nude, as of now). I believe it was raw uncompressed graphics, so probably edited with TLP.

[/spoiler]

What truly sparked me to pick this up again was the RF release of SMILE. Every other SMILE would never let me import any graphics I edited, claiming it was too big and would overwrite data. RF worked perfect for this.

Steel Sparkle

This looks like it could be interesting.

The Monster of Surrealton

This is already looking amazing.


CrAzY

Thank you. Got a lot of work done yesterday. . . .

- Started work on nude death sprite
- Worked more on the title screen (1994 to 1993, removed TM, small misc.)
- Added a room to Tourian escape
- Added doors to various Maridian rooms
- Editing more of Kraid's Hideout tiles
- Map cleanup


I plan to have room states figured out within the coming weeks. I will be adding alternate room states to many of the original rooms in Super Metroid now that the Tourian Escape has multiple paths to choose. A good chunk of Pink Brinstar and Red Brinstar should now have alternate states that show the rooms exploding, and maybe a palette change.

I still plan on finishing the Wrecked Ship last, since it will require me to figure out the Chozo hand PLM that lowers the water in that room and triggers state changes.

My process -
- Room resizing
- Room building
- Scroll Data
- Door Data
- FX
- PLM Data
- Enemy Data

Adding PLM's and Enemies is usually my last step of creating a room, so as of right now, many rooms are just awaiting to be thrown PLM's and enemies. Pretty much every room change that was shown in official screenshots has been finished, so it will be just me carefully thinking out whatever other changes I decide to make.

Steel Sparkle

Good luck with it Crazy. Im for sure gonna try it when it's done. keep up the good work.

PHOSPHOTiDYL

Care to share some info on how you got the 5 reserve tanks? Like what bank I should be looking in, is it a simple hex tweak or do I need some coding??

TheAnonymousUser

Quote from: PHOSPHOTiDYL on August 19, 2016, 11:19:21 AM
Care to share some info on how you got the 5 reserve tanks? Like what bank I should be looking in, is it a simple hex tweak or do I need some coding??

Judging by the screenshot, that's just a simple case of placing another reserve tank in the game somewhere. Even though the status screen only shows room for 4 reserve tanks, you can collect more than that (not sure on the cap, though.) As for redrawing the status screen to show there are more than 4 reserves, that might require some coding? (I wouldn't know for sure, I don't asm)

Jordan5

The status screen handles 5 without any tweaking of anything, try placing them in the landing site of a vanilla rom and you'll see the status screen will look like the screenshot. More than 5, however, would require some work.

CrAzY

5 reserve tanks does indeed work with the game normally, hell, even way more. The only thing that could use some tweaking (for 5 reserves) would be to draw the unfilled rectangle in the equipment screen for the 5th tank (the filled rectangle appears automatically when you reach that amount), and maybe moving over the digits that tell you the amount you have total over to the right a tiny bit. I plan on doing both of those things, if I can figure it out. I think it will require actual ASM rather than some simple HEX tweaks. (well, moving the digits over shouldn't be too hard. . . .)

I also would like to add a third digit to your health value that shows on the in-game HUD. Old screenshots showed that Samus health was always something like "Energy 099." My guess is that the first digit was planned to roll over with every energy tank (1 energy tank = 199 health, 2 = 299, etc.), but they never implemented it in time, and just cut it. Hopefully some HEX edits can get that to work (like i did for triple digit super missiles.)

Final thing would be to get the "SAMUS" and "MAP" text to both be drawn at the same time on the pause screen, rather than one or the other. I am guessing that would be a simple HEX tweak to to stop it hiding them.

If anyone knows how to do any of those already, I am all ears. Otherwise, I will probably save that for towards the end. That's all I need HUD/UI wise, I believe.

PHOSPHOTiDYL

So the reserve squares on the equip screen are drawn like this.
╔ ═ ═
╚ ═ ═
Then an extra tile for this.


There's enough room for a 5th box, however using the extra tile to close it will take up space for the reserve amount.
Goto $1B6B00, the FC 1C are the reserve squares, the FE 3C is the extra tile, then 01 28 01 28 01 28 for the amount.
I'm just gona redraw the boxes for now. That extra tile was what I was looking for. Thanks for your help. :)

I'll figure out the flashing tile size eventually...

Smiley

Quote from: CrAzY on August 19, 2016, 03:31:47 PM
I also would like to add a third digit to your health value that shows on the in-game HUD.

This one's easy. At $80:9BF8 - 20 98 9D to 20 78 9D. This will make the HUD show three digits for energy, however the first digit will always be 0 without further modifications to the routine.
The routine is at $80:9B44.

benox50

Liking the concept of that, I love beta stuff.

Btw, how can you edit the title screen gameplay demo sequences ?

Quote58

Quote from: CrAzY on August 19, 2016, 03:31:47 PM
5 reserve tanks does indeed work with the game normally, hell, even way more. The only thing that could use some tweaking (for 5 reserves) would be to draw the unfilled rectangle in the equipment screen for the 5th tank (the filled rectangle appears automatically when you reach that amount), and maybe moving over the digits that tell you the amount you have total over to the right a tiny bit. I plan on doing both of those things, if I can figure it out. I think it will require actual ASM rather than some simple HEX tweaks. (well, moving the digits over shouldn't be too hard. . . .)

I also would like to add a third digit to your health value that shows on the in-game HUD. Old screenshots showed that Samus health was always something like "Energy 099." My guess is that the first digit was planned to roll over with every energy tank (1 energy tank = 199 health, 2 = 299, etc.), but they never implemented it in time, and just cut it. Hopefully some HEX edits can get that to work (like i did for triple digit super missiles.)

Final thing would be to get the "SAMUS" and "MAP" text to both be drawn at the same time on the pause screen, rather than one or the other. I am guessing that would be a simple HEX tweak to to stop it hiding them.

If anyone knows how to do any of those already, I am all ears. Otherwise, I will probably save that for towards the end. That's all I need HUD/UI wise, I believe.

I'm not sure why you seem to think everything can be done with hex edits but I'll go over the distinction quickly. Hex edits are ASM. Every hex digit you change represents either an opcode or a value in ASM. For some things, you only want to change the value, so you just change the hex because for people who don't use asm files, it's easier that way. Some hex tweaks require a number of changes that replace opcodes, and those are sometimes small enough that it's fine to not explicitly say what the new digits represent. However very quickly it gets to a point where it doesn't really make sense to not write out the code instead. For example, changing the location of those reserve tank numbers, that'd be a hex tweak because all you have to do is find their x/y value in a table and edit 2 bytes, no opcodes. Adding a third digit to the health counter can be given to you in hex edits, but it makes much more sense to just give you the revised code instead, so you know what it's doing if you want to change anything.

The SAMUS/MAP part is really confusing to me, I don't understand what it is you want it to do. Like do you want the SAMUS to be drawn on top of the MAP? That would look terrible.
This would not be a matter of changing code to have them not be hidden, because they're not really being hidden. Essentially you have 2 layers of tiles being drawn in the pause menu, and you could have them draw over each other for that text if you want, but normally they replace each other before the screen is drawn for each menu.

So, do you want them like side by side or something?





Jordan5

I assume he means in the bottom left and right corners, it says either 'SAMUS' on the R button to go to the status screen or 'MAP' on the L button to go back to the map :^_^:

CrAzY

#15
Thanks for the explanation, but it is not needed, as I know the difference between a simple HEX edit and full-blown ASM. In the same way I would equate it to someone opening a C++ file to tweak a single variable as not being actual coding, where writing full functions and creating variables would be. Sorry if my terminology is bothersome to you.

I'm not sure why you think I would want the "Samus" and "Map" text to be drawn on top of each other, as nowhere do I say anything coming close to that. I want them where they are normally, just drawn at the same time. As in, no matter what pause menu you are in, the text for "Samus" and "Map" is always displayed. I don't know how to say it any clearer than that. Jordan5 assumed correctly.

Room states seem easy enough. Still messing about with it.  :razz:

Quote from: benox50 on August 23, 2016, 10:41:59 AM
Liking the concept of that, I love beta stuff.

Btw, how can you edit the title screen gameplay demo sequences ?

I didn't, actually. It is just the power of video editing. Not to mention, I don't believe it is possible for Samus to do a door transition during the demo sequences in the game, as it will just give the player control of Samus instead of continuing on with the demo.
Half of my demo sequences are broken due to the changes I made currently. I'd love to know how to change them a bit. JAM mentioned a long time ago on some thread that he had found the data for it and knew how to edit it, and offered to help for someones hack. Not sure if that ever materialized, as I have never seen a hack with custom demonstrations yet.


CrAzY

I have been adding a ton of room states / new FX / PLMs to existing and newly created rooms. The game now has its escape route pretty much finalized, besides some enemy placement. I also added in an alternate escape route, which is more challenging, but cooler looking.

I have utilized the "black" Brinstar tileset for one of the routes. Looks great, & I am still fairly confident that my new "normal" escape route is what was originally intended by the developers.

The way I changed certain rooms into my new ones is also quite eerie, because when you scroll through the room list now, the rooms "line up" in Brinstar in a much more orderly fashion compared to retail. I already knew that would happen when I moved the statue room and the hallway before it into Brinstar, but the rooms I had to convert to connect to them also follow. Maybe it was some self fulfilled prophecy of mine, who knows, ha.

Anyway, I have two questions that I don't want to make a new topic in Engine works for that I hope someone will see.

I have added room states to the Wrecked Ship in preparation for a new event that I have yet to create. JAM had messaged me before he disappeared saying that he had the same idea for the states of the ship as me, and that he would make all of the room states for me, as well as fix up the unused PLM that he found that works with the standing statue in the back of the ship that holds an Energy Tank.

The only thing I need done for the ship is to make the event and get that PLM working. Here is a post from him speaking of it (from way before we even talked about it), although it doesn't give much on details.

Quote from: JAM on April 12, 2010, 10:54:04 PM


  • And also, I've accidently found unused PLM that works almost the same as PLM D6DA (according to it's code). It lowers the liquid, sets event 01 and do something with floor. I guess, this PLM is planned to work with strange standing statue in Wrecked Ship that holds Energy Tank. What should happens after that? A little levitation of Wrecked Ship that allows you pass further? Or it passageway down to another part of Wrecked Ship (as it was done in Lower Norfair) or just to some item?

Can anyone help me with this? I am curious if it is just a single PLM, because the Norfair standing Chozo has 3(?) associated with it. I am curious as to what this PLM really does as well, and if it lowers the water all the way, and what it does with the floor? I see no mention of this PLM in any of the documentation that I could find, only JAM talking about it.

My last resort if I can't figure out how to get that to work is to just get rid of the lower Norfair Chozo, and move it to the Wrecked Ship only. Id much rather have both, though.

Also, one other strange thing that I stumbled on that I don't fully understand. It is from the Bank 8F Disassembly document.

;;; Layer1_2: spawn pre Phantoon room enemy projectile ;;;
{
; Room 7CC6F. Pre Phantoon room
; Spawns an enemy projectile... have not determined what it does... clears $0923
$8FC8C8 A0 B0 A3    LDY #$A3B0
$8FC8CB 22 97 80 86 JSL $868097[$86:8097]
$8FC8CF 60          RTS


What the hell is this talking about?

Thanks for listening to my ramblings. I will finish this project, dammit.

Smiley

That routine just spawns a projectile, which then stores 0 to $0923 for $20 frames, then deletes itself. I looked at it, that's literally all it does.

7E:0923 - 7E:0924    BG2 Y scroll offset due to room transitions (Translates between Layer 2 scroll and BG2 scroll)

In practice it moves the background vertically to 0.

CrAzY

Thank you for all of your informative posts, SMILEuser.

I have a question. Has anyone ever successfully moved the standing golden Chozo statue that lowers the lava in lower Norfair to another room? If so, what was the process? Getting it to work properly in the Wrecked Ship room is turning out to be a real pain.

If I use these tweaks. . . .
QuotePLM data:
25181 - 83 to 08
A1149 - 2F 86 to DA D6
Norfair Chozo statue To make golden Chozo works in every area. (Found by JAM & Kej)

I can get the Chozo statue to grab me in the Wrecked Ship, but then nothing happens. I assume this documentation is the key (http://www.metroidconstruction.com/SMMM/chozo_statue_disassembly.txt), but I have no idea what the conflict is. Most of the room is similar to the lower Norfair room. I don't think the room size is an issue.
If I set the event to have already been triggered, the water in the room is gone and a block on the very bottom has been removed, so that part of the code is still functioning correctly.

Anyway, the hack is coming along very nicely. I have learned many in's and outs of the engine on my journey, so I've been cleaning up some of my earlier room edits, & tweaking scroll plms. The Wrecked Ship is fully functional, despite the lack of a working Chozo (as of now, it just changes the event when you walk a tile above the hand.)

I have been working on Maridia, and its been a real bitch getting a no gravity suit run to be possible in a more "traditional" way. Letting the player escape Draygon's room after getting the Space Jump is proving tricky. I could have the water disappear from the room, but I don't like that idea. What I ended up doing was utilizing the Diagonal Turrets as a means to grapple swing your way across. Its dangerous and really hard to pull off, but I guess it'll have to do. Every other room accommodates no gravity suit, though.  :nod: Maridian waterfalls now push Samus downwards, as I believe they were at one time intended to. If Spiderball ever becomes a thing (yeah right), it will make it impossible to spider your way to Draygon.

To be honest, I am not sure where to go from here. I like the idea of changing other rooms to add more spice to the hack, but it would be all free-hand imagination from here, which isn't too much of a problem, but I am not sure how much I want this to deviate from what Super Metroid became. Might have to go back to the drawing board.

Quietus

Obvious statue question first: Have you also changed the item that triggers the statue?
Quote25193 - 00 02 to ?? ??
Changes which item is needed to activate the lower Norfair Chozo statue (the one that lowers the room's acid). 00 02 = space jump (default), 04 00 = morph ball, etc. (found by JAM)
I think if you don't have the item, the statue grabs you, then lets you go again, thus not triggering the event.

CrAzY

I have not changed that yet, although I plan to. I gotta say though, I don't think that has anything to do with it. The statue grabs me, which I am under the impression doesn't happen unless you meet the item requirement. I do not believe you are correct about the statue grabbing you and releasing you if you don't have the item. Instead, it just doesn't do anything at all.

Also, I am testing with the same values I tested the retail vanilla Golden Chozo room in that works perfectly, so it isn't due to any kind of item-check, I don't believe.

The statue grabs me, then nothing else happens. The code must go into a loop waiting for some condition to be met, I am just not sure what else I need to change.

Quietus

Hmm, you're right about the statue. Too much getting grabbed in Redesign scrambling my brain. :O_o:

Smiley

If you want the statue to lower the liquid level, you have to set the Surface Start and Surface New values in SMILE. Surface Speed and Surface Delay should be 0000, as the statue sets those two values when it grabs you. You may also have to set the statue's Speed2 to 0002.

CrAzY

Holy shit, what an amateur mistake. I don't know how I missed that. I naively assumed it was hard-coded to lower the liquid to a specific level when it also set the speed and delay. I could of sworn I checked that. . . . Thank you so very much SMILEuser!  :^_^:

I'll be kicking myself on that one for awhile.  :blush:

Genesis

I'm not really sure where you were going with that first picture lol. The hack itself looks pretty good though and the spider ball idea would be a nice feature. Keep up the good work