This episode feels very oldschool, both in its layout and scope, as well as how it feels like it could have been made in 1.3. It's almost nostalgic.
Unfortunately, with the close resemblance to older episode comes a set of nitpicks that get in the way of the play experience. Here are a few suggestions for perhaps a patch, should you want to make one:
1. Most Red Coin missions are mostly redundant as they are right now. The player is basically asked to play the same level twice, as the red coins are often placed linearly along the path to the exit. This wouldn't be so bad if the Red Coin shine wasn't also a level-ending shine. I recommend making it so that every secret exit that is on the path to the regular exit is a SMW star, to prevent kicking the player out of the level right before the exit.
1a. This may sound like it would be a problem for the Bowser stages, which use SMW stars to warp the player to a cutscene afterwards, but that can easily be avoided using some lua. For instance, you can use
Graphics.sprites to change the graphics of the SMW star, and NPC.config[id].
configfield to change the properties of the SMW star, depending on the section the player is in. So if you were to trigger an event when the boss dies that changes the star graphic, you can use SMW stars for both red coin shines and for keys in the same level. Another way to achieve a similar resolution would be to make keys a non-star NPC and instead have them trigger some lua code that calls
Level.load() to transport the player into the cutscene level directly.
2. It's awfully inconvenient to exit a level without beating it. A custom pause menu with an option that Level.load()-calls to the hub level would be ideal, but the Super Mario Star Expedition way of making a door appear next to each checkpoint and level start would suffice as well. That would be more work though, probably.
3. Some levels suffer from the age-old glitch of autostart events not running when a level is reloaded with the "Restart last level on death" flag active. To fix this, disable autostart events and manually call them from lua via triggerEvent("eventname") in the onStart function.
4. Warp transitions tend to be incredibly glitchy around screen-edge instant warps. I don't know exactly why this is happening here, but I'm guessing it has to do with how the warp entrances and exits are aligned? Perhaps they're overlapping, or cause the player to overlap. This might be worth fixing for the sake of not having the player wait 10 seconds for 5 warp transitions to finish whenever they want to cross certain screen boundaries.
5. One last suggestion I have is to reduce the shine requirements for doors across the board. The costs right now are rather strict, requiring for example 20 shines for bowser 1 after you unlock a door at 18 shines that only allows you to get 1 extra shine behind it. This makes it very tedious to make progress if you don't stumble across the sequence breaks, which in turn make the progression feel rather arbitrary. I think I'd have more fun exploring if all star requirements until the lategame were halved, to make the progression more fanned out like in SM64. This is the most my-own-preference suggestion of the bunch.
That's my 2 cents. Great to see a project of this scope released. It doesn't seem to relate as much to SM63 as it advertises, only copying the hub and some cherrypicked points, but that doesn't mean that the game is any worse for it. Hope my advice is something you can work with.
Also if you're using git for version control you can grab all files that changed between 2 commits with this command. Makes automating making a patch really easy:
Code: Select all
git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT STARTCOMMIT ENDCOMMIT | tar -cf file.tar -T -
Just replace STARTCOMMIT and ENDCOMMIT with the commit hashes or tags. It'll create a file called file.tar with all the changed files.