gmarty / scumm-nes

An app to explore and modify the game Maniac Mansion on NES 🎮.
https://gmarty.github.io/scumm-nes/
Other
3 stars 5 forks source link
adventure-game point-and-click point-and-click-game romhacking scumm scumm-games-parser video-game

SCUMM-NES

An app to explore and modify the game Maniac Mansion on NES.

What is this?

This tool is a web app to explore and modify the resources contained in the Maniac Mansion game on NES. The goal is to encourage the ROM hacking community to modify the game and create new ROM hacks or translations based on this game.

This app only works with Maniac Mansion on NES, it won't work with SCUMM files from other platforms or other NES games.

Portion of the code comes from ScummVM and Maniac Mansion Decoded.

What does it do?

It currently supports:

The following version are supported:

The Japanese version is not supported as it doesn't use SCUMM but implements its own engine instead.

What does it NOT do?

The app doesn't use the runtime code used by the NES to start and play the game. It only works with the SCUMM resources stored in the ROM files.

What can you modify in the game?

At this stage, only the room palettes can be modified. Click on any colour to display a colour picker.

When you're happy with your changes, export a ROM file with the download icon on the top left corner.

How to use it?

On top of the app, there is a command line interface to export the resources to JSON. This is useful to process or compare the data.

node index.js --input path/to/rom --output resources.json

Options:

How to contribute?

To run it locally, make sure that node v20 or higher is installed, clone the repo, and install the dependencies:

npm install

Start the dev server with:

npm run dev

Production build

Create a production build with:

npm run build

Then deploy the content of the dist folder.

Future improvements

Out of scope for now