Super Mario 64 running on a Gameboy Advance

Поділитися
Вставка
  • Опубліковано 2 жов 2024
  • This is not actually Super Mario 64: it's my attempt at rewriting SM64 for the GBA.
    I initially considered attempting a port, but the GBA is an order of magnitude slower than the N64 and has no GPU or native support for floating-point numbers.
    So far, I've implemented a basic physics and collision system, along with a fully 3D camera, rasterization, texture-mapping, transparency support, etc.
    Because the code is written from-scratch, I should be in a position to release the code into the public domain in the future: although I can't distribute it with Nintendo's assets, obviously.

КОМЕНТАРІ • 2,2 тис.

  • @jsbarretto
    @jsbarretto  4 місяці тому +1975

    A few points:
    - Please stop suggesting that I should use this or that engine, or that I should build on top of OpenLara. Neither are good options.
    - Yes, I have seen Asterix and Obelix.
    - No, this is not based on any existing codebase. Rendering, physics, etc. is all done using hand-written code.
    - I'll probably release the code as open source at some point, but I can't legally distribute anything with Nintendo's assets in it: so I'll have to make some sort of asset extraction tool to go along with it.
    - Yes, this works on physical hardware (folks have tested it on both an original GBA and a 3DS and both work)

    • @istaffa
      @istaffa 4 місяці тому +58

      Also tested on gbarunner3 with a DS Lite. It works but with more broken textures and poligons.

    • @wasabithumbs6294
      @wasabithumbs6294 4 місяці тому +28

      I can tell that it's a software renderer from the warping between the near clipping plane and camera origin. Does GBA not have support for textured triangles? If it has support for 2D shaders I have a black magic Sega Genesis-style arbitrary quad shader that might interest you.

    • @SeanCMonahan
      @SeanCMonahan 4 місяці тому +45

      ​@@wasabithumbs6294It _has_ to be a software renderer-the GBA has no 3D rendering hardware! (It does have pretty nifty hardware 2D rendering capabilities that you can harness to achieve some 3d-ish effects if you're creative.)

    • @jsbarretto
      @jsbarretto  4 місяці тому +83

      @@wasabithumbs6294 It has nothing of the sort. The best it has is some very primitive sprite/tile rendering capabilities akin to the SNES. Sadly, pretty much none of this is useful for doing proper 3D: so the only reasonable approach is to use one of the bitmap rendering modes and do things entirely in software.
      Regarding the warping, that's now resolved. Turns out, it was a precision bug.

    • @dogesocks72O
      @dogesocks72O 4 місяці тому +12

      i think you should make mario a 2d model.

  • @AmIntrigued
    @AmIntrigued 4 місяці тому +6039

    Dear Mario:
    Please come to the castle. I've baked a cake for you.
    Yours truly--
    Princess Toadstool (Peach)
    Mario: 🔺️

    • @deez.69
      @deez.69 4 місяці тому

      be there or be… triangle?

    • @Saver310
      @Saver310 4 місяці тому +183

      Instead of the cake the game got baked

    • @Toddfrommario
      @Toddfrommario 4 місяці тому +168

      🟧 bowser

    • @Ar021
      @Ar021 4 місяці тому +164

      Honest Mario reaction: 🔺

    • @wrelow
      @wrelow 4 місяці тому +37

      Y̴͎̾Ą̵̚H̵̳̀Ḧ̴̛̰̭̺́̈́O̷͓̓̚Ö̷͔̲͠O̴̗͙̚

  • @johnclark926
    @johnclark926 4 місяці тому +6428

    Ah yes, Super Mario Advance 5: Super Mario 64.

    • @CaptainStage
      @CaptainStage 4 місяці тому +149

      5? 6? 4? Make up your mind

    • @AlphaOblivion7
      @AlphaOblivion7 4 місяці тому +161

      Erm actually, New Super Mario Bros is Mario Advance 5,,,,
      This is clearly Super Mario Advance 64: Super Mario 64 (Advance) (64)

    • @Illager_Fries_Gaming
      @Illager_Fries_Gaming 4 місяці тому +80

      @CaptainStage Super Mario Advance 3: Super Mario World 2: Yoshi’s Island

    • @Danyplaysboblox
      @Danyplaysboblox 4 місяці тому +17

      It’s more like super Mario advance 6: super Mario 64 (since SMA5 was meant to be Super Mario Bros)

    • @BlameCez
      @BlameCez 4 місяці тому +19

      tbh super mario 64 ds is just mario advance 5 (and smb deluxe is advance 0)

  • @KazeN64
    @KazeN64 4 місяці тому +4643

    this is peak videogaming

    • @jsbarretto
      @jsbarretto  4 місяці тому +625

      9 fps, 120x80 resolution... what's not to love? 😅

    • @rafaelleone678
      @rafaelleone678 4 місяці тому +136

      Shoutouts to @SimpleFlips

    • @davidbarkhausen7739
      @davidbarkhausen7739 4 місяці тому +257

      Kaze, he's got Mario down to just 1 polygon. Can't beat that optimization. Right?

    • @JoBot__
      @JoBot__ 4 місяці тому +53

      @@rafaelleone678 That's a sentence I haven't read in a long time.

    • @Feradile
      @Feradile 4 місяці тому +5

      this is peak vi

  • @JesusSaves86AB
    @JesusSaves86AB 4 місяці тому +244

    "DeAr MaRiO. CoMe To ThE cAsTlE, i'M bAkEd".
    -pEeCh

    • @10percent4DaBigGuy
      @10percent4DaBigGuy 3 місяці тому +6

      Peach took that last hit of LSD

    • @mAtTdAmOn223
      @mAtTdAmOn223 3 місяці тому +3

      "Deer Mario. You sound like a deer, Mario. There was too much weed in that cake"
      -peacheech

  • @NathanielBandy
    @NathanielBandy 4 місяці тому +939

    Super Mario 64 GBA, the true remake before Super Mario 64 DS

  • @adamusedsplash8734
    @adamusedsplash8734 4 місяці тому +765

    I hope a green triangle is unlockable

    • @Clepto_and_Co
      @Clepto_and_Co 4 місяці тому +101

      Green triangle is real 2041

    • @cheeseyleaves
      @cheeseyleaves 4 місяці тому +25

      Legend has it that Green Triangle is hidden somewhere in Dire Dire Docks...

    • @miymoto128
      @miymoto128 4 місяці тому +15

      he is hidden inside that 6 polygon box in Jolly Rodgers Bay

    • @WuhHuh
      @WuhHuh 4 місяці тому +17

      I heard that in the sequel, everyone is going to be dodecahedrons instead, and there’s going to be a secret purple dodecahedron unlocked after doing some crazy stuff

    • @allypezz
      @allypezz 4 місяці тому +8

      Just have to run around the statue 100 times

  • @ultralowspekken
    @ultralowspekken 4 місяці тому +2958

    The era of "Can it run Doom" is over
    Let the era of "Can it run Super Mario 64" begin

    • @RainbowNoob127Official
      @RainbowNoob127Official 4 місяці тому +212

      can it run doom is still alive, can it run sm64 was just born

    • @theshinyglaceon5969
      @theshinyglaceon5969 4 місяці тому +204

      ​@@RainbowNoob127Official Funnily enough, we also got Mario64 running in Doom. The universe is expanding too fast

    • @KainTheKain
      @KainTheKain 4 місяці тому +74

      Now we need to run Doom in Super Mario 64

    • @MIXIVYT
      @MIXIVYT 4 місяці тому +11

      @@RainbowNoob127Officialyeah it was a joke they weren’t really saying no one was gonna do the doom thing any more😊

    • @KolyaPro23
      @KolyaPro23 4 місяці тому +1

      real

  • @Lizzaroro
    @Lizzaroro 4 місяці тому +2299

    Ah yes, Mario, the famous red Italian triangle.

    • @jsbarretto
      @jsbarretto  4 місяці тому +443

      Someone suggested I call him 'Triangle Man' for copyright reasons and put a triangle on the hat instead.

    • @07jeabrat
      @07jeabrat 4 місяці тому

      @@jsbarrettoMario becoming a KKK member real?

    • @GlitchBunn
      @GlitchBunn 4 місяці тому +52

      You might end up stepping on They Might Be Giants' toes there, given Triangle man is the bad guy of their hit song "Particle Man"​@JoshuaBarretto

    • @Vulpas
      @Vulpas 4 місяці тому +26

      @@jsbarretto You could turn it into a Silent Hill reference, Triangle Head.

    • @curtainsavatar
      @curtainsavatar 4 місяці тому +15

      Music makes him lose control.

  • @stuff31
    @stuff31 4 місяці тому +434

    Basic and pixelated it may be, but full texture mapping on a 3D environment with over 1000 polygons running on a GBA at a frame rate of more than 2 is undeniably impressive. I eagerly await more!

    • @thebasketballhistorian3291
      @thebasketballhistorian3291 4 місяці тому +37

      Framerate looks like 15-20fps here, even better in some areas!
      If they really made a game out of this, I imagine the characters would have to be pre-rendered sprites like Mario Kart 64 to save on the poly count.

    • @stuff31
      @stuff31 4 місяці тому +4

      @@thebasketballhistorian3291 yeah

    • @MelindaSordinoIsLiterallyMe
      @MelindaSordinoIsLiterallyMe 4 місяці тому +7

      Based pfp!

    • @stuff31
      @stuff31 4 місяці тому +9

      @@MelindaSordinoIsLiterallyMe Thanks! Happy Pride Month.

    • @MelindaSordinoIsLiterallyMe
      @MelindaSordinoIsLiterallyMe 4 місяці тому +8

      @@stuff31 Thank you, happy Pride Month to you too!

  • @linguicaguy
    @linguicaguy 4 місяці тому +795

    This is what video games will look like in 2005.

    • @EMLtheViewer
      @EMLtheViewer 4 місяці тому +30

      I, too, enjoy moving through time in reverse

    • @MersitonTheGood
      @MersitonTheGood 4 місяці тому +15

      1989*

    • @---Dr._Eggman---
      @---Dr._Eggman--- 4 місяці тому +12

      2005?
      Super Mario 64's development started in 1995, and the game was finished in 1996!

    • @ShadowtheYouTuber523
      @ShadowtheYouTuber523 4 місяці тому +5

      ​@@---Dr._Eggman---Super Mario 64 DS

    • @ashortengineer6270
      @ashortengineer6270 4 місяці тому +7

      and they're like "WOW ITS SO REALISTIC"

  • @zeropointer125
    @zeropointer125 4 місяці тому +282

    Makes you appreciate the jump from the GBA to the DS

    • @ragecandy
      @ragecandy 4 місяці тому +41

      The psp came out at the same time as the ds, that thing was from the future

    • @dxtremecaliber
      @dxtremecaliber 4 місяці тому +28

      @@ragecandythat thing is literally a smartphone without the Sim card slot lol

    • @jclkaytwo
      @jclkaytwo 4 місяці тому +26

      just wait until you see what the PSP was capable of for a 2004 handheld

    • @belstar1128
      @belstar1128 4 місяці тому

      @@ragecandy ua-cam.com/video/Ad0YogcnbRM/v-deo.html

    • @MamaSymphonia
      @MamaSymphonia 4 місяці тому +24

      @@ragecandy Anyone who dismissed either the DS or the PSP because of petty console war BS missed out on a treasure trove of games.

  • @CT_Doll
    @CT_Doll 4 місяці тому +485

    "Super Mario FX would be the Best Mario Game ever!"
    Super Mario FX if Launched:

    • @adrenaliner91
      @adrenaliner91 4 місяці тому +18

      It would have probably looked a bit better than this

    • @Vulpas
      @Vulpas 4 місяці тому +29

      It'd probably look a lot more like Mario RPG crossed with Star Fox.

    • @CT_Doll
      @CT_Doll 4 місяці тому +34

      @@adrenaliner91 Super Mario FX was a rumor about an Mario Game did in a FX-Chip (same chip created for Star Fox), and honestly I don't think it would be cool, of course it would be interesting but just that.

    • @adrenaliner91
      @adrenaliner91 4 місяці тому +2

      @@CT_Doll I know. But I think it would be less of a pixel mess.

    • @epicCoolgiytryhsrfsea
      @epicCoolgiytryhsrfsea 4 місяці тому +11

      super mario fx is just the snes FX chip name, an game called "Super Mario FX" was never announced or developed

  • @GaminylGames
    @GaminylGames 4 місяці тому +97

    This is probably the most insane tech demo I've seen for GBA. Absolutely insane. Solid work mate

    • @mirek190
      @mirek190 4 місяці тому +7

      nah .... look on tomb rider or driver ....

    • @alexcallender
      @alexcallender 3 місяці тому +5

      Much respect to OP, but this has nothing on the guy who got Tomb Raider running on GBA.

  • @juiceala
    @juiceala 4 місяці тому +33

    I know this project is just a demonstration "because I can" and I understand and appreciate the amount of work put into this, but I can't help but laugh at the idea making a GBA port of Mario 64, also those graphics give me strong Atari 2600 vibes.

    • @jsbarretto
      @jsbarretto  4 місяці тому +17

      Doing stuff that shouldn't be possible is just fun, I think

  • @cultofmrozinski368
    @cultofmrozinski368 4 місяці тому +227

    Played this on a Burger King hand dryer once.

    • @RobertSoul123
      @RobertSoul123 4 місяці тому

      Sounds like you were on drugs.

  • @Mareeeeee_xD
    @Mareeeeee_xD 4 місяці тому +59

    Peach: I baked a cake 4u :D
    Mario: 🔺

  • @valshaped
    @valshaped 4 місяці тому +158

    This is absolutely astonishing! I've never seen this many textured polygons on a GBA before! If you're not breaking new ground, you're right on the cusp of it!

    • @sometf2player752
      @sometf2player752 4 місяці тому +20

      I mean there are some gba games like this that released when the console was still active

    • @valshaped
      @valshaped 4 місяці тому +18

      @@sometf2player752 I've seen them, yeah. I stand by what I said. This is seriously impressive!

    • @jsbarretto
      @jsbarretto  4 місяці тому +62

      Thanks! I think it's definitely starting to push the limits of what the thing can do. I've a few more ideas to make it a bit more efficient. My goal is 20 fps: that's the threshold I consider a game like SM64 to be playable at.

    • @mwnk0john721
      @mwnk0john721 4 місяці тому +5

      have you seen open lara?

    • @AuntieAliasing
      @AuntieAliasing 4 місяці тому +6

      Raylight's BlueRoses engine did similar stuff like the ports of Smashing Drive, Street Racing Syndicate and Big Mutha Truckers

  • @jrodd13
    @jrodd13 4 місяці тому +8

    Super Mario, 64 pixels on screen 😂😂

  • @mushroomkingdomhearts8331
    @mushroomkingdomhearts8331 4 місяці тому +20

    Even though the video is mute, I was able to mentally hear Mario running

  • @hbomberguy
    @hbomberguy 4 місяці тому +306

    Video Games are BACK

    • @jsbarretto
      @jsbarretto  4 місяці тому +48

      Oh my god, it's YOU

    • @isabellev9576
      @isabellev9576 4 місяці тому +13

      Holy hell, it’s the one and only hbomberguy! What an unexpected face!

    • @iamjustafisj
      @iamjustafisj 4 місяці тому

      ​@@isabellev9576 no IM the hbomberguy actually the op is my doppelganger

    • @jaykelley103
      @jaykelley103 4 місяці тому +8

      Videogames are b-ACK!

    • @Sorrelhas
      @Sorrelhas 4 місяці тому +5

      Hey, it's hbomberguy, the first american

  • @Blacksmith__
    @Blacksmith__ 4 місяці тому +827

    "LOD_0 Mario can't hurt you, he isn't real."
    LOD_0 Mario:

    • @jsbarretto
      @jsbarretto  4 місяці тому +159

      I'm currently working on a model for Mario with < 100 triangles. For reference, the infamously low-poly SM64 model has over 400. It's going to look whacky as hell, but it's necessary to keep the thing playable.

    • @BrickmanZero
      @BrickmanZero 4 місяці тому +28

      ​@@jsbarrettoThe low poly model of 64 could do as reference or Kart DS could be some good ones too

    • @fco64
      @fco64 4 місяці тому +23

      Mario from kart DS has 195 tris​@@BrickmanZero

    • @LuigiXHero
      @LuigiXHero 4 місяці тому +22

      Well fun fact sm64ds Mario is actually lower poly than the original. It wasn't due to poly count why he looked like that but rather tech at the time and the skill level they had.

    • @cheEZy_boi_nips
      @cheEZy_boi_nips 4 місяці тому

      @@jsbarretto Would it be possible to just not use a model? like mario kart 64?

  • @mariotime7821
    @mariotime7821 4 місяці тому +91

    fuck SM64DS, real gamers play SM64GB

  • @frikyouall
    @frikyouall 4 місяці тому +14

    My mans is running so lite he couldn't even afford an HUD.
    Jokes aside, proper respects to you for this.

  • @considerthehumbleworm
    @considerthehumbleworm Місяць тому +1

    The texture warping’s pretty intense (moreso than just affine distortion), but still getting something recognizably 3d on a gba is impressive

  • @jsbarretto
    @jsbarretto  4 місяці тому +173

    Yes, the frame-rate really is that low. I'm working on it.

    • @Izzythemaker127
      @Izzythemaker127 4 місяці тому +47

      I don't think anyone was complaining, like this is a full 3d no tricks game on the gba. Like this is really cool no way anyone at Nintendo could of done Mario advanced 64

    • @InsideOutAnus
      @InsideOutAnus 4 місяці тому

      @@Izzythemaker127 Nintendo programmers drool on plastic donuts on their work breaks

    • @kainthedragoon8081
      @kainthedragoon8081 4 місяці тому +8

      This is still super impressive though! The GBA was weaker than the SNES so full 3D like this is amazing

    • @SweepV
      @SweepV 4 місяці тому +8

      No, snes is weaker than gba.

    • @jclkaytwo
      @jclkaytwo 4 місяці тому +15

      @@kainthedragoon8081 the SNES is weaker. the GBA actually did have some full 3D games.

  • @Damian_1989
    @Damian_1989 4 місяці тому +205

    Pannenkoek didn't turn Mario into a traffic cone, you did!

    • @JosephShemelewski
      @JosephShemelewski 4 місяці тому +12

      Maybe one day and then we'll get a highly detailed 4 hour video on how it works.

    • @dominicjannazo7144
      @dominicjannazo7144 3 місяці тому +2

      I just want to know if this port has any invisible walls

    • @JosephShemelewski
      @JosephShemelewski 3 місяці тому +1

      @@dominicjannazo7144 Don't worry I'm sure that pannen video will be out within a year or 2

    • @SubroOrbus
      @SubroOrbus 2 місяці тому

      Hahaha I get it!

  • @sadierift1201
    @sadierift1201 4 місяці тому +396

    "pc is better than console"
    Bro's PC:

    • @Bruh-zx2mc
      @Bruh-zx2mc 4 місяці тому +52

      "console is better than pc"
      Bro's console (it's also capped at 30fps):

    • @mariotime7821
      @mariotime7821 4 місяці тому +30

      ​@@Bruh-zx2mcliterally a nintendo switch moment (i don't understand how anyone enjoys ported games on that abomination)

    • @yomama9390
      @yomama9390 4 місяці тому +24

      @@mariotime7821 not "literally" whatsoever. god you're spoiled.

    • @guestc142
      @guestc142 4 місяці тому +10

      ​@@Bruh-zx2mcstill better than intel hd.

    • @Thalita298
      @Thalita298 4 місяці тому +8

      Honestly I think both are good

  • @Volron265
    @Volron265 4 місяці тому +1

    I love how it looks like an attempt at one of the first 3d PC games

  • @Retroplayer6472
    @Retroplayer6472 4 місяці тому +1

    This dude deserves more than 1k subs bro this is an accomplishment

  • @Andrew-ww1hz
    @Andrew-ww1hz 4 місяці тому +72

    I can only imagine the GBA screaming in pain

  • @jadonh
    @jadonh 4 місяці тому +40

    What the actual heck- I didn’t think something just as insane as putting Super Mario Galaxy on the DS could exist, but I think we just found a worthy contender. This looks absolutely incredible!

    • @jsbarretto
      @jsbarretto  4 місяці тому +20

      You've just let me know that this is a thing and now I'm amazed.

    • @Evdafawth
      @Evdafawth 4 місяці тому +4

      RIP portable Super Mario Sunshine, then

    • @Rockety521
      @Rockety521 4 місяці тому +5

      ​@@EvdafawthI mean... there's a Mario 64DS rom hack with Mario sunshine... not the real deal, but still an ok option!

    • @MinosPrimeGaming
      @MinosPrimeGaming 23 дні тому +1

      @@Evdafawth Mario Sunshine 3DS

  • @SITSIndustries
    @SITSIndustries 4 місяці тому +141

    Running on that Super FX chip

    • @kitterbug
      @kitterbug 4 місяці тому +53

      Nah, this is all the mighty ARM7 baby! We don't need silly enhancement chips anymore. It's 2001, the future!

    • @rjmario2234
      @rjmario2234 4 місяці тому +2

      ​@@kitterbughi kururin

    • @HedgeRobo
      @HedgeRobo 4 місяці тому +10

      Erm, ackshually the snes had the super FX chip, not the GBA

    • @redpheonix1000
      @redpheonix1000 4 місяці тому

      @@HedgeRobo That's the joke, the GBA has enough grunt to not need a dedicated 3D chip!

    • @HedgeRobo
      @HedgeRobo 4 місяці тому

      @@redpheonix1000 so... How will I explain the N64 DD connected to my DS?

  • @chanlerrrr
    @chanlerrrr 4 місяці тому +4

    00:15 I thought our red triangle friend was going for a lakitu skip

  • @VELVETPERSON
    @VELVETPERSON 4 місяці тому +2

    Super Red Triangle Brothers

  • @HamsterSalsa
    @HamsterSalsa 4 місяці тому +38

    This will be SM64 in 2002.

  • @nicolasn12
    @nicolasn12 4 місяці тому +41

    A small step for humanity, a big YAHOO for Mario.

  • @Olivian_
    @Olivian_ 4 місяці тому +24

    and you even managed to get it to run better than super monkey ball jr!
    but seriously, this is astonishing! Even just this little proof of concept is super impressive!

  • @chrisk5512
    @chrisk5512 4 місяці тому

    One random thing this makes me nostalgic on: When a 3D platforming game would come on Xbox, Gamecube, PS2, and the Gameboy Advanced and the GBA version would be a completely different 2D game! I'm so weirdly nostalgic on that despite games being different now LOL

  • @ezequieljimenezgarcia5081
    @ezequieljimenezgarcia5081 4 місяці тому +7

    Modern devs: We can't do X because of engine/platform limitations
    Joshua Barretto: Hey guys I made a Mario64 recretation from scratch in the GBA

  • @TheNewRobotMaster
    @TheNewRobotMaster 4 місяці тому +80

    They weren't joking about the power of the GBA

    • @ExaltedTilemaker
      @ExaltedTilemaker 4 місяці тому +10

      The A in GBA isn't for avocado.

    • @poweroffriendship2.0
      @poweroffriendship2.0 4 місяці тому +8

      With the power of Gameboy in your hands, now you're playing with powa'h!

    • @Matt-jc2ml
      @Matt-jc2ml 4 місяці тому +3

      That is pretty powerful though. The N64 was only 5 years old at that point

  • @Zacabeb
    @Zacabeb 4 місяці тому +27

    So, it's Super Mario 32!

    • @DaRkLoRdZoRc
      @DaRkLoRdZoRc 3 місяці тому +1

      Super Mario 6.4.

    • @Zacabeb
      @Zacabeb 3 місяці тому

      @@DaRkLoRdZoRc Super Mario [6:4]

  • @brucewayne1777
    @brucewayne1777 4 місяці тому +64

    But first, we need to talk about parallel universes!
    The parallel universe:

  • @henkman00
    @henkman00 4 місяці тому +1

    Nintendo: “eh…60 bucks!”

  • @rogeliolarronda
    @rogeliolarronda 4 місяці тому +5

    Congratulations on your work, it’s a great achievement.

  • @MattRevs
    @MattRevs 4 місяці тому +10

    *SUPER TRIANGLE 32*

  • @supmattboy
    @supmattboy 4 місяці тому +13

    If one day it looks as good as Asterix & Obelix XXL GBA, I will not complain

  • @SparkyMK3
    @SparkyMK3 4 місяці тому +25

    *wipes tear from eye* It's beautiful...

  • @Twenty5Centz
    @Twenty5Centz 2 місяці тому +1

    N64: look what they need to mimic a fraction of our power

    • @NCHLTII
      @NCHLTII Місяць тому

      The latest tech demo will make you eat those words

  • @SeanStClair-cr9jl
    @SeanStClair-cr9jl 4 місяці тому +1

    Haha this is fucking cool. I like how much you're doing from scratch, too; cool to be working with such old hardware.

  • @Majimba_Enjoyer
    @Majimba_Enjoyer 4 місяці тому +92

    we have reached the point where we dont care if it can run doom but if it can run mario 64. and i love it

  • @AbnormalAbnorman
    @AbnormalAbnorman 4 місяці тому +17

    I was expecting this to be a joke video. This is very impressive.

  • @BR-jw7pm
    @BR-jw7pm 4 місяці тому +64

    At least this beats having the EXACT same game ported 100 times

  • @CrenVerdis
    @CrenVerdis 4 місяці тому

    That's dope! I remember playing V-Rally 3 on the GBA and I always assumed there was something like a SuperFX chip on the cartridge I was today minus a month years old when I learned the GBA had native 3D support.

    • @jsbarretto
      @jsbarretto  4 місяці тому

      The GBA doesn't have native 3D support, this is all being rendered in software, pixel-by-pixel, with a lot of hand-written maths.

  • @tOSdude
    @tOSdude Місяць тому +2

    The fact it only took 3 months to make the progress you have is astonishing.

  • @LostSoulSilver
    @LostSoulSilver 4 місяці тому +18

    Oh god... Deoxys made its way to the Mario universe

  • @Meta64_
    @Meta64_ 4 місяці тому +10

    would love to see a 3d rendered 2d Mario like the one 'Mario vs Donkey Kong"
    Really insane work here man

    • @jb-br8bf
      @jb-br8bf 4 місяці тому +9

      To cut down on polygons for enemies that would be genius. King bobomb and the Chuckyas are already 90% sprite anyway.

    • @stabinghobo57
      @stabinghobo57 4 місяці тому

      Yes Mario and enemies need to be sprits to help in reducing polygons.

  • @AziDoesQuestionableThings
    @AziDoesQuestionableThings 4 місяці тому +26

    this is absolutely horrific, please keep developping it further

    • @Hyperboid
      @Hyperboid 4 місяці тому +1

      Couldn't have said it better.
      STARWALKER PROFILE PIC BASED

    • @johneygd
      @johneygd 4 місяці тому +2

      And once finished someday, then it should be called, supermario 32,hahaa🤣

  • @Kaitri
    @Kaitri 4 місяці тому +1

    Thanks for recommending me this yt i love it

  • @catg4343
    @catg4343 4 місяці тому

    this is absolutely incredible! if triangle mario was replaced with a sprite this would look almost perfect! i wonder if anything could be done about the texture warping, since at the moment that looks like the biggest limitation here. like i said, a version of this with 2d sprites for mario and enemies would be completely indistinguishable from an actual nintendo product!

    • @jsbarretto
      @jsbarretto  4 місяці тому

      Things can always be done, this is just a very early experiment. I shall be posting more.

  • @zanefriedman2032
    @zanefriedman2032 4 місяці тому +7

    so much storage space spent on the "so long gay bowser" audio clip that this is what it has to look like.

  • @Eigengrau608
    @Eigengrau608 4 місяці тому +15

    That texture warping is crazy

    • @jsbarretto
      @jsbarretto  4 місяці тому +7

      There's definitely a bug in there... yet to find it. The less-insane warping for more distant polygons is just an unfortunate produce of affine texture mapping.

    • @Eigengrau608
      @Eigengrau608 4 місяці тому +1

      @@jsbarretto love your work keep going!

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 4 місяці тому

      @@jsbarretto Okay then, why not do full perspective correct mapping at the edges, like -other engine- ? You already divide a lot for the vertices. There gotta be a balance. For some reason I could not find the definitive assembler code. There has to be code which is compatible with your license. Wikipedia has this iteration code which only needs 2 MUL instructions to refine a result. When we go along an edge, or when we sort all vertices by z values back to front first, we can use the last 1/z as start value. It would even be a good idea to use floats and sort everything by their mantissa. Yeah, slow bus. So need to try out.
      Clipping is hard. I understood that we use normalized device coordinates so that we at least clip on simple planes with normals of the kind (110) (011) etc.. Could even shear everything and have 4 of the six clipping planes be axis aligned. Then to clip an edge, you don't need to multiply, but I think still need to divide? Cutting always gives a rational number. Cannot sort these by z, but you still only need one division per vertex projection in total: Homogenous coordinates.
      It is just so weird that after that you multiply every projected coordinate to fill the screen .. even for triangles which are not even close to the border. Also NDC don't work with portals ( Descent, Duke Nukem, even Tomb Raider has portals into rooms).

    • @jsbarretto
      @jsbarretto  4 місяці тому

      @@ArneChristianRosenfeldt Divisions are very costly. The GBA is not very quick. I have about a dozen CPU cycles per pixel, and that's it. I would love to implement perspective correction, but just don't have the budget. That said, I've fixed the specific issue you're seeing in the video now though.

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 4 місяці тому

      @@jsbarretto I read that the clipping was a precision bug. Near plane too close? I would also love to witness the far plane. 32 bit should give enough precision for low res rendering.
      Correction is not supposed to happen per pixel. Just per edge (start and end) on polygons with large relative z and large screen space, as in the other games. Then roughly divide polygons in floors and walls. Render wall vertically.
      GBA has 12 MHz and most instructions run at a single cycle. I am not sure about the bus, but I feel like while projecting we have the system bus for us. I have a problem with the iteration method for division: how to stop at the correct precision? I thought that along an edge I could use binary subdivision. The first nodes will need more iterations to get the necessary precision, but the finer subdivisions (starting with the average of both sides) then only need one. May want to switch the code path. Or only need non -> affine .
      WRAM is quite huge. So we can just use a 1/z table .. and floats.
      I often forget how tiny RAM is. I read that N64 can cache a dozen transformed vertices. So in a mesh you go from triangle to triangle on a shared edge and may even not need to transform the third one. Jaguar has no dedicated data cache, and basically you have to load the third vertex. GBA has 32 kB shared cache. So it is tempting to store a lot of transformed vertices. Then it is possible to bucket sort their z mantissa. Some profiling allows us to optimize the number of buckets. per bucket I would quick sort. Buffer overruns .. ah we need a linked list anyway as in PSX. Or use 1/z lookup table to split overflowing buckets. Vertices are quite huge. Xyz uv light. W? But after culling, still 256 vertices could be cached with all the divisions shenanigans.

  • @HedgeRobo
    @HedgeRobo 4 місяці тому +14

    Nah, we don't have Super Mario 64 DS, we got Super Mario 64 Advance 💀

  • @Bailey_West
    @Bailey_West 4 місяці тому +3

    I’ll be damned. If you squint your eyes and back away from the screen, your brain fills in the missing details. I would say that’s a success!

  • @Enthusiasmmm
    @Enthusiasmmm 2 місяці тому +2

    I decided to check out your first version of this after seeing your latest video. It's insane how much progress you have made. You're doing great!

  • @beardalaxy
    @beardalaxy 4 місяці тому +7

    Man I miss the days of playing as Arriow

  • @CharlyConNostalgia
    @CharlyConNostalgia 4 місяці тому +12

    This is the closest thing we will have to a "Super Mario FX"
    Very impressive job!^^

  • @banjoboi24
    @banjoboi24 4 місяці тому +5

    Why does this remind me of Astérix & Obélix XXL on GBA ? This game was a technical marvel cause it was a legit full 3D game on a GBA

  • @kiwibro6454
    @kiwibro6454 4 місяці тому +4

    This is genuinely impressive!! if imagine mario would be a pre-rendered sprite, a long with the enemies and obstacles

  • @mervelloyd7439
    @mervelloyd7439 3 місяці тому +3

    Now i’m thinking of another timeline where we got Super Triangle 64 and Mario never got a 3d game to this day

  • @thetokutickler
    @thetokutickler 4 місяці тому +4

    Me: Mom, can I get a DS so I can play the new Mario 64 DS?
    Mom: No, you already own a GameBoy.
    The GameBoy:

  • @black_caty
    @black_caty 4 місяці тому +6

    This is what video games will look like in 2035

  • @KaisaWitchFromHilda
    @KaisaWitchFromHilda 4 місяці тому +4

    have you tried the idea of making Mario be a bunch of sprites but like built in away that's like a DOOM monster somewhat, like 8 sprites for an angle being faced?

    • @jsbarretto
      @jsbarretto  4 місяці тому +2

      I've considered that, yes. That's my backup plan if nothing else ends up being workable. I'd prefer to get a proper 3D model in though, even if it's very primitive.

  • @daxtron2
    @daxtron2 4 місяці тому +2

    The poor texture mapping is trying its best haha. Great work.

  • @novelezra
    @novelezra 4 місяці тому

    George Wood voice: Super Mario 64 on the GBA was built on SiliconGraphics computers.

  • @SpyroTheEternalNight
    @SpyroTheEternalNight 4 місяці тому +5

    as a lover of traffic cones, i am ready to play SM64 as a traffic cone.

  • @chuganoga1908
    @chuganoga1908 4 місяці тому +9

    It’s crazy how good this looks

  • @SuperBupDX
    @SuperBupDX 4 місяці тому +4

    Who needs rom hacks when you can play super mario 64 portably in 2001

  • @larryfartbubbler8440
    @larryfartbubbler8440 4 місяці тому

    damn thats pretty cool nice work. i hope nintendo doesn't hurt you like so many others

  • @shadowdude101
    @shadowdude101 4 місяці тому +1

    This simultaneously looks like total ass and is a feat of true beauty. I am thoroughly impressed.

  • @MrFoxInc
    @MrFoxInc 4 місяці тому +12

    Ah yes, my favorite video game "Tiny Gnome with Comically Oversized Hat Adventures 64"
    (Seriously though, this is supercool to see, really nice work!!)

  • @rightyloosey8554
    @rightyloosey8554 4 місяці тому +8

    "Woah, nice graphics! I'd like to get my hands on that game!"

    • @ExaltedTilemaker
      @ExaltedTilemaker 4 місяці тому +1

      "You mean you haven't played it yet? We can play it on my gameboy advance!"

    • @Fatih_M177
      @Fatih_M177 4 місяці тому +1

      ​@@ExaltedTilemaker "Super mario 64 is pretty Rad, those little brown goombas are pretty bad!"

    • @rightyloosey8554
      @rightyloosey8554 4 місяці тому

      @@Fatih_M177 "Beat up King Bob-omb, he's pretty sick, or have a footrace with Koopa the Quick!"

  • @matheus666
    @matheus666 4 місяці тому +6

    that's simply crazy, i love that

  • @OmniRizzo
    @OmniRizzo 4 місяці тому +4

    Just wanted to say, this is an impressive feat you've accomplished. I can't wait to see how far you can go with this. There is something magical about 3d games running on gba. Anyway, thanks!

    • @jsbarretto
      @jsbarretto  4 місяці тому +1

      Thanks! It gives me a lot of joy to see just how far the GBA can be pushes.

  • @jeffreyszcinskiii5181
    @jeffreyszcinskiii5181 4 місяці тому +3

    This was so cool to see. I would have been so hyped as a kid to have sm64 portable no matter what the quality was. Very fun to watch

  • @_sleepwalker23
    @_sleepwalker23 4 місяці тому +18

    super mario 64 ds if nintendo knew what they were doing

  • @Lady_Lilith666
    @Lady_Lilith666 4 місяці тому +5

    Could be much cooler to see Mario 64 on Sega Saturn. It will be truly crazy

    • @jsbarretto
      @jsbarretto  4 місяці тому +5

      And, honestly, infinitely easier! The Saturn has a much faster CPU, multiple cores, dedicated polygon rendering support in its video chip, etc. That said, playing SM64 on a GBA was my childhood dream and so that's the goal I've set myself.

    • @MarioKartSuperCircuit
      @MarioKartSuperCircuit 4 місяці тому

      @@jsbarretto It would be cool to see. I'm assuming using code from the decomp wouldn't be very useful, due to the gba's cpu lol

    • @timmygilbert4102
      @timmygilbert4102 4 місяці тому

      Someone is doing a port to Saturn already, forgot the name

    • @jsbarretto
      @jsbarretto  4 місяці тому +1

      @@MarioKartSuperCircuit Sadly not, it's pretty heavily reliant on floating point support and, frankly, isn't terribly efficient anyway. I might use it as a conceptual reference for stuff like "how high can he jump?" or "what states can be in at different points and when does certain logic apply?"

    • @redpheonix1000
      @redpheonix1000 4 місяці тому

      @@jsbarretto Don't quote me on this, but I think I saw somewhere that the Saturn was such a beast of a 2D console that it's 3D capabilities are just a consequence of that. It can transform and manipulate 2D sprites in such a way that it _can_ use them as 3D polygons, which is also the reason why that console renders it's primitives in quads instead of triangles. It's all sprites and is probably as insane as it sounds.

  • @keganmemestar4465
    @keganmemestar4465 4 місяці тому +4

    Would this possible to run on an actual GBA, or is this only possible because of emulation?

    • @jsbarretto
      @jsbarretto  4 місяці тому +3

      It should be possible! Someone tried it yesterday. Sadly it didn't work because of a specific bug, but that's almost certainly just a silly mistake on my part, so it should be 100% functional on real hardware once that's fixed.

  • @RareWareKen_01
    @RareWareKen_01 4 місяці тому +1

    GBA: I CAN’T DO IT…I’M DYING…
    Joshua: suck it up you’ll live…

  • @CondeMavro
    @CondeMavro 3 місяці тому +1

    O i remember playing this, Super Triangle 64, from the famous video game franchise Super Triangle Bros.

  • @cvabds
    @cvabds 4 місяці тому +4

    But there isn't it already a new 3D engine for the GBA? I believe that at least it must have a better frame rate

    • @cvabds
      @cvabds 4 місяці тому

      But isn't there

    • @jsbarretto
      @jsbarretto  4 місяці тому +9

      When you're this close to the metal, it's basically impossible to write a generic engine for something like this. I'm down to inspecting every CPU instruction in some of the inner loops to make it run as quickly as it possibly can. I believe you can find a few existing engines, but they mostly aren't designed to handle the sort of thing that I need to get this to be playable. Besides, none of them are written in Rust and also I like the challenge of writing things myself :)

    • @cvabds
      @cvabds 4 місяці тому

      @@jsbarretto have you checked about the UA-camr 3Dsage's GBA engine? Maybe he could share the source code, so you can adapt it in rust. It seems very efficient

    • @jsbarretto
      @jsbarretto  4 місяці тому +8

      ​@@cvabdsI think there's a bit of a fundamental misunderstanding here. In the world of modern GPUs and rendering pipelines, engines are easier to swap out. But at this level, they are not. 3DSage's engine is designed to ingest a specific kind of 3D data with a specific representation and has limitations that would make it unsuitable for this application. Equally, the code I've written wouldn't be suitable for his application. The problem to be solved here is not one of making an arbitrarily general or arbitrarily fast engine: those two goals are inherently in conflict because more generality means poorer performance due to the limitations of the device. I can promise you that the best approach is to write the thing from scratch, not to spend indefinite time porting someone else's code that wouldn't be more efficient or useful anyway.

    • @cvabds
      @cvabds 4 місяці тому

      @@jsbarretto thanks you are the best I bet you can't port templeOS to it

  • @CheesyAnimates
    @CheesyAnimates 4 місяці тому +4

    So retro slide but real:

  • @RiverReeves23
    @RiverReeves23 4 місяці тому +3

    Great work man. This looks like a really fun project. Enjoy :)

  • @doodledangernoodle2517
    @doodledangernoodle2517 4 місяці тому

    I always wanted to play Mario 64 as the spaceship from Asteroids

  • @SoberCake
    @SoberCake 12 днів тому +2

    This is where it all began

  • @fitoadventures2736
    @fitoadventures2736 15 днів тому +3

    🔺️

  • @TheBester7
    @TheBester7 4 місяці тому +1

    Now we need to recreate it into Geometry Dash!
    Jokes aside, this is incredible. Running a whole 3d model with thousand of triangles, AND being able to move around, all of this on a gameboy advance... impressive, i didnt know it was possible. I thought the console wasn't powerful enough.
    (Someone should really recreate it into gd tho)

  • @four-en-tee
    @four-en-tee 4 місяці тому +1

    I always forget that the GBA had 3D games like Doom and Duke Nukem.
    Well, not "3D" 3D, but- you get what i mean.

  • @Chinshellbuford
    @Chinshellbuford 3 місяці тому

    Now this is true
    Engineergaming
    GE-

  • @b2j135
    @b2j135 4 місяці тому +1

    This has to be ugliest thing I've seen all year
    I FUCKING LOVE IT!!