Super Mario 64 HD

Note: This project is not currently available for download due to a request by Nintendo.

Below is a video of the mod being featured on cobanermani456‘s channel.

Demonstration project for the Super Character Controller, a recreation of Super Mario 64’s first level, Bob-Omb Battlefield.

Other than the Super Character Controller (and it’s respective libraries), I use a heavily modified cInput v1.4 from roidz to handle custom input, and pixelplacement’s iTween for path tweening (for the rolling balls). All the art and animations were done by myself, with the exception of the Mario, Goomba and Power Star meshes, which are ripped (without animations) from Super Mario Galaxy. A large portion of the sounds are from existing Mario games, while the ones I found and edited myself are from freesound.org. If I’ve used anyone’s work and missed a citation, please tell me in the comment section (or message me through the Unity forum). The UI elements were painted by me, based on the original Mario 64 user interface.

Advertisements

316 thoughts on “Super Mario 64 HD

  1. Hi Roystan,

    Nice job! It works very good :D.

    I was wondering how long it did take for you to create this ?

    With kind regards,
    Vasco Rouw

  2. I’m absolutely loving it!
    It’s exactly what I hope nintendo does one day with the mario galaxy engine

    Maybe we should redo all of Super Mario 64 as a community project using this as a base, but a few things popped out at me

    – The coin collect sound is from SMW instead of SM64
    – coin block hitting sound isn’t from SM64
    – coin appear sound seems to be from sunshine?
    – can’t talk to red bob omb
    – diving at a bobomb doesn’t set it off?
    – seesaw bridge doesn’t creak as you walk over it
    – no steps after the seesaw bridge
    – boulders make the wrong sound when bouncing and breaking
    – If you push against a wall, you end up sticking to it and moving up (also has issues with fences)
    – particles spawned indefinitely near the top warp point on the hill haven’t tried to reproduce
    – no red coins, can’t remember any blue coins in SM64
    – no trees?! They’d be easy to make in unity! But I guess you’d have to make mario be able to climb them, but then you can put in the flagpole for star 2!
    – no bobomb canon doors
    – no signposts
    – warp effect needs custom shader to inject random noise holes instead of just adjusting alpha
    – Skybox is entirely missing, using the crummy 16×16 SM64 skybox would look better
    – can’t pick up/throw bobombs
    – can push one of the bobombs on the hill off a ledge
    – Sounds for opening the gate is wrong
    – CHAIN CHOMP! C’mon man! There’s a model for it in Galaxy
    – Gimme a Boss fight + star! He can be extracted from SM64DS

    – Option for original music would be good as well
    – Option for non SMGalaxy style lighting would be good too
    – An option to switch assets between SM64/SM64DS and SMG would be really cool

    Still though, I love what you’ve done and it’s inspired me to make something in unity, even if I drown in cease/desists XD

    • Most of the changes fall under the category of me trying to save time. You kind of brought it up with the trees–adding them in would be easy, but that would lead to requiring more animations/player states. It’s the same thought with the Chain Chomp. Modelling or ripping a model would be fairly easy, but properly animating the chain, giving him interesting AI and having something interesting happen when you destroy his peg all kind of ends up being alot to do.

      That said, feel free to continue working on it and swapping the sounds out for whatever you want, glad to see the enthusiasm 🙂

  3. Amazing that you were able to pull this off. I didn’t even knew it was possible to make a game like that for the Unity browser plugin. Well done indeed.

    • The limitations on the browser plugin versus the standalone build are pretty slim, although I haven’t looked into if there’s any performance differences. It’s a great tool especially if you’re prototyping to share your work!

  4. THAT’S AMAZING ! thank you very much for your hard work ! you should start a crowdfunding campaign to create all the levels , that way you would get the money you deserve for your work , and we would get the rest of the game online … i would be happy to contribute with a couple bucks !

  5. Hey man, I was just recently brainstorming ideas about working on a project and I was trying to figure out a way to use unity but have a third-person control scheme. I came across your blog thanks to Kotaku and I was wondering if I could ask you a few questions and talk with you in a less public format. Like if you have a work email or something. I want to keep the details of my project under wraps for a while but I need to ask you a few things to help me get started.

  6. I tried the linux version in Fedora 21 – 64 bit OS. I’m getting core dump error when starting the game.

    Console output :
    >>
    $ ./SuperMario64HD.x86
    Set current directory to /opt/SuperMario
    Found path: /opt/SuperMario/SuperMario64HD.x86
    Mono path[0] = ‘/opt/SuperMario/SuperMario64HD_Data/Managed’
    Mono path[1] = ‘/opt/SuperMario/SuperMario64HD_Data/Mono’
    Mono config path = ‘/opt/SuperMario/SuperMario64HD_Data/Mono/etc’
    displaymanager : xrandr version warning. 1.4
    client has 3 screens
    displaymanager screen (0)(LVDS1): 1366 x 768
    Using libudev for joystick management

    Importing game controller configs
    Aborted (core dumped)
    <<

    • The same error here 😦

      ./SuperMario64HD.x86
      Set current directory to /home/toor/Downloads/M64
      Found path: /home/toor/Downloads/M64/SuperMario64HD.x86
      Mono path[0] = ‘/home/toor/Downloads/M64/SuperMario64HD_Data/Managed’
      Mono path[1] = ‘/home/toor/Downloads/M64/SuperMario64HD_Data/Mono’
      Mono config path = ‘/home/toor/Downloads/M64/SuperMario64HD_Data/Mono/etc’
      displaymanager : xrandr version warning. 1.4
      displaymanager : trying .X11-unix
      client :0 has 1 screens
      displaymanager screen (0): 3286 x 1080
      Using libudev for joystick management

      Importing game controller configs
      Aborted (core dumped)

  7. Hello, My name’s Lewis. First off, I have to say I’m LOVING the remake, just awesome how you’ve done it. There is one glitch I’ve found though, Which has allowed me to jump up walls. I don’t know if you want to know any more, But if so let me know and I’m happy to go into detail.

  8. This is awesome!! I never imagined i would be able to play this game in HD!! Plz do more levels. This trial level is unbelievably THE BEST. Defiantly brushed off my childhood memories (90s kids remember). I tried the controls with the PS4 controller and its great!

  9. Awesome ! SM64 is one of my first very own game, and I played it a lot.
    Your remake feels very “real”, the gameplay is very close to the original !

    Nice job, you should make your own game 🙂

  10. hi there, if it’s ok, I would like to help with the animation of… anything, really. I’m studying animation now, and I would like to get experience in working with someone.

  11. im having a bug with the dualshock where the camera only rotates to one side and continuously rotates
    any help please

    • Did you try modifying the deadzone in the controls menu? Also try manually setting the camera movement controls (if you’re using the Gamepad preset)

  12. Some of the animations look like they need a tiny bit more work(on mario). But overall it is awesome!!! Good job and Good luck.

    • Also i have encountered a glitch, so you know the animation when you push against a wall right. So if you do that on some parts of the mountain you start to float up it.

    • Yea for sure. I’m not an animator by trade, but my animations got much better as I went on, so some of the ones I did at the start don’t quite look as good.

  13. Man, you are simply GREAT!!! I’m a video games programmer (AS3.0 – C# -Unity-) from Argentina. This looks great!!! Congratulations Colleague!!!

  14. Hey buddy! game is awesome and I love what you did by turning Mario gold and making him invincible after getting 100 coins. I have a question though. How come I can’t break the block with a metal casing around it, even after getting gold Mario? Is this a bug or intentional (maybe an easter egg)?

      • Do you give us a hint how it can be broken? I tried with golden Mario, with a bomb, with a “butt bump”, no success so far.
        But great work, brings back so many old memories! Thank you for that experience 🙂

  15. awesome, i love mario much.. please have a new look at the linux-port.. i must install in a Debian 8.0 – 64-bit environment the 32-bit pakets.. sudo apt-get install libxrandr2:i386 & libxcursor1:i386
    and then i got this 😦

    displaymanager : xrandr version warning. 1.4
    client has 2 screens
    displaymanager screen (0)(HDMI1): 1920 x 1080
    Using libudev for joystick management

    Importing game controller configs
    Abgebrochen

    please, fix it.. many thanks.

  16. Lovely remake. Beautiful graphics. A few problems. As soon as I get to the rolling balls of death and get out of the mud pit, that space where more balls fall down, I can walk up that wall with no problem. I can even stand there and wait like it’s a platform. Overall great!!

  17. This is quite amazing! The controls (I’m using an Xbox 360 controller) are so fantastic and almost feel native. I enjoyed the added stuff, especially what happens when you get 100 coins. Sure, there are things that are missing, but I’m incredibly impressed at what’s being shown to me.

  18. Incredible, awesome, amazing…. I can’t find the words to describe this, and your willingness to share your Unity project. Thank you so much!

  19. AWESOME, thank you very much for posting the project, for which we are beginning in unity comes very well take as an example the project to test things, could you tell me how out as models of super mario galaxy?

  20. nice ! but you should add a dead zone for the left stick. my 360 gamepad is callibrated but mario always go down a little….

  21. Then i had 999 and was like OOOO so close, and it just stopped at 999 -,-

  22. Stil it’s cool because you couldn’t get more then 999 coins in Mario 64

  23. heyy, this was pretty cool, and i had no frame rate issues too, do you think there would be more levels in the future?

  24. One of the best projects that I have seen on Unity. This work is just amazing. Thank you for sharing. It will be useful for those who like Unity… and Nintendo. Also I have a question – which Unity version you used? 4.6 or 5.0. Thank you for answer ++

  25. Appreciating the hard work you put into your website and detailed
    information you offer. It’s great to come across a
    blog every once in a while that isn’t the same unwanted rehashed information. Excellent read!
    I’ve saved your site and I’m adding your RSS feeds to my Google account.

    • I’ve been noticing that happen, but it seems to be a sporadic issue that’s likely tied to the amount of traffic coming through. Thanks for the report!

  26. Xbox 360 controller does’nt work on my Mac with Yosemite. The controller is recognize by the system, I see it in Preferences System, it work with Rayman Legend but nothing with SM 64 HD. 😦 Keybord works.
    (I’m french, sorry for my english)

  27. Im getting a core dump on Ubuntu 14.04 64 bits:

    ./SuperMario64HD.x86
    Set current directory to /home/toor/Downloads/M64
    Found path: /home/toor/Downloads/M64/SuperMario64HD.x86
    Mono path[0] = ‘/home/toor/Downloads/M64/SuperMario64HD_Data/Managed’
    Mono path[1] = ‘/home/toor/Downloads/M64/SuperMario64HD_Data/Mono’
    Mono config path = ‘/home/toor/Downloads/M64/SuperMario64HD_Data/Mono/etc’
    displaymanager : xrandr version warning. 1.4
    displaymanager : trying .X11-unix
    client :0 has 1 screens
    displaymanager screen (0): 3286 x 1080
    Using libudev for joystick management

    Importing game controller configs
    Aborted (core dumped)

    I really want to play this 😦

Comments are closed.