Sega Master System / Mark III / Game Gear|
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew
Presenting ArcoEdit: a Rainbow Islands level editorPosted: Sun Oct 27, 2019 11:27 am
Last edited by Tom on Mon Nov 04, 2019 6:15 am; edited 11 times in total
I'm not good at describing stuff, so I'll get straight to the point(s).
ArcoEdit is a level editor for the Master System version of Rainbow Islands. The reason behind the name is that "rainbow" translates to words starting with "arc" in many languages, including Portuguese. Since Rainbow Islands had a Brasilian release, it seemed fitting. Also, I'm Italian. And Bock is French. Go team Latin.
From this point forward I'm going to say "tiles" for simplicity even if I'm actually referring to the 16×16 metatiles.
This editor has been confirmed to work with both the 00EC173A and the C172A22C roms. It doesn't really check if you're trying to open a known rom or not, though most wrong files will fail to load because of the tiles, so it's all good. To open a rom, just drop it on the editor icon in your Explorer. At that point, the loaded rom will be locked to prevent other programs from editing it in the mean time, though it will still be readable in case you want to test it in your emulator of choice without closing the editor.
This editor allows you to edit the layout of any level, including the upper chest area (no pun intended), which consists of 8 rows of tiles, and is shared between the first three levels of any given world. When editing the levels, their regular palettes are used; when editing the chest, the palette of the first level is always used instead. As of now, the height of the levels isn't editable. It's not that I don't know where that information is stored, it's just that changing the length of the data would require to move things around, and there really isn't much free room for that in the rom. One could argue that I could offer the chance to make levels smaller, but eh.
2019-11-04: bonus objects now do appear in the editor, enemies still don't. As of now, you can't change the amount of objects, you can only change their properties as described below. There is some empty space in that area of the rom, so that might change in the future. Also, please note that some levels (including the entire World 7) have no objects at all.
Back on topic, some levels also have special things (e.g. the flames in World 3, the spikes in World 4, the lasers in World 5, the "snake lady" in World 6, the guns in World 7, ...), which aren't part of the level layout (even if their tiles are available) and aren't objects, either. This means that even if you put the flame tile somewhere else it's not going to hurt you, while you're still going to be hurt at the original location of the flame even if you replace that with another tile. Also, the editor can't tell you which tiles are solid, so if there are several identical wall tiles you should use the ctrl+click technique (described below) to find out the proper wall tile to use.
How does it work? And what do the buttons do?
Before I talk about the buttons, let me clarify something. The editor will act as a mere viewer until you actually start editing. At that point, an asterisk will appear at the end of the titlebar, to denote that you entered editing mode and that there are outstanding edits. The available buttons change accordingly.
2019-11-04: load/save/revert/vanilla now also apply to the objects and not only to the layouts.
Load: loads the layout of the chosen level. You can do so only if there aren't any outstanding edits.
Save: saves the current version of the layout, ending editing mode.
Revert: discards all the outstanding edits and restores the layout currently stored in the rom, ending editing mode.
Vanilla: loads a clean copy of the chosen level, but it won't automatically save it; rather, it enters editing mode.
About: says that Calindro is awesome and contains a plug to smspower, since I already know that this is going to be reuploaded somewhere else.
Exit: to this day, I'm still investigating what this button does, but I'm not sure yet.
You can assign a tile to each button of your mouse, by either selecting them from the available "palette" below, or by ctrl+clicking on the existing layout. To place a tile in the layout, just use the appropriate mouse button. It's that simple.
2019-11-04: clicking on an object will start "object editing mode". The object will start blinking and you'll be able to change its type, its visibility (e.g. from the start or only if you throw a rainbow on it), and its position. I wanted to allow the user to use the arrow keys on the keyboard to move the objects, but it's not actually possible to do that for a technical reason, so you have to use the 4 dedicated buttons instead. Objects can be placed on any "row" (e.g. every 16 pixels), and on any half "column" (e.g. every 8 pixels). Note that objects don't come with a transparent background in the game. I actually programmed them to be transparent in the editor until I realised that the game didn't do so, so I made them opaque again, it's not an oversight. That explains why most objects are placed on empty tiles: you can place them on other tiles (there are 2 objects over forest tiles in level 6-4, for example), though the tiles below them won't be visible until you collect the objects and scroll the screen away and back.
You need MSVBVM50 to use this editor, you can get it for free even from Microsoft's website, but the internet is full of mirrors of it. Once you have that file, this editor should run just fine even in Windows 95.
I apologise for the unusually big size of the executable, but this game uses a lot of graphics and I decided to include them in the main file, this is actually the very first time I do so, but trust me when I say that it's better than the alternative.
Calindro deserves tons of credit for all his awesome research. This editor wouldn't exist without him.
I hope that we're going to see some Rainbow Islands layout edits in the next competition.
For all intents and purposes, please remember that this is a beta. The error checking is rudimentary at its best, you'll be given a generic error if something goes wrong. Please bear with me while I finetune it, and please provide feedback (and only feedback) in this topic. The drama is behind now, so have fun!
2019-11-04: updated the attached editor to version 0.6, which adds object editing capabilities.
||Posted: Sun Oct 27, 2019 12:08 pm|
|Thank you so much for working on that, always a pleasure to see new game editor for Master System.|
||Posted: Sun Oct 27, 2019 5:46 pm|
||Posted: Sun Oct 27, 2019 10:00 pm|
|Looks great!! :-D|
||Posted: Mon Oct 28, 2019 6:00 pm|
I found 2 errors of physics compare to the arcade version (I'm trying to start a hack that make the game look like the arcade version).
-Moonwalk: when going right and then left, the main character do a moonwalk if you press left pretty fast after unpressing right. No moonwalk on the arcade version.
-Rainbows on edge: in the arcade version you can't make rainbows on the edges of the screen (left and right), in the Master System version you can but the rainbow will appear on the other side.
||Posted: Mon Oct 28, 2019 6:24 pm|
Yeah, I abundantly did both those things in a playthrough I prepared for my Youtube channel (I didn't upload it yet, though, I might redo it altogether because I'm not satisfied with how it turned out). You can add a similar issue with the rotating fairy to your list if you want, meaning that the fairy will appear on the other side of the screen if you are near the edge, like rainbows do. Also, you can Y wrap in the chest area if you keep on jumping on rainbows (or if you have the infinite jumps powerup). None of those things are related to the editor, though.
Thanks a lot :)
||Posted: Wed Oct 30, 2019 11:01 pm|
|This looks brilliant! Rainbow Islands is such a unique game. It's great to see this editor and I wonder what the community will create with it...|
||Posted: Thu Oct 31, 2019 2:26 am|
@Tom have you considered making a level and entity editor from scratch for general purpose use for platforms like the SMS?
Like something that would generate the level data as well as the Sprite behavior code (for ovjects, npcs, so on) for z80 asm?
||Posted: Thu Oct 31, 2019 3:52 am|
No, I have not.
Now, to provide some content in what would otherwise be a dull post, thanks to the proceeding research by Calindro, as of now I'm adding support for object editing. Once that is done, only the enemies will be missing.
And, well, the text. There is a ton of text in Rainbow Islands, but I'm not sure if anyone would ever want to edit it. It's in plain ascii anyway so I won't make it a priority, if at all.
||Posted: Mon Nov 04, 2019 2:54 am|
You know, I had "object editing mode" working fine since my previous post (as you could probably tell by the comment of the attachment), but I didn't feel like releasing a new version with only such a small change, I hoped to add more features, but I still have no clue on how enemies work, and I felt bad looking at the new exe file sitting alone on my hard drive for so many days, so I might as well release it. This will give you all something new to play with.
You can find version 0.6 in the first post (the previous version was 0.5, that was me hoping I could end the beta stage and reach a solid 1.0 with 5 releases). Additions to the text are prefaced with a green date.
On a semi-unrelated topic (since it was mentioned before), I redid my playthrough, and you can watch it here. I choose the "talk" option in all the cutscenes, for two reasons: the power-ups such as the Magic Book make the game too easy and uninteresting (I did that in the first playthrough, which is the main reason that led me to redo it), and by talking you can follow the plot (spelling errors and all).