Could this bring Luigi back? Patreon: / kazestuff 🎥 / kazesm64 🐦 / kazeemanuar MERCH: kazemerch.myspreadshop.com/all Videos Referenced: Walls: • The Problems with Wall... Render blows: • Why Mario 64's Render ...
Пікірлер: 8 100
@KazeN64 Жыл бұрын
Since this keeps being asked: The RAM add-on added around 1-2 FPS in the final result. Adding more RAM to a system that already has enough usually does not help. The only reason it helped here is the specifics of the RAMBUS and the manual RAM aligning..
@akjohnny5997 Жыл бұрын
@@Yveldi upload more graphics card for further boost
@michaelstewart4571 Жыл бұрын
you sir are a god could you also re-write ocarina of time to allow an open source modding archtype like skyrim or fallout has? would be an insane community service tool you could expand your patreon as well. no biggy right?! xD who knows maybe you like the idea whatever you do looking at this project it's bound for succes great job my man!
@jameswilliams2269 Жыл бұрын
Can you please optimize Ocarina of time too?
@cgasparetto Жыл бұрын
But you said in the video it isn't doable without the RAM expansion. So, for most of the N64 lifespan, it was an impossible feature.
@Matlockization Жыл бұрын
I have to admit the only thing I was impressed about was how you tried to take out all the bottlenecks between the CPU, RAM & RCP. And you took things to the next level by asking this project: 'is this all I am ? Am I using the hardware to its fullest capacity & capability. Is the software doing this as well ? Can this project work on every level ?' I have actually made this argument to gamers about current games and most people never bother a reply despite the fact I'm not after an argument but just a discussion in computer philosophy. Because I'm good with refining renovation projects until they reach a level of all round perfection. But I am not a perfectionist. Don't you think the engineers who built the pyramids were thinking along the same lines as us ? I enjoyed your video. I think your the first to have done something like this on KZbin ???
@iceypino10862 жыл бұрын
he finally did it, he went insane.
@DeskoDev2 жыл бұрын
The moment we all anticipated
@MetiCu2 жыл бұрын
This is the one where he's finally lost it.
@Essman6142 жыл бұрын
What if he went so insane that he went full circle and returned to normal as an ascended being?
@howisthis88492 жыл бұрын
we have reached the endgame of sm64 modding
@rhinosaurus14962 жыл бұрын
I'm just glad I was here to see it
@wiiu76402 жыл бұрын
If this was possible 20+ years ago, imagine how unoptimized games are today.
@Wahinies2 жыл бұрын
*laughs in halo infinite*
@darktangent102 жыл бұрын
Don't have to imagine, lol.
@lazulazu24672 жыл бұрын
the sad thing about modern game optimisation is instead of utilizing new hardware to actually improve visuals AND framerates and resolutions, they use it as an excuse to not optimise at all because "the newest tech can handle it anyway"
@badnetcode62282 жыл бұрын
@@lazulazu2467 Pretty much this. Used to allocate time in my projects to optimise, now I dont bother so much. Sure my methods have improved, but hardware patches over the cracks nowadays. Its a shame, hardware improvements allowed software developers like myself to get lazy. Unless your working with 3D gfx, why bother. If you do work with 3d graphics call it a game for the future and move on. Real shame. I still remember marvelling at how they managed to fit some of those Pokemon games on those GB carts way back when. Those optimisations wouldnt happen now, youd just be directed to download a patch on launch.
@hohohodrigues2 жыл бұрын
Imagine a very old ring
@HolmesProspecting Жыл бұрын
I love that I get to live in a world where people like this exist.
@IllusionSector9 ай бұрын
Word! Even though 99.99% of his technical breakdown goes into one ear and out the other it's nonetheless music to both.
@iankoberlein19748 ай бұрын
>Is one of the greatest programming minds alive >Dedicates his genius to Super Mario 64
@beejay99ah4 ай бұрын
I often think that working on projects you really love is part of the reason why you can be as dedicated about it.
@grdfhrghrggrtwqqu4 ай бұрын
@@beejay99ah Exactly. This is how *everyone* learns. Passion drives framework, and understanding does not come without passion, even if one so does lack the framework to fill it in.
@trendybistro3 ай бұрын
@@JDelvaMusicit ain't even top 50.
@superubergoober2 ай бұрын
@@JDelvaMusicmaybe of that console generation or year, but much more important games came before, and plenty of better games came after
@themindfulmoron37902 ай бұрын
@@trendybistroIn terms of best, I agree with you. But in terms of importance, you have no idea what you're talking about. Super Mario 64 was the title that outlined and defined the way every single 3D console game of its generation would be judged, set the stage for every 3D game that came after, and paved the way for hundreds design principles that are still in wide use today. It is THE trailblazer and icon of the 3D rennaisance, which is still the most influential and revolutionary period of gaming ever. Period. And that's not bias, either. I don't even like SM64 personally, but it'd be real dumb to call it anything other than one of the most important games of all time.
@Jack_Woods2 жыл бұрын
Imagine going back in time, infiltrating Nintendo's HQ overnight, and just replacing the code with this one, and leave a note like "L is real"
@TwistedSoul20022 жыл бұрын
lol
@cubedude86902 жыл бұрын
2401
@mmoncure112 жыл бұрын
how about, a week after SNES launch of super mario world, doing a credits warp in front of the devs
@ZachAttack60892 жыл бұрын
@@mmoncure11 *day before launch
@MrSqurk2 жыл бұрын
Some of these optimisations would seem like sorcery to the best devs in the world haha
@burnte Жыл бұрын
This shows what “standing on the shoulders of giants.” Dozens of people barely pushed out M64 in the 90s. One man was able to triple the performance, but because of what know;edge has been developed and shared in the past 25 years. Amazing work, sir!
@DailyDoseOfLSD Жыл бұрын
@@walidfakhfakh3660 it's not about the quality of the video... It's what we grew up on.
@sammytiel Жыл бұрын
@@walidfakhfakh3660 Why do you complain about age and graphics?
@romullocordeiro3994 Жыл бұрын
@@walidfakhfakh3660 because is fun ? lol
@StylizeRoyal42 Жыл бұрын
How is hating on a game fun
@robokill387 Жыл бұрын
@Walid Fakhfakh Mario 64 is a really important game historically, it really figured out 3D camera control and controls in general, it's easy to take for granted now but a lot if early 3d games were fixed camera and had 2.5d controls or tank controls.
@zubirhusein25 күн бұрын
You can't blame the devs all that much either, since Super Mario 64 was a launch title. They only had so much time between when the system was available to begin developing for and when the console had to be released. 3D games were basically brand new so it's a very commendable effort.
@cconnors9 ай бұрын
"You can either learn these or go outside and touch grass." - The duality of programming.
@jamiegrant15302 жыл бұрын
Reading and rewriting an entire game's source code just so your mod runs faster is such a power move. Vroom vroom.
@John-jc3ty2 жыл бұрын
a powerer move would be to make a shitty mod that slows down the game, then optimize the game but not the mod, so it runs at 100%
@slayer11562 жыл бұрын
He tried to flex. He warped the fabric of reality around his arms.
@memethief41132 жыл бұрын
@r33mote I don’t see a real man here, especially not you
@SinHurr2 жыл бұрын
Glory to the next person to like this comment, the 420th like.
@whannabi2 жыл бұрын
@r33mote you probably need it more than that guy
@CyprusBeyblade2 жыл бұрын
This knowledge in the 90's...Imagine how things couldve been
@idabomb002 жыл бұрын
I remember how things were in the 90s, things were much better then
@V3ntilator2 жыл бұрын
1980's and 1990's were the best times for gaming.
@sneakyfrenchgirl2 жыл бұрын
@@V3ntilator early 2000s as well. (Mostly)
@rsolsjo2 жыл бұрын
Even with this knowledge we didn't really have the hardware to take full advantage of it. Now we do. Took years to even emulate these games to begin with.
@TAMAMO-VIRUS2 жыл бұрын
@@rsolsjo But I think having better software would make the push for better hardware faster.
@Bingle1Ай бұрын
"if you just program well, you don't need to prevent crashes" is an absolutely insane (but not entirely wrong) thing to say and I absolutely love it. I can't get enough of your channel :D
@citricdolphin33611 ай бұрын
This is INSANE. The map you demonstrated on looks like it could have been a GameCube launch title, and yet somehow runs on a real N64.
@mitchjames93505 ай бұрын
I would say Dreamcast
@DwarfDt3 ай бұрын
GameGear
@asteroidrules2 жыл бұрын
That feel when you completely rewrite most of the code for one of the most significant video games in history to get a better framerate in your mod.
@tiaraguy7705 Жыл бұрын
I feel like it was all an elaborate plan to advertise his mod, but I also feel flexed on if this is true.
@gamesandplanes3984 Жыл бұрын
Eh. His entire patch NEEDS the expansion pack. Therefore, it's bullshit.
@josejose241 Жыл бұрын
@@gamesandplanes3984 so? He still made it happen, thats not bullshit. Like he said, it would be impossible without it. What he did was insane and awesome. What great achievement like this have you accomplished?
@diegopugaquintanilla4344 Жыл бұрын
@@gamesandplanes3984 it's a massive improvement for the infinitesimally small price of 4mb of ram, L + touch grass idiot
@asteroidrules Жыл бұрын
@@gamesandplanes3984 There's several actual N64 games that need the expansion pak, are those bullshit too?
@selfaware76172 жыл бұрын
Kaze is just the best. My favorite thing is that he doesn’t give the original developers any grief. There was just not enough knowledge available to have done all of this for them. Really honorable thing to mention. Thanks Kaze.
@GuyOnAChair2 жыл бұрын
Same. :)
@johnsimon84572 жыл бұрын
If they’re not confident enough to ship the finished game using an optimized build that wouldn’t introduce any bugs under the time constraints they had, it’s EARLY DAYS. Miracle that this game works as well as it does.
@DarkEvo12 жыл бұрын
Developer solidarity
@renakunisaki2 жыл бұрын
Also gotta keep in mind he's doing this with no constraints. He doesn't have to meet a deadline, stay within a budget (no need for expensive SGI machines when we have Blender), worry about whether future console revisions will break his clever hacks... No limits on ROM size, twice as much RAM, and way more advanced tools...
@pirategamer66302 жыл бұрын
@@johnsimon8457 You need to realize that this was during the 1990s. The game wasn't an early build. The game wasn't in "early days". The game worked fine. But, because of the lack of technology, there were bugs. Simple as that.
@zoiosilva Жыл бұрын
This is pure backend refactoring bliss! Writing good and optimized code is an art and should be valued more by all development companies. This is why I think all games after some years of its sales end should become open-source.
@drygnfyre10 ай бұрын
Daikatana is a good example of this. Poorly received at the time, it was later open sourced and mods and bug fixes created a much improved game.
@sino_diogenes9 ай бұрын
who knows, maybe even all software..
@SnakebitSTI8 ай бұрын
The sad reality is that development and production companies value money first and foremost, which means they are often incentivized to sell good enough software rather than great software. The N64's launch was delayed to make SM64 good enough. It went on to sell millions of copies and become one of the most beloved games of the late 90s. If an unstable 20FPS frame rate was good enough for that, why would they delay further? That said, death of author + 70 years is an insane copyright duration. The original maximum duration in the US was 28 years. 28 years after SM64's release is 2024. Under those terms, Nintendo would "only" have had time to sell the original release, the vibration support rerelease, the DS rerelease, the Wii Virtual Console rerelease, the Super Mario All-Stars 3D rerelease, and the Switch Online rerelease before the code went public domain.
@StephenOwen7 ай бұрын
Oh god just imagine if we lived in that world . So many more indie games I’d start with parasite eves code base and use that as a jumping off point for my game
@adamboggs47457 ай бұрын
Good code, fast code, easy to read/write code... Pick any 2. Engineering is all about tradeoffs and you need to understand the requirements. It's possible that if Nintendo wrote such super optimized code back in the day they would have missed a market window and it would never get released. Instead, it was "good enough" and was hugely successful for a flagship game.
@knightlautrec431111 ай бұрын
Kaze: Yeah I optimized the source code for Mario 64, took a couple weeks. Nintendo: Source code?
@nickolias72922 жыл бұрын
He's not the man Nintendo hired, but the man they needed.
@brandonkruse64122 жыл бұрын
Nintendo doesn’t need to hire their community modders, they know that we do it for free.
@theme73632 жыл бұрын
they need to sue them to make sure they can protect their brand from being loved ;)
@paxhumana20152 жыл бұрын
@@theme7363 , then Nintendo would be having a purge of its current staff and it would be replaced by people that actually gave a damn for the franchises instead of treating them like Gollum treats the Ring of Sauron.
@theme73632 жыл бұрын
@@paxhumana2015 i like that gollum part like a LOT
@TheElcentralen2 жыл бұрын
@@brandonkruse6412 if they could. they would sue him for all he got. block his videos and piss on his grave. nintendo is a horrible company.
@Lugmillord2 жыл бұрын
As someone with a master's degree in computer science I can confirm: This is wizardry.
@BBWahoo2 жыл бұрын
You need a masters degree in kaze science
@Blernster2 жыл бұрын
As someone who reads KZbin comment: Okay
@calmarfps2 жыл бұрын
It's: FIXING LAZY JPN GAME DEV
@reloadpsi2 жыл бұрын
As someone who watched this video: does a master's degree in computer science not teach you how to clean up superfluous code for optimal performance? John Carmack's been showing the world how to do that since the 90s - he got raycasting* working on literally anything and got Quake to run in full 3D on pre-Pentium PCs with no dedicated graphical hardware :/ *don't make my dumbass mistake of confusing raycasting with raytracing or you're gonna confuse everybody :P
@Lugmillord2 жыл бұрын
@@reloadpsi University teaches you the value of clean, maintainable (i.e. readable) code that is robust against any kind of problem. That's much more important than maximizing performance by throwing all of that out of the window. With today's machines performance isn't that much of a priority anymore. ;) (NOTE: I'm talking about games here, not general software) Also, when it comes to efficiency, there are some very different fields in computer science: (A) Optimizing algorithms, i.e. the general (macro) structure of the program (which is much more important) and (B) optimizing code for hardware usage (micro level), where you reduce the amount of calls / memory access, etc. So (B) means "what can we speed up, when the algorithm stays the same". And Kaze is doing (B) *hardcore style.*
@davidhelman3045 Жыл бұрын
As an gamer/engineer who originally learned/programmed in C++, I appreciate this video, some of the code improvements you found were super interesting, thanks for this!
@YeetoTheYeetafic10 ай бұрын
Making a rom hack is already abnormal, but rewriting a rom's whole source code is a lifetime amount of insanity
@MisterBones29106 ай бұрын
You should see the stuff they've done with Pokemon Fire Red's source, and then fit back in the space allowed by the original cartridge.
@YeetoTheYeetafic6 ай бұрын
@@MisterBones2910you learn something new everyday
@IanZWhite002 жыл бұрын
9:37 “if you just program well, you don’t need to prevent crashes” what a chad
@Micha-Hil2 жыл бұрын
I'd say "Nintendo, hire this man" but honestly Kaze just hired himself at this point
@ernesto55842 жыл бұрын
Nintendo fans: "Hire this man!" Nintendo lawyers: "Take down all his videos, and threaten to sue him!"
@praticle2 жыл бұрын
Nintendo doesn't deserve him!
@nickwallette62012 жыл бұрын
If it were Sega, sure. But his hands would be tied. Better to keep this as a "patch" to the original ROM, which is probably going to be a complete replacement of every byte, but you know... can't go distributing whole ROMs without summoning the thunder.
@Gabriel2501002 жыл бұрын
@@nickwallette6201 The secret is, do not make it work without an original copy, so, it's a mod
@ma_junia2 жыл бұрын
screw hiring him, for the love of god please don't CnD him
@ChrisPVille8 ай бұрын
Easter egg: I took that picture of the RDRAM at 1:37 . I know I'm late to the party, but this is amazing work.
@MatthewJohnCrittenden10 ай бұрын
I've been coding professionally for over 20 years, that is some super impressive work and entertaining with it. Code optimisation is one of my favourite tasks.
@Bobbias2 жыл бұрын
For years I wondered if anyone would ever do something like this. I've known rewriting a console game was possible, but I never actually expected anyone to be crazy enough to do it. Bravo, this is absolutely extraordinary.
@SeanWMODonnell2 жыл бұрын
Can someone do this for Inspector Gadget on SNES?
@lsdkjsdlkjpiosdcposdjfdjad13632 жыл бұрын
@@SeanWMODonnell if the source code is leaked and someone cares to do it, yes
@carso15002 жыл бұрын
@@lsdkjsdlkjpiosdcposdjfdjad1363 not soo much leaked it was carefully reproduced bit by bit by the comunity yeah it got leaked in the gigaleak too but its kind of illegal to use that one and nintendo can actually demand you for using that one, same reason why the dolphin developers dont even take a look at the wii source code that got leaked
@AJ-po6up2 жыл бұрын
@@carso1500 They recreated it yes with their own code, but having the original source code helps a ton to understand the game and recreate it without using any parts of it.
@lpsamyrose2 жыл бұрын
If I had the skills, I would add new areas to animal crossing New horizons :)
@s0david2 жыл бұрын
Two great quotes that will stick with me from this video: "You either get to know about these things, or you get to go out and touch grass every once in a while. It's a strict either or, you can't have both." "RAMbus goes vroom vroom."
@kaneCVR2 жыл бұрын
aaaahh, grass.... I was convinced he said "You either get to know about these things, or you get to go out and touch GIRLS every once in a while. It's a strict either or, you can't have both." It made me giggle
@jonpearson62792 жыл бұрын
Came to comment exactly that first quote. I'm 100% stealing that and planning to use it absolutely as soon as I can shoehorn it into a conversation.
@cronto_3307 Жыл бұрын
I want to touch grass…
@li_tsz_fung Жыл бұрын
@@kaneCVR Wait, but I don't understand all those stuff and don't have a chance to go out and touch....
@tensevo Жыл бұрын
that earned a sub from me, not just the words, but I felt it was a genuine statement.
@madmax2069 Жыл бұрын
This shows the understanding of the hardware that homebrew devs have gained vs devs from back in the day,. This also shows what dev can do when they're not rushed for time. Also a good example of "too many cooks in the kitchen"
@Vixikats11 ай бұрын
"Two developers can do the job of one developer in twice the time."
@alx91311 ай бұрын
Man this is amazing. Mad respect for diving this deep onto the code. Superb work!!!
@KeyboardBuster9 ай бұрын
For the love of the Fuhrer, please Kaze Emanuar; release this ROM hack to the public!
@m_affiliates3 ай бұрын
@@KeyboardBuster I don't think they legally can (I'd like to be proven wrong tho)
@jayrenault7892 Жыл бұрын
"Safety Checks are useful to prevent crashes, but if you just program well you don't need to prevent crashes" -Kaze Emanuar
@QuanrumPresence Жыл бұрын
As a programmer I live by this 😂
@NXTangl Жыл бұрын
Well, in a game running on bare hardware on a console...
@fubbernuckin Жыл бұрын
what an absolute flex
@stephanreiken9912 Жыл бұрын
Ah of course, how did I never think of just programming better.
@cassandra-show Жыл бұрын
Just Don't Segfault 😏
@promaster4242 жыл бұрын
I like how everything no matter how complicated it got it always ended with the RAMbus going vroom vroom
@penguinjay2 жыл бұрын
Hell yeah dude. I didn't even know this was more than an amazing fan feat until I saw who put out the video. The man himself. Holy Crap. Great sense of humor, I've only ever seen the finished SM64 content, never heard the man speak. I had a good time watching this.
@GoTeamScotch2 жыл бұрын
As an idiot, I appreciated seeing it appear so I could clap my hands together and laugh for a moment in between feeling confused.
@promaster4242 жыл бұрын
@@GoTeamScotch Same but I'm trying to understand the other things because I wanted to make a rom hack
@adamwood78413 ай бұрын
This is wild my dude, amazing stuff. Keep that passion alive!
@ACameronUK Жыл бұрын
This is one of those videos that I definitely do not fully understand, but at the same time find find fascinating and can’t look away…vroom vroom ☺️
@Malueion2 жыл бұрын
Kaze: "Hey Nintendo, I literally made your game perfect." Nintendo probably: "Die."
@gamermapper2 жыл бұрын
Capitalism in a nutshell
@HiimIny2 жыл бұрын
kaze is literally the giga chad at this point some jacked dude just going "yes I have spent two years re writting and optimizing the source code of a 20 years old game, how could you tell?"
@ArcRay202 жыл бұрын
with him regularly working out, yeah pretty much!
@abdillin2 жыл бұрын
He's doing what he loves. What are you doing?
@sparklesparklesparkle63182 жыл бұрын
@@abdillin day drinking
@thenightjackal88762 жыл бұрын
@@abdillin day drinking
@HiimIny2 жыл бұрын
@@abdillin day drinking
@fillman86 Жыл бұрын
this is fantastic!! I love watching videos of people pushing the limits within the constraints of old hardware :D
@thedarksaiyan1891Ай бұрын
I think this has become my favorite video on youtube. Im currently studying for a software engeineering degree and I love covering memory optimisation in programs, so this was a great watch! Also sm 64 was one of the first games I played so bonus points for that
@mattomanx772 жыл бұрын
Imagine if all games could get a loving optimization pass like this.
@FilthyWeeb12 жыл бұрын
ocarina of time would be epic
@beacondude49582 жыл бұрын
*cough* yandere simulator *cough*
@Square789_2 жыл бұрын
sorry, must slow everything down to a grinding halt by including DRM that will be circumvented after 3 weeks anyways
@suezuccati3042 жыл бұрын
A lot of people are converting SNES games to SA-1, :v
@Tetragramix2 жыл бұрын
@@beacondude4958 Will be forgotten in 20+ years, unlike Mario 64.
@xIChaosReaperIx2 жыл бұрын
Y'know, when I heard the source code was decompiled, I noticed Kaze went kinda quiet. Now I know that he used that time to REWRITE THE ENTIRETY OF SM64 TO A STATE THAT MAKES SHIGERU BLUSH!.
@Agret2 жыл бұрын
It's funny that so much time was spent decompiling the game and then straight after the release we got the Nintendo giga leak which had the source code for it anyway.
@NateBoiBoi2 жыл бұрын
@@Agret from what I heard, it was only some of the source code, basically what was necessary for IQue to make their own version of Mario 64, so the entire source code wasn't leaked as of now
@petervansan10542 жыл бұрын
original c code looked like trash though
@vinnyandlin85102 жыл бұрын
Miyamoto san wouldn't blush at this, he would take it down out of spite
@gozinta822 жыл бұрын
Reminds me of ship of Theseus, with all parts changed ;)
@gamesmaster919Ай бұрын
You are truly a gifted man, well done. Your work is simply amazing, SUBSCRIBED
@Rexhunterj8 ай бұрын
I did something similar for the PC game Carnivores 2, really glad to see someone else doing the same stuff and documenting it to boot. Great stuff!
@Cyranek2 жыл бұрын
PHD in mario 64 science
@MicrosoftWindowsVista.10 ай бұрын
LMAO
@crazyd3uces2 жыл бұрын
This is the software equivalent of restoring a 57 Chevy and then giving it ridiculous horsepower.
@rickymort1352 жыл бұрын
Just be re was rearranging what's already in there
@DrSaav-my5ym2 жыл бұрын
Dude went through over 100,000 lines of code, this is like restoring 10 Chevy's or something, this guy is insane
@rotor132 жыл бұрын
To be more specific, building a Chevy Bel-Air with a Pro-touring chassis and the engine block for a C7 Corvette ZR1
@Zordiak2 жыл бұрын
Lol no, this is way harder
@C-642 жыл бұрын
@@rotor13 , I disagree with the engine swap analogy What this man did was more equivalent of tweaking every single thing on the car so that it runs as efficiently as possible with the least possible amount of upgrades.
@mattcally5027Ай бұрын
Awesome video, i really love how in depth you went!
@EchinoStarefish9 ай бұрын
This is unreal. Amazing work!
@KazeN642 жыл бұрын
All the background music is composed by Badub and will be part of my upcoming major mod Return to Yoshis Island 64.
@Imadeyoumad2882 жыл бұрын
Sir when are u going to finally bring ur talents to the sonic adventure modding community😭
@M64bros2 жыл бұрын
Aw sweet!
@jerrym032 жыл бұрын
I stand by you having should hve put a small capybara in the thumbnail, but amazing video none-the-less!
@k.w.66262 жыл бұрын
Could you put this hack on the original mario 64 and on super mario 64 land?
@thebarbiter46442 жыл бұрын
Could you add some of these optimizations to your older romhacks?
@glaubergft2 жыл бұрын
This level of optimization is absolutely mind blowing. If I were Shigeru Miyamoto, I would be so proud to see a passionate developer improving this game to this point so many years later. It proves how deeply his creations impacted our generation.
@JamieKitchens62 жыл бұрын
Well said.
@adamgreenhill1102 жыл бұрын
Except Nintendo HATES this stuff. Remember the Mario 64 remaster on Unreal Engine? It was fan-made, so Nintendo took it down. All traces of it
@chrismdb56862 жыл бұрын
Shiggy hates anyone that takes something he had a hand in and "makes it better" in any way, so this would likely be seen as an affront to his work. Just as an example, he dislikes the DKC SNES titles because they're (literally) "Not his Donkey Kong", and tried to 1-up them with 'Returns' on the Wii (and arguably failed because the shoehorned motion controls directly conflict with the base gameplay the series is built on).
@chrismdb56862 жыл бұрын
@@duffman18 Sources? You can't just claim it's a mistranslation of interviews without proof to back it up, particularly when it's been corroborated by multiple unrelated sources at many different times.
@jonathanc25362 жыл бұрын
@@adamgreenhill110 I agree but miyamoto's opinion might be different from nintendo's (not like he could ever say his real opinion publicly though)
@Sharkie1717 Жыл бұрын
This is amazing. You are amazing. Well done on your incredible efforts. And thank you for this video. Cheers!
@rguinucci5 ай бұрын
AMAZING work, congrats!
@leodrews31282 жыл бұрын
it would be really cool to hear what the original programmers think about this.
@ryo-kai85872 жыл бұрын
I'd be very happy to see support or honest reactions from devs instead of "don't touch our IP"
@Pvt.Fernandez2 жыл бұрын
They're all retired probably.
@glurp1er2 жыл бұрын
Well, as he said at 6:36 this RAM optimization wasn't actually possible on the original hardware... So Nintendo programmers probably did all they could already.
@OrchidAlloy2 жыл бұрын
@@glurp1er it was possible with the expansion card
@Blutzen2 жыл бұрын
@@OrchidAlloy You mean the one that released two full years after Mario 64?
@bassammostafa59032 ай бұрын
Brilliant! Just brilliant! I rarely comment on KZbin videos, but this is one of the videos that I enjoyed every second of
@azrhyga10 ай бұрын
Very awesome!! YOu did an awesome job optimizing it :0
@NateWolfKira2 жыл бұрын
I am highly interested seeing a definitive edition of the split-screen multiplayer using these optimizations. I would like to be able play the multiplayer smoothly on real N64 hardware. I also find you videos regarding the work performed in order to make these optimizations fascinating.
@wilji10902 жыл бұрын
At this point Kaze is somehow gonna turn SM64 into an early GameCube game and that's just awesome.
@renakunisaki2 жыл бұрын
What's kinda funny is I've thought about actually porting some N64 games to GameCube just so mods can take advantage of the extra resources and better emulation.
@wilji10902 жыл бұрын
@@renakunisaki is that even possible? Because if so…
@mrmimeisfunny2 жыл бұрын
Super Mario Sunshine demake anyone?
@csolisr2 жыл бұрын
@@renakunisaki I suppose it would need a full rewrite though - IIRC the N64 doesn't even use the same processor as the GC, let alone a similar architecture for rendering
@Elratauru2 жыл бұрын
Zel, known for also some cool Zelda stuff, is actually working on a pretty late-gen Starfox Adventure's (Dinosaur Planet?) like project that looks almost early gamecubeish, on a goddamn N64.
@morphius747 Жыл бұрын
this is like recreating the wheel, amazing work
@Ziamesias9 ай бұрын
Pure awesomeness. Amazing work!
@bigwilski Жыл бұрын
The fact that you were able to even read their code is an achievement. So much knowledge was needed to do this.
@greensheen87597 ай бұрын
It's cause of the nintendo gigaleak that the source code was available
@lukzthrash.53317 ай бұрын
it was also reversed enginieered
@lukzthrash.53317 ай бұрын
and documented
@BUTTNUTT696 ай бұрын
@@greensheen8759does that make it any easier or different? Like would you even be able to hold documents right side up😂
@norwegiansmores8115 ай бұрын
since code is linear@@BUTTNUTT69 ... unironically yes.
@drygnfyre Жыл бұрын
By optimizing the code, the parallel universes can more quickly be QPU aligned, allowing Mario to do faster hyper speed walking while holding the A press.
@cesardelgado1544 Жыл бұрын
The real progress is that half A presses are now reduced to quarter A presses.
@animepussy8356 Жыл бұрын
@@cesardelgado1544 kek
@sergio_henrique Жыл бұрын
@@cesardelgado1544 A half "A" press is a half "A" press. You can't say it's only a quarter.
@SonicMaster519 Жыл бұрын
@@sergio_henrique Watch me call it one-sixth of an A press
@lordneeko Жыл бұрын
Which all translates to "vroom vroom"
@XXSTEAKYXX8 ай бұрын
This was awesome to see man good stuff 🔥
@N1XTM8 ай бұрын
You've earned my sub. This is amazing work!!
@MrIHaveASword2 жыл бұрын
"If I had more time, I would have written a shorter letter." I think this quote works well here. It takes time and skill to be able to optimize. The more optimization done the more astounding really. Sadly a lot of companies don't optimize as 'todays hardware can easily handle it." Which is why we get games that breach 100GB when they honestly shouldn't.
@levonschaftin36762 жыл бұрын
The size of the game is generally due to assets, not unoptimized code.
@lordgraga2 жыл бұрын
I work as a consultant optimizing games. It very often comes down to fact that you have a feature/performance trade-off. Meaning, you COULD spend time speeding up your game, but it would mean delaying feature X or tool Y by N weeks. Often, having something that works is much more valuable to your development process than having something that is fast, because things that WORK unblock other tasks, while things that are FASTER rarely unblock anything unless we are looking at issues that require 100x speedups. This is true for small companies - larger companies should have more dedicated people with strong profiling skills, but small companies are often too busy to even open a profiler.
@MrIHaveASword2 жыл бұрын
@@levonschaftin3676 well, egg on my face and shows what I know about game coding.
@levonschaftin36762 жыл бұрын
@@MrIHaveASword easy to make that mistake
@6355742 жыл бұрын
Asset sizes can basically be infinite and those take up majority of the data. Someone has to decide the final quality that gets shipped.
@brianm43932 жыл бұрын
The rolled loops thing is funny. Obviously unrolled loops make the code much less maintainable, less readable, less terse, and more error prone. But back then programmers used to unroll loops as an optimization to save some CPU cycles (as the for loop part of the code does not need to run again and again ). But now we are seeing that rolling them actually improves performance. What a perfect cautionary tale about premature optimization, and also optimizing without profiling.
@RussMichaels2 жыл бұрын
we used to do this on C64 as well to get more cycles :-)
@DeadCatX22 жыл бұрын
*Programmers* should not be the ones unrolling loops. Programmers should be writing code that allows the *compiler* to unroll the loop *if the compiler determines that an unrolled loop would improve efficiency*. This requires an intimate understanding of the hardware that the code is running on. If you have a shared bus and your instructions are cached, then yes, smaller code size optimization (i.e. rolled loops) will win over "faster" code speed optimization. That is unlikely to be the case for an in-order processor with no pipelining or cache. That said, you *do* need a good compiler and that compiler *does* need good knowledge of the hardware, or this all goes out the window. I've developed some code for the PIC and their C compiler is outright horrific. I can't tell you how many times I've had to twist myself into a pretzel to get the compiler to generate good code, and sometimes I just need to write it in assembly because the compiler is too stupid. And their compiler is made by the the same company that makes the microcontrollers!
@RussMichaels2 жыл бұрын
@@DeadCatX2 you do know this game was written in the 90's on a retro console right
@alexbrown36032 жыл бұрын
@@RussMichaels he's right tho
@RussMichaels2 жыл бұрын
@@alexbrown3603 picking holes in something written over 25 years ago for not using modern techniques? We couldn't apply that to literally everything on the planet. Oh doctors in the 70's, 70's and 90's should have used medicine from the 21st century... Car manufacturers in the 80's should have made electric cars. Etc
@seeibe8 ай бұрын
"But first I need to explain.." *Mario 64 File Select Theme starts playing*
@vcupiano2 ай бұрын
Excellent work, truly, I wish I had this much passion and work ethic.
@chon642 жыл бұрын
I remember playing N64 games as a kid and looking at the skyboxes thinking "Why can't I go there? Why didn't they make it? It would be so much fun." This is exactly what it feels like to see mods for this game all these years later. Thanks for making this! (to everyone involved)
@FloRiLLAZ2 жыл бұрын
Glad to see i was not the only one who thought this!
@CrashCubeZeroOne2 жыл бұрын
HOW are you still doing romhacks?! You pretty much rewrote the entire game for your mods. I'm amazed at your level of dedication to romchacking.
@thomasrief2 жыл бұрын
Well he said at some point when he learned enough through romhacking he will eventually make his own game. The question is tho has his position changed on this or will he ever considering something to be enough in that regard xD
@CrashCubeZeroOne2 жыл бұрын
@@thomasrief well, regardless of his position on making a game, the man does an awesome job and clearly puts a lot of passion. I think it'd be awesome what Kaze could create without being constrained by SM64 (Though looks like he's working around a lot of the constraints)
@hawshimagical2 жыл бұрын
@@CrashCubeZeroOne constraints are good. they help you set goals
@HashCracker7 ай бұрын
Thank you. I cant wait to play the finished product. I was thinking of playing this game again soon but ya know Im going to wait for this regardless of how long
@michaelschlachter88659 ай бұрын
this is amazing. love optimization deep dives like this. I miss the days when we were that close to the hardware.. .Rock on!!
@keiyakins2 жыл бұрын
The unrolled loops are funny from a modern perspective - I'd write them as loops and then unroll later if i needed performance, even if compilers couldn't do it for me - but considering these devs were coming from the SNES? Makes total sense that they would just assume it's the right thing to do.
@DannTheMan2 жыл бұрын
Well boys, Kaze did it again!
@Zapdos01452 жыл бұрын
he sure did do it again. he completely lost his mind.
@sparklesparklesparkle63182 жыл бұрын
@@Zapdos0145 came here just to say Kaze is literally insane.
@johntravolta83892 жыл бұрын
vroom vroom
@alejjtheninja58032 жыл бұрын
Oh hey, Danntheman, pleasure to see you again.
@tylerherr42882 жыл бұрын
again? did he ever stop doing it?
@Vretrocomputing3 ай бұрын
Amazing improvements! Hats off.
@Pb0b1782 жыл бұрын
Its insane seeing how pretty this mod looks after so many optimizations. I never knew N64 was capable of those graphics
@Ragesauce2 жыл бұрын
I hope that GDQ allows this game to be played and have its own category, calling the game "Super Mario 64 plus" or "Enhanced SM64" or something, so we can watch speedrunners tear into it. Very exciting.
@alicev15002 жыл бұрын
It all depends on whether there's a community for it, probably; I remember a few (smw) rom hacks being played at gdq
@cmyk89642 жыл бұрын
Why not call this Expansion Pak support version the Kakuchou Edition (拡張 meaning expansion), like the Rumble Pak support version is called Shindou Edition (振動 meaning rumble)?
@ZedDevStuff2 жыл бұрын
Super Mario 64 plus exists tho, it's a version of the PC port with a lot of features
@FrontlinerCdV2 жыл бұрын
@@cmyk8964 I personally want it to be called the "Haha, RAMbus goes Vroom Vroom" - Edition
@supermodddd7 ай бұрын
Pretty incredible. Good work!
@Dunxco2 ай бұрын
I didn't understand any full sentences in the video but I sure did enjoy hearing you say "vroom vroom" a lot! Well done!
@felipepaez25562 жыл бұрын
As a programmer and engineer I can say that this is a MAJOR achievement and a LOT of work. I can't congratulate him enough. Heck, the fluid framerate even looks like Super Mario Galaxy or Super Mario Odyssey. I just disagree when it was said that "the Nintendo programmers were not familiar with C, because it was a new language back then". C originated in the early 70s and was and is a well-known language. However, what is certain is that many 90s game programmers were making the transition from assembly to C / C++ code, I think that's what was implied in the video. It's a minor detail, like a 0.001% of what's in the video. KUDOS
@nlight87692 жыл бұрын
Oh ok, I was wondering how C was a new language being already at that time 20 years old or so... It took that long to begin transition ? was it due to compiler refinements ? or just inertia ?
@digiquo81432 жыл бұрын
@@nlight8769 high level languages did not compile efficiently enough to be usable on older consoles, N64 was one of the first where the hardware power was capable of handling the unoptimizations to a degree
@nlight87692 жыл бұрын
@@digiquo8143 Thanks :) Just one last question, what was the language used for the previous gen (SNES, MegaDrive) ?
@digiquo81432 жыл бұрын
@@nlight8769 From what I've read, most were built with assembly. aka, assigning the hex values to their location in memory manually.
@nlight87692 жыл бұрын
@@digiquo8143 Wow, asm is pretty hardcore for anything elaborate. Respect to the designers and programers from that era. Thanks :)
@pulsekinesis2 жыл бұрын
7:45 "Usually if you did this, you would get fired from your job" Completely understandable, won't even lie. I can't imagine even the most well-equipped programmer understanding something as insane as the Q_rsqrt function (for an example of course), especially during that time period. Ahh, classic C black magic.
@LizardLeliel2 жыл бұрын
A lot of this stuff would get you fired, the loop unrolling also comes to mind. I hope Kaze points out that although he's optimizing everything, optimization is only one facet of good programming and generally not the most important one in a professional setting like readability.
@renakunisaki2 жыл бұрын
You might not be fired if you left comments explaining exactly why you're doing these silly things, and tests showing that they are actually helping.
@Radgerayden-ist2 жыл бұрын
@@LizardLeliel it's all about context. He's programming for a never changing target (dead platform), with so much hindsight. There's no need to worry about mantainability because the game (engine) is forever done, etc. I'm sure if this was a an "actual job" he wouldn't be fired, he's worked according to requirements.
@LizardLeliel2 жыл бұрын
@@Radgerayden-ist I'm not saying he's doing bad for focusing on optimization here - he's the only programmer involved in this project. I'm just genuinely afraid new programmers may get the wrong idea that the standard of good code is just optimization.
@Eldoofus2 жыл бұрын
@@LizardLeliel as someone who constantly messes up in Scratch, I can confirm readability is key to make a good game, even there you may get disoriented if you're being reckless with the block programming, let alone other guys looking at your code. Yes, even with a language made for kids, these things can happen.
@HyperMario643 күн бұрын
It makes me so happy to see millions of people enjoying technical content like that. Thank you for making these.
@oscarvelay6 ай бұрын
god bless you, that footage is smooth!
@margalocaris Жыл бұрын
The older a game gets, the more people are going to crack it open, either to make modifications or exploit what's there. I think that's a beautiful thing. Amazing work!
@FunctionallyLiteratePerson Жыл бұрын
Especially if the source code leaks
@yosyp5905 Жыл бұрын
@@FunctionallyLiteratePerson from what I understood, the source code hasn't been leaked. It was reversed engineered.
@davidkben1155 Жыл бұрын
@@yosyp5905 no, someone leaked the source code of the game :P
@mapes2572 Жыл бұрын
its kinda sad tbh
@lizzieaoi7140 Жыл бұрын
@@yosyp5905 it was both leaked(partially iirc) and reversed engineered
@CompleteAnimation2 жыл бұрын
I love how you don't throw shade at the original devs. You respect the work they did, but use all the tools at your disposal to optimize it into something beyond what they could have imagined.
@rtyuik72 жыл бұрын
6:45 sums it up best-- "...so i really dont fault Nintendo for not doing this; they just Couldnt"
@OtakuPlayTM2 жыл бұрын
he did throw shade at them a few times.
@arciks112 жыл бұрын
@@OtakuPlayTM 2 extra raycasts for shadows
@soulextracter2 жыл бұрын
@@OtakuPlayTM They did deserve a little shade at least. Some of these things are a bit bonkers, and C had already been popular for about a decade (it gained popularity during the 80s)
@SoulofStatic2 жыл бұрын
@@soulextracter Nintendo was lazy imo when it came to coding
@JooshMaGoosh17 күн бұрын
"70 - 90% faster" should just be the resume you send to nintendo
@spinal_cord9 ай бұрын
I'd love to see a rom patch for these improvements. It would be nice to see how much better M64 would run.
@draggonhedd2 жыл бұрын
One interesting thing I noticed, in the new version all of the coins are synchronized.
@GoldenHeartNecklace2 жыл бұрын
I wish this man was my programming teacher back in my youth. I couldn't help but smile throughout the entire video and at how passionate he is about all of this.
@edeneal33362 жыл бұрын
You mean vroom vroom
@JVZBrowserАй бұрын
I find it amazing the broad understanding of software and hardware
@aSameplayer2 ай бұрын
Danke dass du mir mein Thema für die Materarbeit nimmst :)
@flammablewater17552 жыл бұрын
Because of the tight constraints of early consoles, I always assumed, especially for a first party Nintendo game, that they were already very optimized. This blew my mind.
@ThisNameIsBanned2 жыл бұрын
Well it was fairly optimized for what it was. The game did work and people played it, it almost never crashes, so thats quite a job already. At any stage of optimization there is another step to make it even better, so it never ends. The cost to squeeze out some % might just become increasingly larger and costly, especially on understanding the code and potentially re-using it for some other game (as having hard-coded shadows in the code is a pretty bad approach if you want to re-use it).
@syncmonism Жыл бұрын
It was pretty well optimized for the time
@bwgti Жыл бұрын
Hindsight 20/20. More is known about the N64 hardware now than when this was developed. Optimization techniques always advance. Like all technology. Doesn't indicate this is not an impressive accomplishment. Just everyone asking why Nintendo didn't figure this out back then.
@lordasaki Жыл бұрын
Like he mentioned in the video, almost none of this would've been possible without the RAM expansion pak.
@gamesandplanes3984 Жыл бұрын
It was already optimized. Did you watch the video? He explicitly says this isn't possible on the base n64 console.
@mCoding Жыл бұрын
Love the way you document the process, glad to be along for the journey!
@casperdewith Жыл бұрын
Pretty cool to see the king of syntax in the wild.
@walidfakhfakh3660 Жыл бұрын
@@casperdewith why yall love super mario 64? n64 is too old and thr game looks bad anyway
@Ryanmuniverse8 ай бұрын
I don’t understand much of this but you make it super entertaining to watch.
@sgbbco39816 ай бұрын
So glad the algorithm served this to me. Subscribed. Amazing content and appreciate the quality and explanations without getting too deep in the weeds.
@soldio41432 жыл бұрын
What we expect from an Official "Remastered Classic" : This passion project. What we actually get : We lost the source code...so we just scrapped something similar together and hope y'all don't notice
@Saplingbat2 жыл бұрын
@@lilaa3 Nintendo is an awful company from a consumer level and I'll actually never buy another product from them as long as I live. Even if I may want to.
@shirosakicero12 жыл бұрын
Or they take the source code from the worst versions of the game.
@HexOmega3113 Жыл бұрын
Silent hill......
@flaviottyd Жыл бұрын
@@lilaa3 Yeah it's more like "We've already got a working emulator for these games, it'd be faster to just use that, than spend the dev time to make a proper port" than anything about losing the source Still, there's so many things they could've fixed and just decided not to. Didn't even take the time to change the goddamn button textures. I don't remember my switch having a bean shaped grey X button, or a bright red B. One of the only changes I can recall that made it into the initial release was mario sunshine's camera controls being inverted to align with the other games. Which made it feel completely wrong to anyone that's played sunshine before. The only major change made the game worse for a lot of players
@beanseason6515 Жыл бұрын
That's what happened with FF8 remaster
@Goat-on-a-Stick2 жыл бұрын
This is extremely impressive as well as interesting!
@pancakefish2 жыл бұрын
this means vroom vroom
@DIRT8IKEАй бұрын
I keep coming back to this video, this is just a programming marvel and an insane level of the understanding for the hardware that it will be running on
@jacobwetherby5 ай бұрын
TY! It's looking like every game studio needs to have an optimizing department!
@calingligore Жыл бұрын
I didn’t believe it’s possible at first but the vroom vroom joke really does get funnier the more it’s repeated
@TepidBlack Жыл бұрын
The Family Guy effect
@Sebb_Music Жыл бұрын
Repetition legizimizes
@otesunki Жыл бұрын
@@Sebb_Music Repetition legitimizes
@meanmole3212 Жыл бұрын
@@otesunki Repetition legitimizes.
@Ghi102 Жыл бұрын
Rule of 3 be damned
@garnet19182 жыл бұрын
7:23 This is very interesting. Usually I hear about compilers unrolling loops to optimize them, but here, the holdup is RAM, not the processor. Incredible work all around.
@kebien60202 жыл бұрын
Modern computers are also massively being held back by the RAM being so slow. I think the difference is that now we have more mitigations for that, like larger caches and speculative execution. This probably shifts the place where code-size vs conditional jumps balance out (conditional jumps in non-unrolled loops are also bottlenecked by memory).
@jan-lukas2 жыл бұрын
@@kebien6020 also compilers are getting better at removing conditional jumps altogether. In modern C(++) code you don't have to manually remove most ifs because the compiler does it for you. I realized this when I wrote OpenGL shaders that aren't optimized at all I think so you had to manually do all the tricks to avoid ifs. Just by removing a few ifs in the shaders I gained much more performance than by implementing batched rendering
@johnsimon84572 жыл бұрын
Did he say RAM or ROM at 7:23 8 and 16 bit systems run directly out of ROM and don’t copy any code to RAM for execution. A PC OS (IIRC) will load everything into RAM from disk barring external libraries. Eight cycles JUST to load the next instruction from ROM is INSANE. Removing instruction cache would make the N64 run 100x slower
@ShawnFumo2 жыл бұрын
@@kebien6020 I seem to remember hearing one of the biggest advantages of M1 is how it can optimize the caches.
@AetherXIV Жыл бұрын
you are insane man... incredible work
@MichaelJones-gh4lq10 ай бұрын
OMFG. AMAZING, I have to get your mod and I can't believe how much i've learned about coding as a systems engineer ( not much coding like rockets and phone components)