Skip to content
This repository has been archived by the owner on Mar 18, 2024. It is now read-only.

city41/smaghetti

Repository files navigation

Archived as of Feb 16, 2023

Smaghetti is no longer worked on by me (Matt Greer). I would love to, but I just don't have the time anymore. The remaining things that Smaghetti needs are really big and hard, and the tiny pockets of free time here and there I have just don't work for that, as much as I have tried.

If you want to pick up Smaghetti, feel free to fork this repo. I will be available with any questions about its codebase.

The Smaghetti website will remain up for one more year, and taken down on February 24, 2024.

logo

Smaghetti - SMA4 Level Editor

This is a web based level editor for the game Super Mario Advance 4: Super Mario Bros 3 for the Game Boy Advance.

screenshot

Invaded Beach, by Nauts

Try it

It's available here: https://smaghetti.com

Status

Smaghetti at this point is pretty far along. The roadmap marks it as being alpha quality, mostly because several big features are missing from the editor.

At the time of writing, 425 entities and 42 backgrounds exist in Smaghetti. That represents almost every item/enemy/terrain/etc in the game. There aren't many left that need to be added. Mostly what is missing -- entity wise -- are "meta" controls such as sprites that influence auto scrolling and things related to platforms that ride on tracks. You can create a rather nice level these days, and many people have.

Editor quick start

The editor is at https://smaghetti.com/editor

It is very user friendly and takes loose inspiration from Nintendo's Mario Maker.

Proper documentation and tutorial videos will come later, but for now just start playing with it, most people have been able to figure it out. If you get stuck, start a discussion here in the repo. I always welcome feedback to make things better.

License

Smaghetti is Affero GPL licensed. See the LICENSE file. Since Smaghetti is based on someone else's IP, keeping it fully open sourced as much as possible seems like the right thing to do.

Also see the licenses directory for third party licenses.

Contributing

A lot more work needs to be done, help is awesome! Here are ways to help

Reverse engineering

The discussions are now where most reverse engineering talk is taking place. There is also the wiki and issues.

HexTree tool

This tool is growing to be pretty powerful. It really lets you explore and manipulate a level. I need to document a bit how it works, but just playing with it should enable one to figure out most of its features.

screenshot

It is here: https://smaghetti.com/tools/hex-tree

There are some other minor tools listed here too: https://smaghetti.com/tools

Code contributions

PRs are welcome, but please open an issue and discuss with me first before starting any work. That way no one does any wasted effort. The code is pretty messy and in many parts of the codebase I'm more focused on figuring stuff out than creating clean code. So I am refactoring pretty often. I'd hate to merge a refactor that really harms someone else's PR.

If you want to contribute code changes, the development guide is a good read to get to know how things work.

Discord

Discord server is here: https://discord.gg/95W9knXe3x

Code of Conduct

Smaghetti's code of conduct can be read here. In short: be inclusive, be nice, don't ask for or share any copyrighted items including ROMs and e-reader levels.

About

A web based level editor for Super Mario Advance 4, the GBA port of Super Mario Bros 3

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published