The-New-Platinum-Team / PlatinumQuest-Dev

The main repository for the game PlatinumQuest after the formation of new development team.
MIT License
14 stars 8 forks source link

Add Basic RTA Speedrunning Mode #94

Closed thearst3rd closed 1 year ago

thearst3rd commented 1 year ago

This should not be merged yet, and should only be merged after #93 as those changes are used here. Feel free to look over the code now and let me know if I'm doing something fundamentally wrong, so I can fix it before I keep working on it :)

RTA Speedrun Mode for PlatinumQuest

This pull requests adds a real-time speedrunning mode into PlatinumQuest, for competing on the MBP, PQ, and MBU (PE) speedrun leaderboards.

My goals for this mode:

Implementation

To perform a speedrun using this mode, a player will navigate to the final level in the speedrun in the PlayMissionGui, open the menu bar to the RTA Speedrun dialog, and select "Set Final Level". Then, the player can select "Start Speedrun", navigate to the first level of the speedrun, and press Play. Time begins on the first frame of the first level, and ends when the final mission is completed.

I created a file platinum/server/scripts/rtaspeedrun.cs containing most of the new logic, and platinum/client/ui/RtaSpeedrunDlg.gui containing the GUI part. I also edited some other gui/script files where needed. I'm not very knowledgeable on torquescript so let me know if these changes suck ass

Demos

Full run of MBU including bonus levels, showing how it calculates the final time of each sub-category: https://www.youtube.com/watch?v=nJ8rg0kLIlo

Demo of LiveSplit autosplitter: https://youtu.be/NEwpWPhl33M

Basic/early GUI: https://youtu.be/pf41xZOo3Do

Earlier demo, no GUI but multiple categories and it times each one: https://youtu.be/Id6w8PsrlVw

Future Plans/TODOs

Some of the above goals I laid out have not yet been completed, and there's more left to do. Here's a list of things off the top of my head:

thearst3rd commented 1 year ago

Cleaned up and superseded by #114