Giter VIP home page Giter VIP logo

smaghetti's Introduction

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.