Super Mario 64 - Javascript Port

This project is currently still being developed. This page may be live from time to time for testing, but there may be glitches and performance issues. The server will go down and restart at random times without warning. If you would like to help with the project or have feedback please contact me.

Select US sm64 (z64) ROM File from your computer

This project uses the textures and other game assets from the original game. Due to copyright issues, I cannot host those assets on this site. Please select a sm64 ROM to extract those assets before you can play.
Submit Bug



    Music

    Snow Mountain DX by eros71
    Bob-omb Peaceful-Field by eros71
    Mario Filled Field by Belgium
    SM64JS File Select Remix by Rob Boss


    What is this?

    This is an ongoing work-in-progress port of the decompilation of original Nintendo game, Super Mario 64, to native Javascript (No Emulation) (No Web Assembly). This project required creating a Javascript WebGL port of N64 Fast 3D Renderer originally implemented with OpenGL in C. This project also includes the development of online mass multiplayer versions of sm64js and other custom multiplayer game modes.


    What is the purpose of this port?



    What's wrong with Web Assembly / Emscripten

    Nothing. However, I believe access to this game's source code in a higher level programming language opens it up to a wider pool of potentially capable developers / modders. And seems to me like a natural next step following in the amazing work done by the decomp team and pc port.


    Credits



    Super Mario 64 Decomp

    Team that decompiled the original Super Mario 64 ROMs into C source code

    Super Mario 64 PC Port

    Team that ported the decompiled project to PC

    N64 Fast 3D Renderer

    OpenGL Implementation of a 3D renderer for the Nintendo 64's graphics

    (I had to reimplement this in Javascript and WebGL)

    Super Mario 64 Coop

    Online cooperative multiplayer mod for SM64, aiming to synchronize all entities and every level for two players.

    (Special thanks to djoslin0, the developer of this project, for consultation and advice on the implementation of multiplayer for sm64js. I also ported some code from this project directly)

    Other Libraries
    Special Thanks to

    Contact

    Questions? Suggestions? Want to help with this project? =)
    I have a discord server dedicated to sm64js: Join Here
    Discord: snuffysasa#2779