+1.4 FPS at this point is crazy EDIT: I went back and when you added F3DEX3 and it was 50, you said with F3DEX2 it was 3 less. There's been a level rework between (so it's a bit apples to oranges althought it's a minor change) but that's 47 -> 55 -> 60 (Hopefully), that's a gain of 8 fps or 13 fps if 60 is possible.
I think I would choose to limit to 30fps by default, for consistency while playing. If someone is interested in seeing how high the FPS can go I'm sure they'll find the option in the menu.
@@SinisterPixel Not how that works. A 60fps display can only display divisors of 60. So 60, 30, 20, 15, and so on. There's a reason consoles only added a 40fps mode once 120fps tvs were readily available. (For a 120fps display it goes 120, 60, 40, 30, 24, 20 and so on.) This is because the way a display handles showing framerates other than it's native one is by showing the frame for a higher number of frames. So showing 30fps on a 60fps screen is easy, just display it twice. But 48fps would requires showing it for 1 and a half frames, which it can't do.
@@MrHamof You're basically correct, but there is no such thing as a 120fps or 60fps display. It is called a 120Hz or 60Hz display. Because there are displays today that have VRR (Variable Refresh Rate), some displays can display at 40Hz which looks way better with 40fps.
@jelly063 I did use the wrong unit yes. And you're right that VRR changes this, with VRR you can just do whatever framerate and it's fine. (Within the range the display is capable of)
"a new OS, because a lot of the libultra functions are up to 40% inefficient" is a crazy bombshell. Isn't that the N64 SDK that every official N64 dev used back in the day? At this point you're definitely pushing the N64 hardware to further heights than even its original designers intended lmao
2:38 And here we see how strict SM64 is about how vertical a triangle must be to be considered a wall: this one counts as a very steep floor, but in Sunshine, even the sides of the Shine Gate are walls
@ I see. It does seem a bit unrealistic for everything to be a solid 60 fps lol. I think making room for things like more enemies or objects makes more sense
@@laneplain107 that wouldn't be good at all 60hz output needs to be evenly divided for smooth framerate eg.30/20/15/10 . The only other thing you cna do is go for a PAL mode 50hz output and have the game run at 50fps or 25fps but i'm not even sure this mod can support 50hz since it will be based on the US rom. You would be suprised how many CRT actually support both 50 and 60hz
i want options, i want to have access to that little menu of yours, i want to be able to turn on or off stuff, i want to chose widescreen or 4:3, all of that is really cool! you could also maybe add a terrible hi res mode that tank the framerate like a proper n64 expansion pack game
Maybe you could have the demo detect whether you're playing on console or emulator and apply the framerate cap based on that? I'm assuming most N64 emulators are able to run this game at 60 FPS no matter what, but since the N64 itself can't quite do that, having the framerate capped at 30 would be better there.
So not only did you make it close to 60fps but you also made it look on par in graphics to an early GameCube game! You’re an incredible programmer and artist
Get a super64 instead of everdrive it's way cheaper, and still has the ntsc/pal switch! It's prob only cost you max $120 for an N64 and super64 combined
30fps default for the demo is fine. Adapting the frame cap on a per stage basis is fine too, as an option. Uneven frame pacing is ass. My only real concern is that it actually DOES look like the game is slowing down in this footage instead of just getting choppier. I would double check if the logic is actually slowing down when the fps falls. It may slow if the fps falls to 30 under load but also play fine if the fps is artifically capped in an area that would otherwise be a solid 60.
I'd agree with the rest of the comments that it should be locked to 30 default, but I think that the frame limit should be an on/off switch since those sections where it does hit 55-60 FPS look stunning (I also want to ooh and ahh at the big number).
I can't help but wonder. I know Ocarina is said to have been build using a heavily optimized version of SM64's source code, so I wonder if all of these crazy optimizations was applied to that game, if it would actually be able to run at 30fps? xD
congrats for the 1.4fps boost! i have two thing to point out with this video though. i hear your microphone sometimes lagging, especially at 1:45, and i see a not so faint moiré effect on the wall at 1:48 and at 1:52. does that effect happen due to aliasing or by an inefficient resizing method?
the microphone is an obs issue. that program is just cursed and idk what to do the wall is normal, that's because of how distorted the UVs are. nothing to worry about since thats a debug overworld
having experience with melee and OoT (games requiring frame specific inputs) I'd say having a consistent framerate is far more important than having 60fps in certain areas.
Game's be running at 55fps, meanwhile the microphone is at 23.5fps! =P (I know this is nonsensical, but please let be have this one! ^^) Wonder what introduced the audio spaces.
40fps locked is the sweet spot for hardware limited scenarios nowadays in my opinion, but not only for vrr, 25ms is exactly half between 60 and 30, better response perception is a good plus since you are improving the game. the cycles you waste putting to 60, could be used to improve visuals or stage sizes in the original hardware.
I like the idea to limit it to 30 and set it to 60 in areas you know it will run well. I had Sega Rally 2 on Dreamcast that was 60 fps but it was super annoying when it would switch form 60 to 30 fps just as you were getting used to it that I used a cheat to lock it to 30.
Honestly the game looks so much better without anti-aliasing than with. I'd love to see a higher resolution mode like some Rare games had, just to see if something closer to 480p makes the game look better than 240p with AA. EDIT: maybe a faster/more subtle version of AA could be implemented as a middle-ground?
День тому
IFAIK, the AA functionality is hardware-based. Hard to implement some sort of a variant of AA
Delfino plaza on stock N64 running better than most of sunshine now. And now you want to recode the low level libraries. The N64 was definitely a misunderstood beast you are right
If you can't get 60, lock it to 30, stable framerate and frame time is allways the best, some areas at 60 and some at 30 isn't a good idea because that breaks the immersion. I think it's best to get everything to a solid 30 in this case.
I will always take a locked framerate over inconsistent spikes and dips.
12 годин тому
I literally just bought a SC64 to play the demo when released, if you need some beta testing I would be pleased to play & record it on original hardware 💘
Will you include these video options for the release? So we can turn on/off anti-aliasing ourselves? I, for one, would really appreciate if we could change this on/off like you are doing in this video.
Obviously we have the benefit of 30 years of additional knowledge and skill, but if the N64 library all ran and looked to the standards we can achieve today, it would have easily matched the PS1 that generation, rather than take a decisive loss. Crazy to think about.
I'm not sure if you intend for your game to end with a cutscene but it would be interesting to see how impressive one can look at 30 fps with your engine.
I think an option is good for this project because it's a technical showcase of all the optimizations he's done and talked about over the years, and it's interesting to see how fast it can run (might as well leave in an optional frame counter for those who are interested). But I don't think having no option is a sign of bad development for all games. In fact I think on console it's also good development if the game content makes such good use of its available performance and doesn't waste any free cycles that it's always sitting near a target framerate and as a result there's no point in having multiple frame rate options.
i think 30 fps is pretty because thats what we remember and like, but toggeling between 30-60 fps is a genius idea, lets say for someone a bit less nostalgic
yeah way before! the stage has since expanded a lot and i've uncapped the drawing distance. that pulled it from 60 all the way back down to 36. now i'm slowly creeping up on 60 again.
30 fps cap for the whole game even if the first level can hit 60 makes sense. But please try double buffered v sync, if the game always hits 30fps it's the best option.
If I were you, I would always limit the game to whatever frame rate can be held near 100% of the time min, as stutter of any kind is imo far worse than having a lower but rock solid frame rate. So, in the final game, I say go for the highest locked frame rate you can manage. Or, at least have that as an option, and then offer people the option to play with a variable frame rate that at times can go higher if they so choose. :)
it seems to me that mario's animations or something make the game feel sluggish at 30fps, compared to mario sunshine, another 30fps game. maybe that's something that could be worked on?
If there is any way to lock the fps to 60, I will always prefer it over 30fps, when a game runs higher than 60fps and the GRAF is a mess I like to use software that makes the GRAF super stable, like Rivatuner and AMD CHILL (basically locking it to 60fps)
Personally I would choose 30 by default. The unlimited framerate is impressive, but the average player would think it's running poorly because it's uneven.
Maybe it's just me being a weirdo but I'd like to have the game locked to whatever the most reasonable locked framerate is... If it's 45 in every single zone except one where it drops to 40, then make the cap 40. I'm used to PAL where even 30 fps was really 25 for us so odd and strange frame-rate numbers is nothing new. As always, higher number better but more consistent is best.
imagine going back in time and showing this to nintendo devs
I would love to hear the room of 90's computer scientists all have different reactions.
this would traumatize a Victorian Nintendo dev
imagine going forward to Japan and showing this to Nintendo devs.
DMCA
This would atomize a cave developer.
+1.4 FPS at this point is crazy
EDIT: I went back and when you added F3DEX3 and it was 50, you said with F3DEX2 it was 3 less. There's been a level rework between (so it's a bit apples to oranges althought it's a minor change) but that's 47 -> 55 -> 60 (Hopefully), that's a gain of 8 fps or 13 fps if 60 is possible.
Ok, now that I've seen the video, having the RDP wait less is amazing
You guys dissected Mario 64 to the point that is almost a science degree.
I think I would choose to limit to 30fps by default, for consistency while playing. If someone is interested in seeing how high the FPS can go I'm sure they'll find the option in the menu.
Yep, frame consistency is really important so if it fluctuates by 10% or more, I'd rather lock it.
Lock to 48 instead. Because it's a multiple of 6, a 60Hz display can render it without any stutter. And it runs significantly smoother than 30fps.
@@SinisterPixel Not how that works. A 60fps display can only display divisors of 60. So 60, 30, 20, 15, and so on. There's a reason consoles only added a 40fps mode once 120fps tvs were readily available. (For a 120fps display it goes 120, 60, 40, 30, 24, 20 and so on.) This is because the way a display handles showing framerates other than it's native one is by showing the frame for a higher number of frames. So showing 30fps on a 60fps screen is easy, just display it twice. But 48fps would requires showing it for 1 and a half frames, which it can't do.
@@MrHamof You're basically correct, but there is no such thing as a 120fps or 60fps display. It is called a 120Hz or 60Hz display. Because there are displays today that have VRR (Variable Refresh Rate), some displays can display at 40Hz which looks way better with 40fps.
@jelly063 I did use the wrong unit yes. And you're right that VRR changes this, with VRR you can just do whatever framerate and it's fine. (Within the range the display is capable of)
There's a frame at 1:02 where the indicator shows 81 fps, rambus went VROOM VRROM 🚌🚌
thats what they meant by ULTRA 64
I actually found a frame where the indicator shows 82. Crazy!
rambus went so vroom vroom that the video compression glitched at that exact moment
"a new OS, because a lot of the libultra functions are up to 40% inefficient" is a crazy bombshell. Isn't that the N64 SDK that every official N64 dev used back in the day? At this point you're definitely pushing the N64 hardware to further heights than even its original designers intended lmao
Super impressive what you've accomplished man. Keep up the good work
Imagine a super Mario 64 romhack optimized at it's fullest potential being released in 2025
its*
@@JorgetePanete yea I typed that comment using voice recognition lol.
No need for a Romhack even, it's been decompiled so they can just recompile it with whatever changes they like!
2:38 And here we see how strict SM64 is about how vertical a triangle must be to be considered a wall: this one counts as a very steep floor, but in Sunshine, even the sides of the Shine Gate are walls
Lock it to 30 by default. Consistent frame pacing is the best foot forward.
I was thinking about that, but when this is fully complete 60 fps might be stable
the full game will never be stable 60. any performance improvements made are going to be used to add more stuff to levels while maintaining 30fps.
@ I see. It does seem a bit unrealistic for everything to be a solid 60 fps lol. I think making room for things like more enemies or objects makes more sense
@@KazeClipsadd option to unlock fps also
@@laneplain107 that wouldn't be good at all 60hz output needs to be evenly divided for smooth framerate eg.30/20/15/10 . The only other thing you cna do is go for a PAL mode 50hz output and have the game run at 50fps or 25fps but i'm not even sure this mod can support 50hz since it will be based on the US rom. You would be suprised how many CRT actually support both 50 and 60hz
i want options, i want to have access to that little menu of yours, i want to be able to turn on or off stuff, i want to chose widescreen or 4:3, all of that is really cool! you could also maybe add a terrible hi res mode that tank the framerate like a proper n64 expansion pack game
that menu will be in game!
@@KazeClips oh maybe theres a quiproquo i thought you were planning on arbitraly locking stuff which was weird, that males much more sense
I'm noticing there's a lot of visible dark seam lines on the triangles in that first level here.
Those look like deliberate debug/wireframe lines to me, but yeah they're pretty noticeable if not
Constantly blown away by your work... Holy moly
so close to 60
Maybe you could have the demo detect whether you're playing on console or emulator and apply the framerate cap based on that? I'm assuming most N64 emulators are able to run this game at 60 FPS no matter what, but since the N64 itself can't quite do that, having the framerate capped at 30 would be better there.
that is what i do exactly
Agreed. Frame pacing definitely matters.
But why can I see the world geometry triangles now? Why does it go away with AA?
looks to be a render mode issue. when i turn it on then off again, that bug disappears.
So not only did you make it close to 60fps but you also made it look on par in graphics to an early GameCube game! You’re an incredible programmer and artist
Kaze you are insane. In a good way. You skill and dedication is incredible.
I’m genuinely buying a N64 from a second hand shop, and an Everdrive 64, specifically for this. As long as it works on a PAL machine!
Get a super64 instead of everdrive it's way cheaper, and still has the ntsc/pal switch! It's prob only cost you max $120 for an N64 and super64 combined
You should get an NTSC setup, it is better.
@@pukalo I'm British.
@ my condolences
If Delfino plaza is going to be hidden then challenge accepted lol
Could you compute baked shadows on the Delfino Plaza stage?
The water looks amazing.
I love these little performance/technical updates!
I'm very excited to play this.
30fps default for the demo is fine. Adapting the frame cap on a per stage basis is fine too, as an option. Uneven frame pacing is ass. My only real concern is that it actually DOES look like the game is slowing down in this footage instead of just getting choppier. I would double check if the logic is actually slowing down when the fps falls. It may slow if the fps falls to 30 under load but also play fine if the fps is artifically capped in an area that would otherwise be a solid 60.
in capped fps mode, the games framerate and the rendering logic are tied so yeah that will happen
that wall slide at 4:10 seemed pretty awkward. mario probably shouldn't wall slide when going up
Isn't it how it works in every game with wallslides? I know it works like that in Sunshine and Maker at least
i absolutely love watching your videos breaking down how you did this stuff
I'd agree with the rest of the comments that it should be locked to 30 default, but I think that the frame limit should be an on/off switch since those sections where it does hit 55-60 FPS look stunning (I also want to ooh and ahh at the big number).
This demo will rock the n64 world
I can't help but wonder.
I know Ocarina is said to have been build using a heavily optimized version of SM64's source code, so I wonder if all of these crazy optimizations was applied to that game, if it would actually be able to run at 30fps? xD
"Heavily optimized" and then can't even keep the "50 divived by 3"(16.66, lmaooo) of the PAL version throughout the entire thing.
congrats for the 1.4fps boost! i have two thing to point out with this video though. i hear your microphone sometimes lagging, especially at 1:45, and i see a not so faint moiré effect on the wall at 1:48 and at 1:52. does that effect happen due to aliasing or by an inefficient resizing method?
the microphone is an obs issue. that program is just cursed and idk what to do
the wall is normal, that's because of how distorted the UVs are. nothing to worry about since thats a debug overworld
Damn, my guy, sit down, ill get you some water
having experience with melee and OoT (games requiring frame specific inputs) I'd say having a consistent framerate is far more important than having 60fps in certain areas.
Game's be running at 55fps, meanwhile the microphone is at 23.5fps! =P
(I know this is nonsensical, but please let be have this one! ^^)
Wonder what introduced the audio spaces.
Spliced run, gasp! /s
it has to be stupid obs, it introduces the same issue with the footage too.
Man, Delphino plaza looks like it really wants to be raced in.
40fps locked is the sweet spot for hardware limited scenarios nowadays in my opinion, but not only for vrr, 25ms is exactly half between 60 and 30, better response perception is a good plus since you are improving the game. the cycles you waste putting to 60, could be used to improve visuals or stage sizes in the original hardware.
honestly i just really want to see mario running at 60fps on my actual console
3:35 crazy sentence for an audio glitch
A customizable limit would be nice so you can cap the fps at 40 or 50 fps. I think a constant 40 fps would look a lot less stuttery than 30 fps.
I cant wait to be the first person to find dalfino Plaza in the demo
personally i think you should keep the option for unlimited framerate. this is crazy that you keep pushing that frame rate in such a quick time frame!
1:30 I'm sure that many people care more about frame rate than about antialiasing.
Hence the option toggle. I prefer anti aliasing, 30fps looks fine to me.
@@mustbge0That’s a crazy opinion. I could see if you were talking about like 4K @30fps
@acrawford01 no I mean I’m just use to 30 fps from playing a lot of older games. I didn’t say 30 was good, just that I don’t mind it.
@@aliquis2022 AA is useful on LCD, CRT may not need it. The huge FPS impact is the N64 0.1 or 0.2 GFLOPS at work...
30 is probably good but an option for 60 would be great for people who have no lag features on with project 64
I like the idea to limit it to 30 and set it to 60 in areas you know it will run well. I had Sega Rally 2 on Dreamcast that was 60 fps but it was super annoying when it would switch form 60 to 30 fps just as you were getting used to it that I used a cheat to lock it to 30.
impressive as always
This is so awesome!
Seeing Delfino Plaza on the N64 makes me wonder, if an Assassins Creed 1 Nintendo 64 Port was possible 😅
Honestly the game looks so much better without anti-aliasing than with.
I'd love to see a higher resolution mode like some Rare games had, just to see if something closer to 480p makes the game look better than 240p with AA.
EDIT: maybe a faster/more subtle version of AA could be implemented as a middle-ground?
IFAIK, the AA functionality is hardware-based. Hard to implement some sort of a variant of AA
i actually prefer it with antialiasing
Toggleable FPS cap for the demo would be the best but if that's impossible for some reason, then I prefer 30 FPS cap to variable frame rate.
it's toggleable without issues! and yeah i think 30fps cap by default on n64 is preferable too and that's the current setting.
@@KazeClips you mentioned 60 fps feels different than 30, having one area (which can handle it) change to 60 as a stylistic thing would be cool
Every day we get closer to a true Mario 64 with RTX experience 🎉
Delfino plaza on stock N64 running better than most of sunshine now.
And now you want to recode the low level libraries.
The N64 was definitely a misunderstood beast you are right
Probably less buggy than Sunshine too, lol.
I think the limited 30 fps looks fantastic.
I wonder if with these optomisations, it would be possible to ramake the 64 DS grahical upgrades in the OG game.
i would like to have the option for uncapping the FPS and using your “per-level cap” (or just a capped 30) if possible
your audio recording keeps glitching (example at 0:55)
ive tried to fix it, but obs is just cursed
If you can't get 60, lock it to 30, stable framerate and frame time is allways the best, some areas at 60 and some at 30 isn't a good idea because that breaks the immersion. I think it's best to get everything to a solid 30 in this case.
I will always take a locked framerate over inconsistent spikes and dips.
I literally just bought a SC64 to play the demo when released, if you need some beta testing I would be pleased to play & record it on original hardware 💘
Either lock it to 30 or go for most 30 with some areas with a 60 FPS lock as long as you know that the FPS will never drop on said areas
what blender plugins do you use to make stages n such?
He uses Fast64 as mentioned at 0:34
Will you include these video options for the release? So we can turn on/off anti-aliasing ourselves? I, for one, would really appreciate if we could change this on/off like you are doing in this video.
exciting stuff
A lot of console game developers were scared of providing options like anti-aliasing, but I always thought it was a good idea.
id like a 30 & 60 version ty
Why do you disable Mario's Idle for these vids? Is it to like, see the performance boost of the rendering excluding moving around polygons?
Obviously we have the benefit of 30 years of additional knowledge and skill, but if the N64 library all ran and looked to the standards we can achieve today, it would have easily matched the PS1 that generation, rather than take a decisive loss.
Crazy to think about.
How well does the game run on the NSO emulator?
Definitely 30 FPS limit. Asking for every last frame even if its variable is imo a naiive approach, locked always looks better.
I'm not sure if you intend for your game to end with a cutscene but it would be interesting to see how impressive one can look at 30 fps with your engine.
What causes the seams between polygons in the first stage? Is this a bug?
Well time to replay the Demo from ....2020? Again before the new Demo
I think having an option to change 30 to 60 fps would be nice
Giving the user the option of what framerate they want is just a sign of good development. Keep the toggle in there, you may as well.
I think an option is good for this project because it's a technical showcase of all the optimizations he's done and talked about over the years, and it's interesting to see how fast it can run (might as well leave in an optional frame counter for those who are interested).
But I don't think having no option is a sign of bad development for all games. In fact I think on console it's also good development if the game content makes such good use of its available performance and doesn't waste any free cycles that it's always sitting near a target framerate and as a result there's no point in having multiple frame rate options.
Does it get stable 30 with anti aliasing?, because then I might turn that on by default. It really gives it an almost gamecube like look.
i think 30 fps is pretty because thats what we remember and like, but toggeling between 30-60 fps is a genius idea, lets say for someone a bit less nostalgic
I prefer a constant 30 than fluctuating around or slightly above 30
wasn’t this stage running at 60fps a while ago?
yeah way before! the stage has since expanded a lot and i've uncapped the drawing distance. that pulled it from 60 all the way back down to 36. now i'm slowly creeping up on 60 again.
@ will all the stages run at 60fps? or will detail be prioritized on some and have them run at 30?
I'm so looking forward for that demo
30 fps cap for the whole game even if the first level can hit 60 makes sense. But please try double buffered v sync, if the game always hits 30fps it's the best option.
Seems like most people are in agreement, but I also vote 30 fps cap by default.
If I were you, I would always limit the game to whatever frame rate can be held near 100% of the time min, as stutter of any kind is imo far worse than having a lower but rock solid frame rate. So, in the final game, I say go for the highest locked frame rate you can manage. Or, at least have that as an option, and then offer people the option to play with a variable frame rate that at times can go higher if they so choose. :)
Pardon my ignorance but is this emulator only or does this work on consoles too?
it seems to me that mario's animations or something make the game feel sluggish at 30fps, compared to mario sunshine, another 30fps game. maybe that's something that could be worked on?
What system is this running on ?
I prefer a constant 30fps with good frame pacing.
If there is any way to lock the fps to 60, I will always prefer it over 30fps, when a game runs higher than 60fps and the GRAF is a mess I like to use software that makes the GRAF super stable, like Rivatuner and AMD CHILL (basically locking it to 60fps)
nice thumbnail
Are you using sprites for coins? I don't remember Mario64 coins being so pixely.
these coins are a lot more detailed than the standard mario 64 coins - the resolution is 4x as high and they have 8x as many animation frames
@@KazeClips Aren't coins in the "vanilla" Mario 64 fully 3D though (basic cylinders but still)?
@@UltimatePerfection no, they are a single billboarded quad
Personally I would choose 30 by default. The unlimited framerate is impressive, but the average player would think it's running poorly because it's uneven.
Is your game casual-friendly or a very hardcore Mario64 player experience.
I think stable 30 FPS would be the best.
Maybe it's just me being a weirdo but I'd like to have the game locked to whatever the most reasonable locked framerate is... If it's 45 in every single zone except one where it drops to 40, then make the cap 40.
I'm used to PAL where even 30 fps was really 25 for us so odd and strange frame-rate numbers is nothing new. As always, higher number better but more consistent is best.
I think the game would be better going for a consistent 50fps if possible.
What is bro even talking about what is this voodoo magic
Let's go🎉
we're inching dangerously closer to 60, thats crazy
sounds like capping it to 30fps by default is the right option
I always thought your name was pronounced Kah-Zay, as in Kamikaze.
His head looks weird