Thursday, December 28, 2017


A couple fixes from my test stream last night.

- Fix crash when leveling weapons to 8 in boss rush mode.
- Properly limit the slime bosses' MP.


Wednesday, December 27, 2017


Hey, a bunch of new things.

- Add boss rush mode.
- Fix issue where having Windows 7 set to zoom at 125% would make the window have the wrong size and be generally unusable.
- Add option to remove a couple sounds that commonly cut out the music unnecessarily (like footsteps)
- Fix issue with incoming position for Limeslime and Darklich boss arenas.
- Add option for "aggressive" bosses.  This makes them have this behavior.
- Remove doorway tiles in Mech Rider 3 arena.

So this adds a new mode where you face all the game's bosses in a random order.  This currently works as follows:
- Every floor starts you on a "rest" map with Neko (sell only), Watts, and Phanna.
- Phanna will restore you for free, but only a certain number of times over the course of the run.
- Your characters start at a certain level and gain no experience.
- Boss fights do not restore you after the fight ends.
- Defeating a boss grants you two random orbs, three random consumables, and two random pieces of gear.
- Your characters now start with the weakest hat, armor, and accessory (in vanilla, it's only the armor).
- Leveling up a weapon at Watts automatically allows all three characters to charge the weapon to its max power.  At the start of the run, every weapon can already be charged to 1.
- You start with all eight elements and all eight mana seeds, so you can level your spells as high as you want, but MP will be limited.
- MP Absorb has been changed to absorb a max of 3 MP from enemies, but still damage their MP by the original amount.
- Mode 7 bosses (Lime Slime, Dread Slime, Mana Beast) have unlimited MP in vanilla SoM.  This has been changed.

I may make Neko sell some things eventually.  At the moment I like having it limited to the couple things it gives you, and Neko is just there to trash your items and make a little cash for Watts upgrades.

I also may make shorter modes where you don't do all the bosses.

The concept for this is inspired by Kirby Superstar's Arena, where you re-fight all the bosses in a random order and are only given a limited number of tomatoes to heal.


Sunday, November 26, 2017



- Fix an issue where Ruins maps starting at the roof would put you on the wrong x/y if the boss arena was a vanilla one.

Thanks to ThanatosZero for identifying this one.


Saturday, November 25, 2017


Some things.
    - Add in all bosses that were not previously available.  Only Mana Beast should not come up as a random boss now.
    - Original arena option for all bosses; will be used if current tileset can't support the boss, or sometimes just randomly.
    - Manafort interior is now 4x4 rooms instead of 6x6 to make it less tedious.
    - Greatly reduce number of whip rooms in manafort interior.

Known issues/Notes:
    - Dark Lich has some graphical issues when he's transparent.  Not sure what's causing it, but it shouldn't really affect anything.
    - Dark Lich and a couple other bosses are a little laggy.
    - I had to change a little bit of boss hit detection code to fix a semi-vanilla glitch with Hexas that kept creeping up.  I'm not 100% sure this doesn't affect any other bosses, though I tried a bunch and they seemed fine.


Sunday, November 19, 2017

Boss Arenas

I think the next thing I'd like to have working is the rest of the bosses.  I've been working on pulling down custom arenas for bosses that require them, and getting the remaining ones working.  Also I'd like to have the original arena in even for the ones that do work, so that if they don't work on a particular map type (this seems to happen a lot) I can default to their original arena.  Here are a few so far:

Wednesday, November 8, 2017


A few potential bugfixes.

- Previous update had made all chests grow feet and run away; this update should make none of them do that.
- Fix issue where Dispel could give a character semi-permanent speed buff; this has been observed by both Yagamoth and Falexxx:
- Fix (maybe?) Falexxx's crash related to menuing:
- Add debug menu with a few options to make it easier for me to blow through and debug certain things.  Ctrl+D brings this up if you're interested.  Setting any of the options adds a "DEBUG OPTIONS IN USE" line to the intro text.


Friday, November 3, 2017


I've been taking a bit of a break from this lately, but this has some fixes that were important enough to release ASAP.  Thanks to Shadou for exposing these issues on stream today.

- Fix issue where chest drops could be corrupted so drop rate was noticeably less at times.
- Remove vampire bosses from cave tileset since they don't seem to work correctly.


Tuesday, August 29, 2017


New things and such.

- Character color palette designer
- Gnome's speedup spell now increases your movement speed
- The moon phase and placement of stars on the end screen should be randomized like in vanilla SoM
- Additional fixes to hopefully prevent ring menus on edge of screen from softlocking


Sunday, August 20, 2017

Character color designer

This is a thing I've had a few requests for, and I randomly felt like making today.

You can manually specify all 3 characters' colors and save them to a file so you can just load the same colors for every run if you so please.

It will probably show up in the next revision.

Discord Server

For discussions and suggestions.

Saturday, August 19, 2017


I wasn't planning on putting out one of these for a bit, but I've fixed a bunch of stuff, so here we go.

- Add a few random statistics that show up at the end after you beat the mana beast.  More are planned, but these ones are just what I had implemented when I fixed the other stuff here: Total kills, total deaths, damage dealt (total, physical, magical), damage taken (total, physical, magical), distance walked (in pixels), chests opened.
- Theoretically fix softlock that Yagamoth encountered related to opening NPC players' menus when they're on the bottom of the screen.  The threshold for that has been tightened by 16 pixels.
- Checking magic descriptions shouldn't crash the game anymore.
- Tonpole & friends should have their MP properly clipped down to the setting from the difficulty values now.
- Fix issue where when in some countries the application would try to parse decimal difficulty values with a "," instead of a "." resulting in way higher than normal values and a failure to generate the ROM.  This is something introduced under v0.80 when I added the configurable difficulty stuff.

Next up still:
- New tileset
- More statistics
- Music stuff; there are a lot of custom tracks available now but I'm having some minor issues with properly loading them sometimes, so for now they've been left out.


Saturday, August 12, 2017

Current work

At the moment I'm sort of working on a bunch of different things at once, so progress is a little slow overall, but the next drop or two should have a bunch of new things.  These include:

- A new tileset

- I'm looking at a fix for the glitch where the background palettes flicker while layer 3 messages are up, particularly during some boss fights.  Seems to be an issue with certain types of sprites being on screen, and it's almost certainly a vanilla bug that I'm just triggering more often somehow.  There's a subroutine call I've found at $F4B7 that flips through the frames of the boy character's sprite every 5 frames that seems to have an impact on it, but I'm not sure why yet.  Certain sprites do and some others just don't.  I suspect they're accidentally corrupting VRAM under certain conditions for one frame but I have yet to find where or how.

- I'd also like to fix the vanilla glitch where casting lucent beam (or other palette-modifying spells) then immediately leaving the map causes your palettes to be totally fucked until you cast lucent beam again.  I have a pretty good idea what causes this, I just don't know where to look for it in RAM yet.

- Tracking for meaningless statistics similar to the credits of the LTTP rando.  I've gotten a few requests for this so I figured it would be fun to throw in.  Stuff like total kills & deaths, total physical/magical damage, chests opened, total distance moved, etc.

- A couple custom songs, which may or may not include the FF7 one posted earlier just yet.  I've actually come up with a routine to import the entire SD3 soundtrack, so I may end up using a few of those here and there.  I'm trying to get away with not bringing in custom samples when I can, and some of these actually sound pretty alright in SoM's sample set.

And longer-term:

- I'd like to have "bonus floors" that have some sort of boost associated with them (exp, gold, etc) and have no "indoor" map.  This would allow me to use some of the simpler tilesets like the desert, ice country, and luna palace interior without having to shoehorn in a way to have NPC houses.

- I want to add the "?" item to the drop pool and have it give a random effect--long lasting things like increased/decreased stats, and instantaneous effects like full heals, killing all on screen enemies, or dropping party HP to 1.  This would add an optional gambling element to the game that I think could be fun.

- More tilesets

Sunday, August 6, 2017

Music experiment

For a while now I've been wondering how feasible insertion of a song from another game into Secret of Mana was, without replacing one of the existing tracks.

The answer seems to be "kind of."

Here's a version of the FF7 boss theme injected into an ancient cave ROM.

It isn't perfect, but it's a proof of concept, and could probably be used to bring in all sorts of music if I wanted to.  As it stands, I don't know if/where I'll even use this or other tracks, though I think it would be neat in particular to bring in some SD3 or Legend of Mana tracks.

Here's an SPC Capture.

Friday, July 14, 2017


Fixes an issue I saw on some streams tonight.  Thanks to the following on twitch, who were attempting races of this thing, for accidentally exposing this:

- Fix issue where Island tileset can become corrupted by generated code.
- Added extra pathways to manafort interior so it should be less tedious to navigate.


Monday, July 3, 2017


I was bored today and made something stupid.

Rabites now spawn with a random color.  Rabites can appear on any map type.


Up next

This is a big list of things I'm considering for the near (and far) future:

First, some reasonable ideas.

- Adjustments to the new stats and difficulty settings as they come up.

- Fix a few known broken things, like magic descriptions in the ring menu (these can crash the game currently--it's a side effect of my generating the weapon ones for the randomized weapons)

- A few minor enhancements have been suggested, like renaming the mech riders so you know which one's which.

- Add in the missing bosses.  Most of them (the wall, the slimes) require a special arena.

- Fix vanilla glitches, like the reflect experience glitch used in Shade's palace in the run, and the item trashing/other ring menu glitches.

- A couple new tilesets.  Namely the witch's castle exterior, and a town one.  More will follow later.  These things take forever to create and polish since it's basically a whole new procgen algorithm for each, just to keep things interesting.

- Additional room types for the mana fort interior tileset.

- Replace "Mana Magic" spell with something new for each character.  Maybe a new saber effect and/or an HP regeneration status spell.

- Have "Speed up" make you move faster and improve attack recharge (and charge?) time.

- Maybe a Santa NPC with random gifts.

- Faster weapon charging for earlier levels if it's a higher level.

- If you open a chest and can't hold the item inside, don't remove the chest.

- People have suggested having a gamble of sorts that you can choose to use.  Vanilla SoM has a dummied item called "?" that I'm considering adding to my drop tables.  Using it would give a random effect.  I'm thinking of things like the following:
   - +/- Max HP, MP, other stats "permanently"
   - Refill all characters' HP/MP
   - All characters to 1 HP
   - Half current gold, double current gold
   - High-damage nuke to all on-screen enemies
   - Random negative status condition to all characters
   - Random buff to all characters
For the "permanent" effects, I'd have an NPC you could pay to reset them.  I'd also like to have a little icon on layer 3 (near the floor number and clock) for each that indicates which are active.

- "Endless mode" is a thing that I'm still thinking about, where the objective is just to get as far as you can before you get wiped out.  This will require rewrites of a few core things to make work properly (mainly that I use the current map number as the floor number indicator, and the maps will need to repeat while the floor# continues to increase), so it's probably not coming soon.

Also, some sillier ideas.

- Some others and I have been experimenting with transforming players into enemy sprites just for fun.  This is still a long way from working properly, but something like "play as a rabite" may be something silly that shows up later as an option.

- I'd still really like to work the black rabite concept from SD3 in somewhere, and possibly track Nuclear Fusion (the primary boss theme from SD3) for where it appears.

- Randomize the moon phase in the ending scene.  Normally this is semi-random from three choices at the end of a vanilla game.  I don't know what factors affect it, but ancient cave ones are always the "3/4 moon" for some reason.

As always, suggestions are welcome.

Friday, June 30, 2017


I've held onto this for long enough, I think.  This may have some issues still, but we should be able to work them out in time.  The changes are:
- Major enemy stat/difficulty overhaul.  The three built-in difficulties have been overhauled, and every piece of them is now customizable if you so desire.  This will likely have some issues, so let me know if any mode is too easy, too hard, too grindy, etc.  Feel free to adjust stat values to find the right balance and submit them here.
- Remove Tonpole as a boss in Manafort - he doesn't seem to work on that map.
- Fix re-rolling for non-repeated bosses.
- Demetri Martin as random dialogue source
- Add Phanna, Watts, and Neko into the mix as random useless NPCs - this should give you a reason to see the comedian dialogue at least now and then.
- Overhaul how I handle the in-game timer - it should be more accurate now but hasn't been fully tested yet.
- Allow Evil Gate to be used on bosses.  Vanilla Evil Gate is an HP percent attack which is reduced to low, fixed damage on bosses.  I've replaced this damage fix with a 50% damage reduction, so it should work on bosses but (hopefully) not be TOO overpowered.


As always, suggestions, bug reports, etc. are welcome.  There are a lot of changes here, so I would expect some things not to be quite right yet.

Wednesday, June 7, 2017

Enemy stat modeling for v0.80

The basics are in for v0.80's major enemy stat overhaul.  Preliminary testing shows customizable stats seem to "work" (not crash horribly).  Need to try a few more things before I really call it working.

Here's what's been added:

- Stat growth is no longer a simple calculation in SoM code based off the floor number.  The tool generates two tables of values for each stat that enemies and bosses pull from separately.  This is based on a simple parameterized formula for each stat: Stat value = b + (f^e) * m, where
   - b = a base value
   - f = the floor number
   - e = an exponent
   - m = a multiplier
b, e, and m are configurable for each stat.  This allows you to make, for example, HP grow in an exponential fashion while defense stays constant or grows linearly.

- The tool runs through some basic damage formulas and with some optional user parameters, figures out about what your stats will be at each floor based on how many enemies you tend to kill, whether or not you buy armor, etc.  It can then graph the progression of things like damage you'll tend to deal to enemies with physical/magical hits, number of hits to kill your characters, etc:

- All other parameters of a specific difficulty level are now customizable.  This includes things like your starting gold, cost of a continue, number of element NPCs per floor, etc.
- If you don't feel like screwing with any of this stuff, the old difficulties (Casual, Hard, Really hard) still exist as preset configurations of all of these things.
- If you do like messing with this stuff, you can save, share, and reload custom difficulty settings.  You can also export and tweak the built-in ones if you feel they aren't quite correct.

- The damage calculations I'm using are a simplified version of those found here: (credit to StingerPA for these calculations).  These are still largely untested.  If you find issues with the accuracy of the graphs, let me know, and we can find what's not being calculated right.

- Player stats are still 100% vanilla.  I have no current plans to change them.  I sort of like having something from the original game still be present.

Monday, May 8, 2017

Difficulty system refactor for v0.80

I'm in the middle of refactoring how I handle enemy stats and difficulty levels.  In the future the UI will give a lot more free control over how stats grow with floor advancement, and the old difficulty levels will still show up as "presets" to those values.

I'd also like to be able to show some graphs of how player and enemy damage will advance from one floor to the next, to give an idea of how difficult the ROM will be from beginning to end.  This will run the generated stats through the game's actual damage formula, and likely also involve an estimation of player level at each floor.  I'd probably throw some other factors in like how much armor you plan to buy / will be able to afford.

This will most likely be what v0.80 ends up having.  It won't be for a while here, but it should give a lot more configuration freedom and information once it's done.

Saturday, April 8, 2017



- Fix issue where all items did the magic rope thing, not just the magic rope.



Friday, April 7, 2017


A couple new things.

- Add continues.  When you die, you'll be given the option to buy a full restore & start at the beginning of the same floor.  Costs 1k/2k/4k GP depending on difficulty level.  These are currently unlimited.
- Dying on Mana Beast now switches your map so the Mode7 turns off and the death event actually shows up.  Note that continuing from Mana Beast will take you back to the last full floor.
- Add Magic Rope.  This has the same effect as continuing but without the restore.  It's intended to be used if you get stuck.
- Check for writability of output ROM and throw up an error if it can't be written.


Monday, April 3, 2017


Something silly this time.

- Add flammie drum as a music randomizer. 


Sunday, April 2, 2017


Some new fixes and experiments based on observations of recent streams.

- Fix the issue Falex had in his run on the RandoMassacre Marathon where cave maps as the final floor will lock up when entering the interior map.
- Increase magic defense of enemies.
- Increase durations of all timed status conditions.  This includes most spell buffs and debuffs (player and enemy), and to a lesser extent includes weapon-induced statuses (like Eye Spy's moogle status, or a player weapon's engulf status).  This does not include certain buffs like Lucid Barrier, which is damage-based rather than time-based.
- Allow better armor pieces to drop/be sold in hard and really hard.

Let me know if anything feels improperly balanced.


Friday, March 31, 2017

Ideas for next map types

I'm playing with some ideas for which tileset/map type I want to add next.  Here are some, in no particular order, with notes.  Ideas/suggestions are welcome.

There isn't much to this one, but it looks sort of cool, what with the transparent tree overlay and all.  The indoor areas would be the hut tileset like islands/the original matango interiors.

These aren't the prettiest maps, and they were pretty annoying to navigate in the original (mostly due to characters getting stuck), but they could make for an interesting maze or something.

Witch's Forest
Definitely one of the better looking tilesets in the game.  Shouldn't be too much effort to generate - everything is on layer 1 since layer 2 is full of clouds.

Upper Land
The SoM Editor doesn't really view these correctly for some reason.  Might be annoying to generate with the large trees and making them flow smoothly together.

Sunken Continent
The gray hallways and stuff from under the purple continent. I guess that "subway" map could be the interiors with the NPCs.

The area around Shade's palace with the slow-scrolling layer 2 background.  Looks pretty neat I think.

Seems like something that should exist just based on it being a notable place with a lot of unique enemies, but I think I'd have to do a lot of tileset fuckery to make this work with the way I currently generate maps.  The desert itself and Kakkara are separate tilesets, and without the little Kakkara houses I have no idea how I'd make actually "indoor" areas work.

Ice Palace
I like the exterior of this place a lot, but the interior is really just my ruins interior with a blue palette.  There might be a way to make it unique enough from the Ruins stuff to use.  I would really like an excuse to use its song.

Ice Country
It's a nice looking tileset with the rainbow trees and all, but there aren't really any interior structures available on the tileset except caves.  There might be a way I could combine the Santa's Workshop/Toto houses into it and have that work somehow.

Desert Ship Thingy
I sort of like this as an indoor/outdoor maze of sorts like the Ruins are now.

This could maybe be made to work, with a mazelike structure to the exterior.

Mana Palace
This one is sort of a staple of SoM.  Would probably be nice to see it worked in somehow.

Witch's Castle
Not sure exactly how I'd make this one work, but I do like how it looks.

Like Upperland, this would probably be kind of a dick to generate procedurally and still have everything fit together and look good.

Manafort Exterior
There isn't really much to this, but it could probably be made to work somehow.

Undersea Thingy
The first part of the sunken continent that looks like it's supposed to be under the sea or something.  Pretty nice looking tileset.

Luna Palace
And then I guess there's this.

Thursday, March 30, 2017


A couple bugfixes that I didn't feel like doing yesterday.

- Tonpole & friends should now have sufficiently low MP so they don't just heal indefinitely.
- Fix NPCs being placed on tables in Ruins tileset.

Again, the Tonpole change was a change to code that I generate, so if you see crashes, let me know.  I did test briefly with Tonpole and some other enemies, and didn't see any problems.


Wednesday, March 29, 2017


Some minor changes and fixes:

- Increase experience gained on casual mode.
- Fix an issue where magic defense was not being scaled properly for enemies, causing spells to often do 1 damage.  If spells seem OP now, let me know - this has not been fully tested.
- Decrease gold drops on really hard mode.
- Make the Manafort exits a little fancier looking so they can be recognized better.
- Reduce the timer on the teleport for off-screen characters; hopefully this reduces the chances of softlocking due to the only alive character being off-screen.
- Fix an issue where off-screen characters teleporting on cave maps would sometimes be unable to move after teleporting.
- Reduce the amount of whip posts on Manafort maps.

This involves some changes to generated SNES code, so if anything causes new crashes, let me know ASAP and they will be fixed.


Tuesday, March 28, 2017


Minor stuff.

- Repeated elements will be re-rolled once for an attempt at a better variety.
- There should be fewer crystals in Manafort rooms for slightly less slashing.
- On island maps, each hut is now marked with a unique number of the little apple basket tiles surrounding on its island so you can identify which ones you've seen by counting them.
- On island maps, the tiles and flowers will show up in higher concentrations when you're near huts for ease of finding them.
- Each interior floor of ruins maps now has two "inner" doors instead of four, to reduce the number of transitions required to check all the NPCs.
- Added some additional tooltips to the GUI, notably a brief description of what each difficulty means.


Saturday, March 25, 2017


I guess this is probably ready now.

- Add Manafort Interior tileset.
- Add a few weapon names from Breath of the Wild.


Friday, March 24, 2017


These are just about ready to go.  Here's interiors and boss room:

... which are literally just copies of the Thanatos/Dark Lich room and the Buffy fight arena, but they should do fine for now.

Little more testing and maybe additional logging and v0.60 should be good to go.

Thursday, March 23, 2017


- Some tweaks to magic.  This is still a somewhat experimental attempt at rebalancing the costs of spells for lower-level characters and making every spell set useful.  Some of these are based on a chart that Stinger sent me.
   - Energy absorb MP cost 2 -> 3 due to bonus of healing the caster
   - Exploder MP cost 4 -> 3 to match other spells with comparable damage
   - Lava Wave MP cost 3 -> 2 to match other spells with comparable damage
   - Thunderbolt MP cost 4 -> 3 to match other spells with comparable damage
   - Silence MP cost 2 -> 1 due to not being terribly useful
   - Balloon MP cost 2 -> 3 due to being a fairly OP debuff
   - Change Form MP cost 5 -> 4 due to not being useful enough to justify 5
   - Lunar Magic MP cost 8 -> 4 due to not being useful enough to justify 8
   - Wall MP cost 6 -> 4 to match Lucid Barrier
   - Evil Gate power 61 -> 100 and MP cost 8 -> 5 to make Shade more useful
   - Dark Force MP cost 2 -> 3 to match other spells with comparable damage
   - Dispel Magic MP cost 4 -> 1 due to not being useful enough to justify 4
   - Lucent Beam MP cost 8 -> 4 to match similar Sprite spells + 1 cost for being a non-nuker nuke (this has actually been 4 MP for a while).
- The number of mana seeds now starts at 1, and increases by 1 every 4th floor.  So for floor 1-3 you'll now be able to level spells to 1, floor 4-7 you can level them to 2, etc.  This is +1 to what it was before.
- Vampire and Buffy won't be found as the boss of island tileset maps for now, as they seemed to be broken tonight on Yagamoth's stream.
- It will now try its hardest not to repeat bosses.
- Gorehowl is now an axe instead of a spear.  Oops.


Sunday, March 19, 2017


Couple more changes today after watching Yagamoth do some runs:

- Adjust positions on Spring/Axe beak so he shouldn't jump out of bounds
- Add profanity filter option (default off) for the Mitch Hedberg quotes for streamers who prefer a PG stream.

Also considering refactoring some spell costs at Stinger's suggestion.  Some of the later-game spells, which are no longer necessarily later-game, are pretty expensive.



Should fix an issue that StingerPA had where some code was overwriting my item drop table, and causing strange/empty chest drops on early floors in some ROMs.


Saturday, March 18, 2017

Mana Fort Interior Tileset for v0.60

Here's a few screenshots.  The inner and boss maps aren't done yet, but shouldn't take as much time.