Romhacking.net

Romhacking => Personal Projects => Topic started by: ThroughT1m3 on December 11, 2020, 01:53:01 pm

Title: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 11, 2020, 01:53:01 pm
 Hi all. For the past month and half I have been working on a Super Mario Bros hack for NES. I will provide a few screenshots, then discuss what has been changed and/or added.

(https://i.ibb.co/X8J50Hw/Screenshot-61.png) (https://imgbb.com/)

(https://i.ibb.co/7XQrQKc/Screenshot-62.png) (https://imgbb.com/)

 New Powerups:
 Getting 100 coins give a regular star that lasts a bit longer than the original game. May add other affects. You can jump off of enemies if holding down the A button like SMB 3.The game will be open world with no flagpoles. you explore the three levels to find your way to the fourth level (castle). then move on to the next world. Custom graphics. Many ASM Edits. Score has been replaced with a enemy kill counter. new instant kill munchers. Instant kill "firewall" that kills Mario unless he has the transparent powerup.

 This hack was made as an attempt to use ASM for the first time. This hack so far was created without expanding to use a different mapper. thought that will change because the STE title screen editor no longer works correctly for my game. Game needs a title screen. Will also need to add the music. I have some good ideas for the music but I tried to hack music many times and I always fail. I will figure it out somehow. Also need to figure out how to add upside down pipes. Now I am trying to figure out why the animation seems to be skipping a frame or repeating a frame. It as a animation patch that works with a unmodified ROM. I just started learning ASM so expanding the rom and adding things like upside down pipes and swappable chr banks and a new title screen is above my paygrade but it has to be done. Will give updates and more screenshots when I get more things done.

edit: Kicked shells now collect coins. Fireballs also collect coins.

edit: Skid sfx added.

Title: Re: Mario A New Day (SMB Hack)
Post by: Supergamerguy on December 11, 2020, 02:53:46 pm
The new bunny powerup is awesome! Keep up the good work! :)
Title: Re: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 11, 2020, 02:59:20 pm
The new bunny powerup is awesome! Keep up the good work! :)
Thanks! Much appreciated
Title: Re: Mario A New Day (SMB Hack)
Post by: Vanya on December 11, 2020, 07:08:01 pm
This sounds like a cool hack.
My only criticism is that needing the fire flower to climb is just weird.
Was that a design choice or it a result of some technical limitation?
Title: Re: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 11, 2020, 07:10:09 pm
This sounds like a cool hack.
My only criticism is that needing the fire flower to climb is just weird.
Was that a design choice or it a result of some technical limitation?
thank you. No, I did this because it is an exploration style Mario. the fire flower gives the ability to climb and advance further in the game. I just wanted some items to unlock certain abilities. like transparent Mario item allows Mario to pass through certain walls for example. the fire flower will not be called fire flower anyway. 
Title: Re: Mario A New Day (SMB Hack)
Post by: Googie on December 13, 2020, 09:40:15 am
I like this, it's kewl, hope to see more progress in the future. :D
Title: Re: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 13, 2020, 10:07:56 am
I like this, it's kewl, hope to see more progress in the future. :D
thanks. i been playing your hacks on real hardware for years. good to hear from you. thought it was time to make my own. anyway, i just have a few things to figure out then i can build the levels and finish the graphics. Probably have more screenshots later if i get time to work on it some more
Title: Re: Mario A New Day (SMB Hack)
Post by: Vanya on December 13, 2020, 04:05:50 pm
thank you. No, I did this because it is an exploration style Mario. the fire flower gives the ability to climb and advance further in the game. I just wanted some items to unlock certain abilities. like transparent Mario item allows Mario to pass through certain walls for example. the fire flower will not be called fire flower anyway.

Ah! I see. Interesting!
Title: Re: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 13, 2020, 04:49:22 pm
cool! I now have upside down pipes. was not as hard as I expected. now for the hard part, getting upside down plants in them.  :o

(https://i.ibb.co/VvTxnjf/Screenshot-68.png)
Title: Re: Mario A New Day (SMB Hack)
Post by: frantik on December 13, 2020, 04:51:48 pm
Some good ideas for Martriodvania-style levels with the power ups there.. sounds fun :woot!:
Title: Re: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 13, 2020, 04:54:55 pm
Some good ideas for Martriodvania-style levels with the power ups there.. sounds fun :woot!:
thank you. I absolutely love Mario Unlimited and the Deluxe version of course. been playing unlimited for years. even got in on real hardware :laugh: your work has definitely been a inspiration. :beer:
Title: Re: Mario A New Day (SMB Hack)
Post by: IcePenguin on December 13, 2020, 07:14:45 pm
I really like your ideas for this hack!  Seems very fun.  :)

Question, though, what do you plan to do with the timer?  You say we explore the first 3 levels trying to find the entrance to the castle, and a timer seems like it'd be bad for the exploration / open world you are going for.  So it made me curious what you plan for that.

Also, just a small critique, Mario's palette seems too bright in Bunny mode.  The design of the ears is great, though!  Nice job on that.   :thumbsup:  Good luck on your project, and as you learn ASM!  Looking forward to what you do next.
Title: Re: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 13, 2020, 07:29:19 pm
I really like your ideas for this hack!  Seems very fun.  :)

Question, though, what do you plan to do with the timer?  You say we explore the first 3 levels trying to find the entrance to the castle, and a timer seems like it'd be bad for the exploration / open world you are going for.  So it made me curious what you plan for that.

Also, just a small critique, Mario's palette seems too bright in Bunny mode.  The design of the ears is great, though!  Nice job on that.   :thumbsup:  Good luck on your project, and as you learn ASM!  Looking forward to what you do next.
Thank you! I appreciate the compliments and feedback. I plan on making the timer restart every time you go in a pipe and come out of pipe. Also the timer will not start at 400. maybe 600. should be plenty of time. I honestly don't think will ever be an issue. As far as the colors of  mario are concerned, I actually feel the same way. I think instead of the light grey I will go with black. I have tested that and even though he blends in during the night stages, it still looks good. I will do more on his colors later. maybe post screenshots of different colors see what others think. :beer:

(https://i.ibb.co/vYrX5bS/Screenshot-72.png) (https://i.ibb.co/N1yK6X7/Screenshot-73.png)

 I think the black Mario looks much better.


Title: Re: Mario A New Day (SMB Hack)
Post by: IcePenguin on December 13, 2020, 09:30:26 pm
Looks great!  There is a technique in art that implies an edge or shape without actually drawing it.  (called implied lines) Our brain simply interprets how it should look, even if you can't see it.  Using black for Mario looks perfectly fine even against the black background.  ;)

Edit:  If you plan to reset the timer frequently, there really is no point to keeping it, right?  Perhaps you can create something else in its place or change purpose?  Just a thought...

Edit 2: Maybe use the timer to indicate the duration of your new abilities?  That could be interesting to give ability time limits a visual cue.
Title: Re: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 13, 2020, 10:03:03 pm
Looks great!  There is a technique in art that implies an edge or shape without actually drawing it.  (called implied lines) Our brain simply interprets how it should look, even if you can't see it.  Using black for Mario looks perfectly fine even against the black background.  ;)

Edit:  If you plan to reset the timer frequently, there really is no point to keeping it, right?  Perhaps you can create something else in its place or change purpose?  Just a thought...

Edit 2: Maybe use the timer to indicate the duration of your new abilities?  That could be interesting to give ability time limits a visual cue.
yeah I was going to remove the timer but I was having trouble removing the it completely for some reason. I honestly grew tired of messing with it. But that is a great idea with power up duration. I will look into that. thank you!
Title: Re: Mario A New Day (SMB Hack)
Post by: IcePenguin on December 14, 2020, 11:10:17 am
Glad to help out!  It doesn't necessarily have to be that, but it would be good to utilize the timer in some fashion, rather than making it irrelevant.  Hopefully you figure something out!   :)
Title: Re: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 14, 2020, 11:27:11 am
Glad to help out!  It doesn't necessarily have to be that, but it would be good to utilize the timer in some fashion, rather than making it irrelevant.  Hopefully you figure something out!   :)
Speaking of which, I now have it where the timer is frozen until getting the transparent Mario power-up, then it starts to decrease. Good sign. but now I need to figure out how to get it to load the appropriate time limit, and not kill mario once reaching zero. some decent progress. Thanks for the great idea :beer:
Title: Re: Mario A New Day (SMB Hack)
Post by: IcePenguin on December 14, 2020, 11:58:18 am
Speaking of which, I now have it where the timer is frozen until getting the transparent Mario power-up, then it starts to decrease. Good sign. but now I need to figure out how to get it to load the appropriate time limit, and not kill mario once reaching zero. some decent progress. Thanks for the great idea :beer:

Awesome!  Progress is always exciting.  :P  There could be a few ways of loading the appropriate time limit.  Perhaps when the game checks Mario's current state.  I'm sure there is a byte somewhere that controls if Mario is small, bunny, transparent, etc.  You could insert some code there to look up a table of times, and load the correct time into the timer based on the the value of Mario's current state.
Title: Re: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 14, 2020, 02:53:44 pm
Awesome!  Progress is always exciting.  :P  There could be a few ways of loading the appropriate time limit.  Perhaps when the game checks Mario's current state.  I'm sure there is a byte somewhere that controls if Mario is small, bunny, transparent, etc.  You could insert some code there to look up a table of times, and load the correct time into the timer based on the the value of Mario's current state.
I got it pretty much figured out. just need to figure out how long it should last. i want the item to be somewhat generous. but not too long. Thanks again for the cool idea. :)
Title: Re: Mario A New Day (SMB Hack)
Post by: IcePenguin on December 14, 2020, 04:49:29 pm
No problem, glad you liked it.   :beer: 
Title: Re: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 15, 2020, 10:50:59 am
Kicked shells now collect coins. working on making kicked shells grow power-ups from blocks :D
Title: Re: Mario A New Day (SMB Hack)
Post by: frantik on December 17, 2020, 04:16:47 am
Speaking of which, I now have it where the timer is frozen until getting the transparent Mario power-up, then it starts to decrease. Good sign. but now I need to figure out how to get it to load the appropriate time limit, and not kill mario once reaching zero. some decent progress. Thanks for the great idea :beer:

I assume you've got doppelgangers's disassembly?  The timer routine is at
 $b74f-$b7a3 in nes memory or 0x375f - 0x37b3 in the rom file, called RunGameTimer in the disassembly.   The code to kill mario is at the end of that subroutine
Title: Re: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 17, 2020, 08:16:01 am
I assume you've got Karatorian's disassembly?  The timer routine is at
 $b74f-$b7a3 in nes memory or 0x375f - 0x37b3 in the rom file, called RunGameTimer in the disassembly.   The code to kill mario is at the end of that subroutine
Thank you. it is doppleganger's disassembly. yeah I figured it out. Now after getting the transparent mario, the timer decreases then once it reaches zero, it resets. game will have infinite time and lives. Since my game won't be using the loop command, I was able to DL the SMB2J disassembly and rip the code for the skid sound fx and rework it for SMB. Sounds cool. :)
Title: Re: Mario A New Day (SMB Hack)
Post by: frantik on December 17, 2020, 12:36:22 pm
sweet!
Title: Re: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 17, 2020, 06:56:18 pm
sweet!
Now I just have one thing to work out then I can finish the graphics. I created upside down pipes using the l pipe with the side pipe thing. So no I have to figure out how to put p plants in them. I figured just using the routine used for regular pipe plants but just mirroring them somehow. once finished with that, I can finish the graphics. after the graphics I can do the levels. Then I have to figure out two major things, expanding the rom to add a new title screen and adding animation. my animation is broken now. those to major things are gonna be tough. I got my work cut out for me  :D
 right now my animation patch goes from frame 1 to 4 then to 3 then back to 4 and 1 real fast. soooo that sucks. ha

December 21, 2020, 04:48:45 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Workin' on the level design. tough due to the type of game and power ups. working on a wall jump power-up. may or may not add it.  :)
Title: Re: Mario A New Day (SMB Hack)
Post by: frantik on December 26, 2020, 08:19:14 am
Quote
right now my animation patch goes from frame 1 to 4 then to 3 then back to 4 and 1 real fast. soooo that sucks. ha

You get this sorted out?  The easiest way is to use the game timer and some bit shifting.  And wall jump power up could lead to some cool level designs.. Mario Gaiden! 
Title: Re: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 26, 2020, 11:39:06 am
You get this sorted out?  The easiest way is to use the game timer and some bit shifting.  And wall jump power up could lead to some cool level designs.. Mario Gaiden!
I thought I had it figured out but the animation timing didn't seem very smooth and when I hit a question mark block the animation sped up like 60% then went back to normal. But I just scrapped it and transferred my game to MMC3. game works great with MMC3. Might try to find someone who can teach me how to write up a chr switching routine. Since I have more space I now have the flagpole and loop command back in my game. but doubt they ill be utilized. I got the wall jumping working but may use it in my later game(s).
Title: Re: Mario A New Day (SMB Hack)
Post by: Cyneprepou4uk on December 26, 2020, 12:21:23 pm
You've done pretty cool technical stuff, considering it's your first real hack, not some kindergartening with bytes.

I can give you a couple of tips about chr bankswitching.
Title: Re: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 26, 2020, 02:03:10 pm
You've done pretty cool technical stuff, considering it's your first real hack, not some kindergartening with bytes.

I can give you a couple of tips about chr bankswitching.
thank you. any help is appreciated. I looked into it a bit but been busy the past week. But now im ready to work on it some more
Title: Re: Mario A New Day (SMB Hack)
Post by: frantik on December 26, 2020, 02:22:35 pm
I thought I had it figured out but the animation timing didn't seem very smooth and when I hit a question mark block the animation sped up like 60% then went back to normal.

It sounds like maybe the animation routine gets called too often? I put mine in the area where the coin palette rotation was
Title: Re: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 26, 2020, 02:41:04 pm
It sounds like maybe the animation routine gets called too often? I put mine in the area where the coin palette rotation was
ahhh I see. I got learn to write a routine. I was just using a animation patch I found. it would turn the game into cnrom. but now my game is using mmc3 I should be able to write a routine. I was curious how you incorporated upside down plants in your game. i made upside down pipes by removing the data that was used to draw the l part of the l pipe. i was thinking maybe ripping the upside down pp code from 2j and trying to rework it for smb. but not sure how hard that would be as apposed to a different technique others have used. 
Title: Re: Mario A New Day (SMB Hack)
Post by: frantik on December 26, 2020, 10:33:41 pm
I changed the code for the L-shaped pipes to instead display the upside down pipes.  I also changed the tiles for the L-shaped pipes to have the upside down pipe ends.. in SMB2j they just use the same pipe end for upside down and right-side up pipes.  Then for the red piranhas I copied a patch that added them as a new enemy, but put the code where I wanted it instead of where the patch put it.  I looked for the patch but couldn't find it unfortunately
Title: Re: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 26, 2020, 10:41:48 pm
I changed the code for the L-shaped pipes to instead display the upside down pipes.  I also changed the tiles for the L-shaped pipes to have the upside down pipe ends.. in SMB2j they just use the same pipe end for upside down and right-side up pipes.  Then for the red piranhas I copied a patch that added them as a new enemy, but put the code where I wanted it instead of where the patch put it.  I looked for the patch but couldn't find it unfortunately
ok thanks I appreciate the help. I will figure it out sooner or later. right now I am messing with making the coins do something different then just giving a star. Maybe reach a coin limit then by pressing select and the a button at the same time it activates a star you can toggle on and off until the coins run out.
Title: Re: Mario A New Day (SMB Hack)
Post by: frantik on December 27, 2020, 08:16:14 pm
i'm not sure if this is the red plant patch i used but there's one in this post

http://www.romhacking.net/forum/index.php?topic=24898.msg343333#msg343333
Title: Re: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 27, 2020, 09:32:40 pm
i'm not sure if this is the red plant patch i used but there's one in this post

http://www.romhacking.net/forum/index.php?topic=24898.msg343333#msg343333
cool thank you! I am guessing I take a blank smb rom and patch it to see the changes the patch made in a hex editor, then compare my game to a unmodified smb rom next to the patch to store the changes into the appropriate place in my game? I will give it a shot.
Title: Re: Mario A New Day (SMB Hack)
Post by: frantik on December 27, 2020, 10:25:25 pm
yeah for the red plant I assume there's gonna be a change in the enemy jump table near $c882-$c8d5 ( 0x4892 - 0x48e5 in the file ) routine called  RunEnemyObjectsCore.. this will be a pointer to the location of the actual code.  Then you will be able to add it using SMBUtil as one of the "unknown" enemy options
Title: Re: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 28, 2020, 03:34:46 pm
yeah for the red plant I assume there's gonna be a change in the enemy jump table near $c882-$c8d5 ( 0x4892 - 0x48e5 in the file ) routine called  RunEnemyObjectsCore.. this will be a pointer to the location of the actual code.  Then you will be able to add it using SMBUtil as one of the "unknown" enemy options
I put all the data into my game where it should based on the blank nes file and the original SMB rom that was patched and it broke my game. It really should of worked. I double checked everything. Odd. So in the meantime I decided to put that to the side and learn more about asm and mmc3 chr swithcing. It is all overwhelming and needless to say I am in way over my head. :-\
Title: Re: Mario A New Day (SMB Hack)
Post by: frantik on December 28, 2020, 05:03:28 pm
yeah just take it one step at a time, and if you get frustrated, work on graphics or levels for a bit
Title: Re: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 29, 2020, 09:24:18 pm
yeah just take it one step at a time, and if you get frustrated, work on graphics or levels for a bit
yea I gotta focus on things slowly. I basically been reading up on things. tonight I decided to make a system that gives you a new ability based on how many coins you have. there will be 4 as of now. basically for every hundred coins. setting it up is easy. I already have 2 done.  I just wish I new more about drawing to the status bar. maybe make a box that has four slots which contain little pictures representing each ability that gets checked off each time they get unlocked or something like that. 
Title: Re: Mario A New Day (SMB Hack)
Post by: sebastianangel on December 29, 2020, 09:53:41 pm
Hello, congratulations on your project! :crazy: I would like enemies to freeze certain parts of the path, making it difficult for Mario to move. ::)
It is already used in other games and I find it interesting,
keep up the good work!!!
Title: Re: Mario A New Day (SMB Hack)
Post by: ThroughT1m3 on December 29, 2020, 10:31:04 pm
Hello, congratulations on your project! :crazy: I would like enemies to freeze certain parts of the path, making it difficult for Mario to move. ::)
It is already used in other games and I find it interesting,
keep up the good work!!!
Thank you! could you elaborate on that a bit more? :beer: