Another video update for Super Mario 64 on the Gameboy Advance. This week I've added more movement mechanics, a pause menu, various graphical options, improved textures, and fixed a long list of bugs. It's all starting to take shape!
@@fco64 the wii struggles on a fundamental level as the N64 runs off of a 64 bit integer for some computations. While the wii only runs in 32 bits. Which wouldn't mean much except some things actually run incorrectly because of that discrepancy. And while the wii is leagues faster. It has to loosely approximate the values necessary to run on the system. Causing inaccuracies thanks to having less bits in the pipeline.
@@Sinistar1983 i don't suspect its actually needed to run sm64 in the same way (sans glitches that abuse this aspect), but it would definitely require huge refactors of the code to do. a lot of work for little gain, but i'm sure someone will do it eventually. they have for doom
Well there's also COPS : recruit i had the game as an kid and it's actually a full 3d GTA on the DS It's incredible. There's lot of games that pushed the limits of the DS same goes for the GBA but never we saw a real 3d game this huge on a GBA (Except for the unofficial port of tomb Raider) Congrat to the developper it's amazing
Mario Kart DS, Hotel Dusk, Last Window, COP The Recruit, Moon DS, Metroid Prime, Solatorobo are a few of the technical showcases of what the Nintendo DS is capable of.
What about doom, doom 2, cars mater national championship, monkey ball jr, asterix and obelix xxl, driver 2 and 3, james bond, and tony hawk downhill jam!
Very impressive work. I think I actually prefer the "no stage textures" look. It looks much cleaner and greatly cuts down on the visual distortion that the more detailed textures introduce.
yeah it looks better because of less distortion. Perhaps you can reduce the detail of the textures to reach a midpoint. adding details as minimal as possible and use that extra power on characters.
@@JoshuaBarrettothe way the perspective is being rendered might be distorting the textures. Of there was a way to lock the texture perspective it might keep that from happening, but I eat crayons so
@@ImperatorZed It's less about precision and more that texture rendering is using fast-but-wrong affine texture mapping. As textures become larger and approach grazing angles, the difference between affine and perspective-correct texture mapping becomes greater.
@@linkthehero8431 The OG GB is a good story that has probably drawn some people to the museum. In reality the internals was probably swapped out before it was put on display. The shell is so deformed and scorched there is not a chance the components inside would've survived a blast
@@Frustratedartist2You very obviously never grew up with Nintendi back in the 2000s. The same Nintendo that just nonchalantly announces a Metroid Prime game as a headliner game for their newrst handheld. The same madlads who would remake Mario 64 for a device without a dpad and actually put effort into it.
That the GBA can do this at ALL and get so close to the real deal while being playable/holding a stable framerate is genuinely impressive, especially since it wasnt even designed with 3D in mind. And TBH, I actually think it looks better with flat shaded polys. Loss of texture is worth it if it means better gameplay. It almost looks like Star Fox SNES, but as a platformer that way! I can't wait to see future updates!
It honestly looks soooooo much better when you disable the textures imo as the shapes of the environments and the differently lit surfaces do enough to add some visual variety. Not to mention the performance improvement it yields. Affine texture mapping gives me a headache honestly haha. But either way, this is such an incredible achievement you've made here! I cant wait to see where this goes!!!
Honestly, the moveset wasn't too bad. I've been writing games for quite a few years now so there's nothing hugely complex in there. I did have a few annoying collision bugs to fix that made falling through the floor a frequent problem though. Those are broadly fixed now though.
This is insane! It's got the main functionality of mario 64, it's incredible to see how far this project has come, from a red triangle to fully functional movement, I can't wait for this to be complete!
wow, this is really starting to come to life already! one idea: when you switched between textures and solid colors, it made it very apparent that the severe texture warping puts some strain on the eyes. turning off textures almost felt like a relief. unless you can mitigate the issue, i wonder if you should use textures somewhat sparingly, primarily for important details or where they dont warp as intensely. also, for similar colored triangles over a larger area (for example grass), vary the color a bit. it would also help with performance, so a win-win of that and feeling a bit better. i would still include full textures as an option, but mostly just for it being cool and impressive, not practical.
the texture warping is called affine transformation in Playstation, and this is common issue for playstation games. the partital solution is by subdiving triangles, but this effect dosen't remove it completely.
the fact this runs better than randy's quake port blows my mind. we'll see how it gets when more of the game is finished, but this is fantastic work dude
Perspective correct mapping is a bitch computation wise as it requires division, which ARM didn't have until Cortex A7. Affine texture mapping doesn't require any divide operation. It's why the PS1 GPU uses it, division logic takes up lots of die space.
Dude, what you're doing is precious... don't let it become a bad experience for you, please let yourself enjoy your own work, and please do not break yourself under the pressure.
@@Random64_ Exactly the same as it does here. Emulators that do higher resolution only work for consoles that pass off graphical work to the hardware (i.e: the emulator runtime). That's not applicable here because everything happens in software.
Incredible is an understatement. In just 1 month of development?! By now, the most impressive tech demo I've ever seen on GBA. And trust me, I've seen a lot of them!
The progress youve made in a month is honestly jaw dropping, i hope you continue this project to completion! Even if you dont this is still an impressive display of what the GBAs primitive hardware can do
A idea to optimize performance is to draw textures that are close to you and leave objects further out to be untextured. So that way you won't need to waste time on rendering anything further than necessary.
Using vertex colors for the ground would probably be an improvement, ground textures look uglier than the rest because they suffer from the most distortion.
As triangles get further from the camera, the proportion of their render time that gets taken up by actual texture mapping gets smaller. This means that the benefits of skipping texture mapping get increasingly small too. @genderrender I've already implemented mipmapping, which helps with this. Maybe I should just add an extra mipmapping level to really smooth things out in the distance.
@JoshuaBarretto another improvement could be cull some of the geometry outside the view? For example, in the slide in cool cool mountain i saw part of the room where you need to do some wall kicks to get the star.
Going back 2 decades ago from today to 2004, I think it would've been so dope if there was an alternate timeline where Super Mario 64 Advance was co-developed alongside Super Mario 64 DS! Then, if this had happened back in the days when the Nintendo DS was way more relevant than it still is at all (let alone the GBA's relevance), it would've felt very intriguing to have 2 re-iterations of Super Mario 64 inserted into one single gaming device, being a Phat Nintendo DS with SM64DS on Top (Slot 1) and SM64A on Bottom (Slot 2). By the way, I'm gonna make sure not to jinx what I think that could happen to this project, as I really want & need it to succeed for as long as it can survive! Keep up the great work, man!
I'm so glad that you added an option to enable/disable stage texturing! Ofcourse everything else you've been working on has been amazing too. Keep it up!
Incredible optimization work, it is really surprising what can be done on such old hardware, it really cannot move objects in 3D and you have to perform tricks to do it, all the support for the project to continue 👍
Absolutely love the progress and minimal appearance of the game with the stage textures off. So much accomplished in so little time. Cannot wait to one day play it.
I'll be honest, when I saw the first video I was disappointed that it wasn't running actual SM64, thinking that the project wouldn't go anywhere beyond a jumping triangle outside Peach's castle that wasn't even at least running off SM64's code. But I have to say, i'm happy to say my expectations have been greatly exceeded. You're actually going through with remaking a lot of, if not almost all of SM64 essentially from scratch on the GBA. It's awesome seeing how much progress you've made since then. Color me impressed. Even if this project is never completed, just know you've made history making a full 3D game on a GBA.
It's just incredible that this looks like Mario and plays like Mario. And the customization features are a really good addition. People could play it the way they want.
There is no sound to this video and yet my brain is auto playing every sm64 noise as you show us this project. Wish you nothing but the best man, this is such an awesome project.
this is freaking insane also i want to warn you while i was watching i started to feel sick i think the texture warping was the cause maybe this game needs a warning for that idk
Yoo this is dope. Thought the colors seem to be much darker then the bright vibrant colors on N64. Man the texture warping, if only it could be fixed as the ground can be so hard to see and give depth to the models.
The colour grading is due to the emulator applying a filter that attempts to mimic the GBA's screen colours. I might try to correct for them in software.
This is beyond impresive!!!! I hope you will finish this project because it is pure joy to see so advanced graphics on a GBA (Hope this inspires more projcets like openlara)
This is looking really sick, I have a suggestions: I actually quite like the no textured look, the world seems more understandable at a low res than the noisy textures, and the framerate is way higher, Id suggest some sort of depth shading, similar to how doom does it, where further away objects will appear darker (or bluer if you want to fit in with the skybox), and thats gonna give you a perception of depth wich is the only thing u really loose with removing the textures. No textures also help reduce how noticable texture wobble is Also, saving performance on textures might allow us to have a higher resolution or framerate, wich imo is way more important than textures for the playability of this port
The GBA is so underpowered that even distance fog represents a pretty substantial performance hit, sadly (at a guess, I'd say it's likely to cave the framerate in half).
@@JoshuaBarretto oh wow, that sucks then I guess lol Not quite sure how else to give a sense of depth without textures then, but I still find the terrain way more readable without textures
please do not take this the wrong way, I absolutely and completely ADORE the top and sides rows of pixels being all melty and rendered differently. Its like I'm looking down into some sort of pool or gourd of liquid, seeing an alternate, mystical universe that has fuzzy or hazy edges. A pool of liquid wisdom? Other comments here have said that the "solid coloring" of triangles looks really cool, and that gave me an idea. A secondary performance mode or texturing setting for the game world could be like a triangle by triangle yes texture or no texture mode that makes: bridges a solid color of brown, stone pillars and small stone blocks and all steel or metal beams a solid color of dark grey, grass triangles being solidly colored dark green with subtle color variation between each unique triangle, with everything else textured normally. Almost like a "halfway" option between using textures and not using them, though I have no idea how much performance would be impacted (positively?).
This is amazing! At this rate you could probably make a full port of the first level with enough time. Even just rendering the enemies as 2D sprites would be cool enough imo
The stage texture looks kinda headache inducing but besides that insane work man, to think something like this can be achieved in a GBA speaks volume to how much powerful these old school consoles can be. You're taking the GBA to it's utmost limit sir hats off to you
@@qar_ty7732I have Spider-Man 2 for GBA and it has a 3d city to swing in. (It looks terrible, worse than this) And it also does weird things with textures.
I agree. The textures sliding around give it a dreamlike/hallucinatory effect that's more disorienting than worth it (especially at this resolution). Flat colors are less busy.
This is actually insane, I love how you added settings. Personally, I prefer it untextured because it looks like those old 3D pc games and how I imagine Super Mario FX would’ve looked if it was ever made.
This is something magical here Still needs some work about Mario's animations, pacing and timing in his movements, but so far this all is amazing work, only one fully working level and castle is already will be enough to show how GBA can kicks, and this all already was possible on a little handheld!
Despite the gaming industry right now it’s genuinely amazing to see what independent developers have been able to accomplish on both new but especially old hardware. This is so impressive.
The evolution process of this game is impressive for a port of a 3D game and the graphics are wonderful, impressive how it runs so well on the Gameboy Advance