One of the main children cartoons Ciro Santilli liked to watch. Part of the Pokemon Mania of the 90s of course.
Ciro could not understand why Nintendo won't make a proper 3D MMORPG Pokemon with actually 3D Pokemon roaming the land, which is obviously what everyone wants. There are even fan games getting there!until this explaiend it beautifully Video 1. "The Downfall Of Mainline Pokemon Games by GONZ media (2020)":
- pokemon-mmo-3d.com Interesting concept here, where when you deploy a Pokemon, you start controlling the Pokemon rather than the main character
- www.quora.com/Why-won-t-Nintendo-make-an-open-world-3D-Pokémon-RPG/answer/Ciro-Santilli
- Pokemon became an industrialized yearly game spitting machine, and therefore any new feature is just extra risk
- Pokemon was kept mostly as a handheld exclusive to sell handlhelds, with a few early exceptions such as Pokemon Snap
.
Tagged
This game was mind blowing to Ciro Santilli and all kids. It felt so real. The perfect contrast between peaceful town work and saving the world. OMG.
Commented and labelled disassembly: gist.github.com/1wErt3r/4048722
Decompilation project: github.com/MitchellSternke/SuperMarioBros-C. That project does not produce the ROM however, it reimplements an emulator + game in a single binary.
OMG, the second half of the game where the world becomes quite open and all backstories are revealed, is one of the best gaming moments ever.
This is the one that hit Ciro Santilli the hardest, coming in at the point in which he started to discern between games and the real world a little better. His parents bought it for him during a trip to Disney World in Florida in 1996 (?), since electronics were much cheaper in the USA.
So as Ciro became older, and turned into a software engineer, he started to become more and more morbidly curious about "N64 internals": tool-assisted speedrun, how the devkit looks like, how games were developed for it, hardware leaks, etc.
Luckily Ciro's mind is not interested enough by that useless shit for Ciro to seriously study it himself. But that's what YouTube is for, right? Why do useless stuff when other more useless people can do it for you?
The console has only 4 MB of RAM memory. It is quite incredible what can be done with 8 MB, from the point of view of a 2020 worls where 16 GB laptops are the norm.
Tagged
Ah, Ciro Santilli loved this one... games young Ciro Santilli played.
And as a result, adult Ciro really enjoys tool-assisted speedruns of the game.
It is interesting how the Etyptian level, Shifting Sand Land, clearly has Indian classical music, with sitar, tanpura and tabla:Apparenty we don't know what Egyptian music would have sounded like exactly.
No-A press 120 stars tool-assisted speedrun attempts by Pannenkoek:
OMG, both of those just fucking work on Ubuntu 20.04 with README instructions, it is unbelievable, those people don't have lives. And it builds the ROM byte by byte equal from source!
There are a few different versions:
- github.com/n64decomp/sm64 for emulator (i.e. or real hardware), tested at 9214dddabcce4723d9b6cda2ebccbac209f6447d
- github.com/sm64-port/sm64-port Ubuntu native, tested at 6b47859f757a40096fedd6237f2bc3573d0bc2a4Full screen with F10.
- github.com/sm64pc/sm64ex: fork of sm64-port, untested by Ciro Santilli, but more new amazing usability features, notably:
--skip-intro
: skips the annoying pipe intro and the need to wait for Lakitu to bring Peaches message!- in-game menu:
- cheats:
- hide HUD!
- no level selection yet, but a matter of time?
Also reported to work on ARM: www.reddit.com/r/linux/comments/ityg6w/pinephone_playing_super_mario_64_30fps/They also ported to browser with Emscripten: github.com/sm64pc/sm64ex/wiki/Compiling-for-the-web
Tested with the USA ROM at sha1sum 9bef1128717f958171a4afac3ed78ee2bb4e86ce (you need a ROM to extract assets, which the project automates), which is also documented in the project itself: github.com/sm64-port/sm64-port/blob/6b47859f757a40096fedd6237f2bc3573d0bc2a4/sm64.us.sha1. Disclaimer: Ciro Santilli owns a copy of Super Mario 64.
The only dependency missing from Ubuntu packages is the IRIX QEMU user mode which they need for their tooling. The project also has a QEMU fork for that, and provide a working deb.
From this project it was also noticed that certain ROM releases were not compiled with optimizations enabled, presumably because as a release title the compiler had optimization bugs! www.resetera.com/threads/so-apparently-the-ntsc-build-of-mario-64-didnt-use-any-compiler-optimizations.166277/ But now they do have a working compiler, and by turning that switch FPS increases in certain levels!!!
It is good to know that this game will "never die".
Some quick stupid patches:
- jump really high:
diff --git a/src/game/mario.c b/src/game/mario.c index 5b103fa..83c9f40 100644 --- a/src/game/mario.c +++ b/src/game/mario.c @@ -826,7 +826,7 @@ static u32 set_mario_action_airborne(struct MarioState *m, u32 action, u32 actio case ACT_JUMP: case ACT_HOLD_JUMP: m->marioObj->header.gfx.unk38.animID = -1; - set_mario_y_vel_based_on_fspeed(m, 42.0f, 0.25f); + set_mario_y_vel_based_on_fspeed(m, 200.0f, 0.25f); m->forwardVel *= 0.8f; break;
Interesting entry points:
src/game/game_init.c
TODO: enable the level select debug feature! tcrf.net/Super_Mario_64_(Nintendo_64)/Debug_Content#Classic_Debug_Display They actually shipped quite a few debug features into the retail game, and they have been reversed too. I tried this but it didn't work (or I don't know how to enable the level select menu):
diff --git a/src/game/main.c b/src/game/main.c
index 9e53e50..b7443a8 100644
--- a/src/game/main.c
+++ b/src/game/main.c
@@ -65,7 +65,7 @@ s8 sAudioEnabled = 1;
u32 sNumVblanks = 0;
s8 gResetTimer = 0;
s8 D_8032C648 = 0;
-s8 gDebugLevelSelect = 0;
+s8 gDebugLevelSelect = 1;
s8 D_8032C650 = 0;
s8 gShowProfiler = FALSE;
The
enhancements/
folder contains a few sample patches.Some tutorials of hacking it:
- www.youtube.com/watch?v=Jkb7Naczoww SM64 Decomp Tutorial 1: Setting Up and First Code Changes by Bitlytic (2021)
- www.youtube.com/watch?v=IuIpqX4neWg Rovert Decomp Tech Demo by Rovert (2019) Metal cap makes Mario huge.
- www.youtube.com/watch?v=5aG1Iyjo20w Is it Possible to Beat Super Mario 64 as Tiny Mario? (Mini Mario Challenge) coverts the obvious make Mario huge/tiny hack. Huge mario verion: www.youtube.com/watch?v=pR_gol6zlIo. There was a pre-decompilation ROM hack doing that trivial change already: Tiny Huge Mario 64. Sample tool-assisted speedrun: www.youtube.com/watch?v=C7BjzZ_Nkk0
Ciro Santilli really liked the battle mode on this.
It is a shame, but this game just doesn't feel good. The controls are just not as snappy as Mario Kart 64, the levels are too wide which limits player interaction, and the weapons feel clumsy weak and unexciting. These are all aspects that the closed source smashkarts.io gets pretty well.
Quite good, Ciro Santilli played this a lot in 2021/2022, his user ID: ofo5fNy7wRNC1Cw94YVB4KMOW5f2.
The physics not as good as the original Mario Kart 64, and it is notably missing jump gliding, and generally not as sharp! But it is really not bad.
Some of the weapons were too useless that you are just better firing them straight away at wall immediately to get something better, they could have a little better balancing there. I'm talking about you gatling that takes 10 seconds to finish firing, and does not kill enemies immediately. You are better off just firing that gun immediately when you get it to be able to get another gun ASAP. They seem to have done some balancing there however.
It had no chat option, but in a way it was cool to be forced to communicate non-verbally with people whose usernames you got familiar with. Funny you can love people like that, without ever talking to them. The best way of doing so being tea-bagging by going back and forth on a player after winning.
Performance was sometimes a problem. When Ciro tried it again on December 2022, it was unplayable due to the impossibly large lag. Tiings were much better again in 2023 however it seems.
This game (1 or 2, can't remember) made an impression on Ciro Santilli for some reason.
Only many many years after playing it, after Ciro started getting more interested, did he learn that it was actually an adaptation of the Chinese mega-classic Water Margin.
"Suikoden" is the actual Japenese transliteration for the Chinese name of the original Water Margin novel.
Yet another case of Chinese thing better known in the West as Japanese.
The game puts great emphasis on the concept of the 108 Stars of Destiny, which never left Ciro's mind: making 108 allies, the main collectible of the game, allows you to make a more powerful alliance, and unlock better endings.
Articles by others on the same topic
There are currently no matching articles.