HintMachine / hintMachine

HintMachine is a program giving hints for your Archipelago games.
MIT License
9 stars 11 forks source link

Initial Implement of Super Mario Bros. 3 #75

Closed RadzPrower closed 8 months ago

RadzPrower commented 8 months ago

I have managed to create an implementation for Super Mario Bros. 3 (SMB3).

Quests include:

There are still cooldown timers on Levels and Streak at the moment as a precaution since there was an issue of values staying in memory too long on death in certain cases resulting in multiple points for those quests. I developed a method of avoiding that issue in code, but have left the timers for the time being as it is beta testing. If we see no reports of messages regarding the cooldown, it should be safe to remove it eventually.

I also included a good many safeguards into the code to avoid means of cheesing the system (entering and exiting pipes on the map) and addressing specific scenarios (warp whistles do not count towards world completion for instance).

nbrochu commented 8 months ago

Don't forget to add a README entry.

Also a nitpick, and I don't know how @Dinopony feels about this, but I think we've tended to avoid abbreviations in game connector names so far. I personally think there should be no ambiguity when looking at a connector name. SuperMarioBros3Connector is crystal clear. SMB3Connector you have a good sense it's Super Mario Bros 3 but it could be something else when you open it (e.g. Super Mega Baseball 3 is a sequel to a game that is already in Hint Machine).

RadzPrower commented 8 months ago

Good point, especially in regard to Super Mega Baseball. I've expanded those out to the full names.

Also, didn't realize we needed to add our own entries to the README table, so good to know going forward.

Dinopony commented 8 months ago

Yup indeed, having full names is encouraged because it could get obscure really quickly if we all used abbreviations 😉 I'll try to find time to test it in the next few days, thanks for the contrib 👍

nbrochu commented 8 months ago

Tested the connector. Everything working as expected on my end. Good work.