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.
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.
Game Logic (Avg):
Adjust Game Speed:
What is this?
What is the purpose of this port?
- Extensibility: More access to more developers to add custom content
- Rapid Prototyping
- More friendly to importing other software modules/packages
- More friendly to prototyping multiplayer custom games/mods
- Portablity: Sm64 projects can run on any device with a web browser anywhere without needing to download or install anything
- Opportunity to refactor / rewrite with modern coding style and cleanup
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.
Team that decompiled the original Super Mario 64 ROMs into C source code
Team that ported the decompiled project to PC
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)
Special Thanks to
Questions? Suggestions? Want to help with this project? =)
I have a discord server dedicated to sm64js: Join Here