Log In  


Cart #smbp8-13 | 2025-04-04 | Code ▽ | Embed ▽ | No License

  • Version 1.04

This is a recreation of the original Super Mario Bros, crammed into under 24KB of a Pico-8 cartridge (spritesheet memory is unused). The code is all new and not ported from the original game, so things work differently, but I tried to make it feel similar.

It includes all original levels, the minus world, and the second quest. Due to the token limit and limited likelihood of use, the alternating 2-player mode has been replaced with just playing as Mario or Luigi. Hope you enjoy playing!


Controls:

L/R--------------Move/Select world on title screen
X/V--------------Run/Shoot Fireball
Z/C--------------Jump/Start


Changelog:

V1.01

  • Added Attract Mode
  • Narrow cloud platforms now draw correctly
  • Pressing run button while on vine no longer causes error

V1.02

  • Fixed flagpole cutscene glitch

V1.03

  • Running momentum is now maintained while jumping and shooting fireballs
  • Cart now fits within compressed code size limit

V1.04
-Fixed errors caused by fragile lifts and shooting a fireball just before touching a flagpole


Special thanks to:

  • Jwinslow23 for composing the music and many of the sound effects
  • Zep for his PX9 compression system
  • Thisismypassword for the Shrinko-8 minifier
  • Nick N. Bruns of NESmaps.com for documenting level maps
63


Post-Release Comments

I was stuck on 8-2 for so long that there was already a update to the cart. 😭
Feels nice, gonna look forward for updates.


Thanks, though I'm not planning to put out a lot of updates, basically just parameter tweaks or bug fixes because I'm at the token limit despite lots of refactoring. I just realized the solution to a platform issue I hadn't been able to solve was a typo, then after fixing that I realized I'd left the default starting stage as 4-3. o_O


2

This is an absolutely good recreation of the game.
There are some differences between this and the original source (mainly the cheep-cheeps in 2-3 being harder and physics being just slightly off come to mind), but I think this did a great enough job being a faithful demake. It makes me wonder what other NES games will eventually be demaked in the future.

Also, I found a slight bug in the Coin-Heaven section in 6-2, where the cloud platform looks a little broken so that's kinda funny.

But yeah, really good job. Played through all 8 worlds without a single gameover. Had 9 lives left after beating the game :)


@SwordF,

Thanks, and I appreciate the feedback, especially from a full playthrough.

I have noticed that some of the enemies are a bit more difficult than the original, which is strange because I've tweaked some behaviors to be a bit less aggressive than basic random spawning or simple chase logic produced. For instance, I made it so Cheep-Cheeps won't spawn for a certain distance around you so you're less likely to have one fly up straight into you. Guess the original game had more nuanced design than is readily apparent. Anyway, I'll see if tweaking some values will help, and the cloud platform will be an easy fix, just forgot to assign a new collection of tiles for the narrow version.


got this when I pressed X while I was on the vine in 2-1, also had the fire flower equipped.


Thanks for catching that, didn't think of that edge case. It'll be fixed in the next update.


1

Absolutely amazing work! I'm gonna download this just in case Nintendo sues you. Hopefully not...


This is very accurate, I like it a lot

I noticed a couple small things that could be tweaked to make it a lot more accurate:

  • In the original game, you cannot change your facing direction while in the air and you actually accelarate a little bit faster while moving in the opposite direction you're facing.
  • The maximum amount of fireballs is supposed to be 2 instead of 3, but maybe that's for the better anyways.
  • The Piranha Plant hitbox is really small in the original game, which makes it easy to jump over. Here are the hitboxes shown visually.
  • You mentioned earlier that the enemies are a lot harder and you'd be correct, because how the original game does it is really lenient. The only requirement for bouncing on an enemy in the original game is that you are moving downwards in the air. You can see this very clearly for yourself by going to 1-3 and jumping into the red koopa at the start. You'll bounce on the side of the koopa.

There is also no soft edges in the collision detection but I suppose implementing that could take up too much tokens


@Vexxter,

The token limit is definitely a challenge. I've refactored many times and I'm right at the limit, so unless some easy-to implement token savings come to mind, big things aren't likely to change, but tweaks or simplifications are doable.

I'll look into simplifying collision if applicable, as well as tweaking some hitboxes. Not sure how to implement specific quirks like soft-edge collision, though, because all entities run through one system, special cases eat up tokens fast, and I haven't figured out a cheap solution for them. There's a max of 3 fireballs because I guess the standard de-spawning distance is greater than that for fireballs in the original game and with 2, you can have to wait a while to shoot again. I'd have to free up more tokens to make that a special case.



[Please log in to post a comment]