Language…
20 users online: anonimzwx, bradcomp, codfish1002, Danik2343, DanMario24YT, deported, Domokun007, Golden Yoshi,  Gonzales555, Heitor Porfirio, iamtheratio, Irondill, Knight of Time, koffe190, ModernKiwi, MorrieTheMagpie, mtheordinarygamer,  StayAtHomeStegosaurus, Tomi P, xxxblackangel2208xxx - Guests: 282 - Bots: 257
Users: 64,795 (2,375 active)
Latest user: mathew

Mario's Final World: Demo 2

DOWNLOAD MARIO'S FINAL WORLD

Mario's Final World is a Super Mario World hack project I've been working on for quite some time now. It combines my pitiful level design skills and vast technical knowledge to create a hack which is hopefully playable.

There have been two dead hack threads and one demo, released during the summer 2017 C3. A year later, the hack has become a lot more polished and a new world has been completed (i literally stayed up till 4 AM last night to finish the world 2 boss rip).

I hope you enjoy this demo. Please leave any feedback you have here, I'm open to suggestions. The demo is probably about an hour long. It's quite hard, keeping in mind my abysmal playing skills.

Known issues include wrong priority on the handrail of a Donut Bridge (it's in Sky-High Forest and you probably won't ever find it) and severe lag in some levels, most notably the second part of Oasis Castle. VWF dialogues sometimes create garbage when opening, but that doesn't affect anything and is only visible for a fraction of a second.

If you're not sure whether to play this, you can have some screenshots.

This looks interesting, though I'm not sure what the world themes are because there's so many different looking levels here. I suppose world 2 is desert?
I'm curious to see how the FLUDD will work because that message box confuses me a lot, guess I'll see when I have time to play all these C3 demos.

Is that last image actually in the game or did something break
Your layout has been removed.
World 1 is grassland, but only two levels are actually grasslands. World 2 is indeed desert.

The FLUDD is WhiteYoshiEgg's FLUDD sprite but modified to spawn water droplets. They kill fire-based enemies (including, as the game tells you, angry ones).

The last image is a particularly interesting crash I got while making the FLUDD gimmick (the game has a custom BRK handler and usually doesn't die badly when it crashes). It's hopefully not in the downloadable version.

also oh wow a reply
Reminds me of the greater hacks from the good old days of smwc.
The graphic combinations work well and looks aestheically enjoyable!

I might try out if i can :o
Originally posted by Ruberjig
Reminds me of the greater hacks from the good old days of smwc.
The graphic combinations work well and looks aestheically enjoyable!

I might try out if i can :o

Thanks! I'm looking forward to your feedback on it.
thjis looks cool as mice telinc1

dont have much time to pay attention to it rn, but ill def scope it out when i get a chance.

@others: play this!!
I like this a lot and am definitely checking it out as soon as possible.

I'm interested in the custom BRK handler, too. What exactly does it do differently?
Originally posted by Darkbloom
I like this a lot and am definitely checking it out as soon as possible.

Nice. As always, I'm waiting for your feedback.

Originally posted by Darkbloom
I'm interested in the custom BRK handler, too. What exactly does it do differently?

In the vanilla Super Mario World, the native mode BRK vector (located at $00FFE6 in the ROM) is set to $FFFF. That is to say, running a BRK instruction will push a return address plus the processor flags and jump to $00FFFF. This is the very last byte of the first bank and it happens to be $82, which corresponds to the BRL (Branch Long) instruction. BRL is like BRA, except its operand is two bytes long, so it can jump 32 KB forwards or backwards. Of course, the 65c816's bank wrapping mechanics come in at this point and read the bytes at $000000 and $000001 as the operand. Those addresses, of course, correspond to the unpredictable scratch RAM used by the game: you'll pretty much end up jumping to a random point in memory, potentially even open bus. This is what makes BRKs so unstable in Super Mario World. They often crash the emulator, too.

Of course, the BRK vector can be repointed, which is exactly what I've done in this hack. This patch makes BRK freeze the game while displaying a pattern of alternating black stripes on the screen and it also lets me use a debugger to set $0100 and restart the game. This is a lot more boring, but it's easier to trace since there's usually no risk of the debugger crashing.

During testing, I'd made the FLUDD's water droplets INC $19 when despawning. Invalid powerup states are always a source of instability and that screenshot is a particularly interesting crash I got. Somehow, the game managed to overwrite most of the BG3 tilemap before actually running into a BRK (the alternating black scanlines show that a BRK has actually been reached in the end).

...Never did I imagine that a single glitched screenshot would be more discussed than most of the rest of the hack.
This was a pretty short but nice experience. The levels themselves are simple, but do get more involved as you progress.

It does feel a little bit inconsistent graphics-wise, with very simple foregrounds, redrawn-styled backgrounds, and sprites from a plethora of different styles. This image from the thread itself captures it well:


In addition, I noticed you use mostly very "low" backgrounds that leave a lot of empty space in the sky, especially in the levels that also scroll vertically. I'd recommend adding some elements to these backgrounds to fill the sky a bit more (mountains, hills, clouds, stars, etc..). The parallax was a nice touch, though!

There were also a few minor glitches; I got a "Time's almost up!" jingle in one of the stages and in the second desert stage one of the fire sprites instantly jumps into a solid tile and glitches through the ground.

I played through most of the demo and I must say this was quite an enjoyable experience. I'm curious to see what else you'll come up with!