Skip to content

Latest commit

 

History

History
40 lines (30 loc) · 3.2 KB

VISION.md

File metadata and controls

40 lines (30 loc) · 3.2 KB

Vision

MushROMs is intended to be the core for Super NES game editors.

Philosphy

The purpose of MushROMs is to be a launching point for SNES game editors (typically level editors). Since the games share a lot of fundamental formats and styles, and core library would be a useful tool. The core is intended to have things that every SNES editor could use

  • Assembler
  • Palette editors
  • GFX editors
  • Map8/16 editors
  • Level/tilemap display
  • Sprite properties editors
  • Music editors

That's a comprehensive list and therefore could take time. However, having all of these resources would make creating editors for new games go by much faster. There are a few games I would ultimately like to make editors for

  • Super Mario All-Stars (this game alone was the original MushROMs project)
  • Legend of Zelda, Link to the Past
  • Yoshi's Island
  • Donkey Kong Country series

This is very ambitious, but it doesn't hurt to show it.

Open Source

MushROMs is being built with the goal of being completely open source, and enforcing all programs that use it be open source too. Open source allows anyone to contribute, fix, and improve the project at any time. It also allows anyone to use the project for their own purposes. MushROMs will also be completely transparent for anyone, and allow ambitious programmers the chance to learn fundamentals for SNES game editing. There are presently very few resources for building game editing tools for the Super NES. Having a large, open source project is a step in the right direction.

For more information on the value of open source, read the Open Source Guide.

Cross platform

In conjunction with open source, cross platform is an essential component of MushROMs; it should be accessible to anyone on any OS. Making cross-platform projects also becomes easier for open source projects where users with different setups can contribute.

Full documentation

Sometimes, the biggest challenge of contributing to a new project is understanding what all of the code does. For this reason, it is our philosophy that every function, module, and component be documented and outlined, and have relevant example code to show users how its used and why. MushROMs utilizes Sandcastle Help File Builder (SHFB) to build the documentation. SHFB uses formatted comments in source code files to build documentation pages in many formats, including HTML, Markdown, and Windows Help File.

Community driven environment

Ultimately, I want this to be a project that a lot of people could be passionate about. I want a lot of resources and a lot of information present so people can pick up the information easily and be ready to use MushROMs however they can, or contribute to it in any way they like. Please follow the Code of Conduct for a more detailed explanation of working in a community project.

Accessibility

Whenever possible, I want the GUI resources of MushROMs to have as much accessibility as possible. This typically means full keyboard support. Another interesting feature I'd love to see is tablet support on devices that have the functionality.

Localizing and globalizing the source code is another ambitious features.