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 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



Total Frame Time (Avg):


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