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.