Closed afontenot closed 3 years ago
Thanks! For the record, I built the existing anypercent.route file in the python shell as well, but only because it predates the editor scripts :P
Did you try using edit_splits.py? That's supposed to be the most user-friendly and general version of the tools to manipulate splits. If so I could use some pointers on how better to document it.
Yep, that's what I tried. I couldn't figure out what the commands did. Actually, trying it now, I still can't figure it out even though I already sort of grok the structure of the Route class.
After entering the basic information I see "-> 01." printed. I assume this means I need to specify the first chapter, which is prologue. So I enter "chapter 0". That now says "<Trigger Enter 0>" which I think is what I want. Prologue doesn't have subchapters, so I enter "complete". Then "chapter 1". I guess I probably also need to manually add a named split after each entry? I kind of understand that after having seen the Route implementation, but I would have assumed they got inserted automatically after each trigger.
But now I'm stuck, I have no idea how to add a trigger for a subchapter.
In fact I think this might be impossible? Of the commands I see in edit_splits.py
that add triggers, none of them add a asi.chapter_checkpoints
trigger, which appears to be the relevant property in AutoSplitterInfo. So even if I could figure out exactly how to use the commands, it seems like you can't add routes that include checkpoint triggers. It's also not clear how you could add other triggers like rooms, or complex triggers depending on a combination of values in AutoSplitterInfo.
You're right, that's a missing feature. I'll add room name and checkpoint number triggers.
I can also add an extended discussion of the route format to the readme.
What do you think of 3193a77?
Looks like you typoed some parentheses locations:
pieces.insert(cursor, Split([' '.join(args[1:])]), level=0)
level=0
is supposed to be a keyword argument to Split
, not to the list insertion.
The extended help is very useful. Making it obvious that it exists would be helpful, e.g. by edit_splits.py
printing "Enter help at the prompt for available commands" and / or putting a note about that in the README.
Some information about how the user can get the chapter numbers would be useful. I think it's probably not obvious to users that Epilogue has a chapter number internally for example. Likewise with room numbers. Probably nothing you can do in the program, but at least some documentation about how this works might be useful.
Some additional issues:
I can't figure out how not to generate duplicate splits. The generator forces you to have a top level split as the last entry, but then this is duplicated at level 0. For example I see this on a simple file I tried to create:
City: Start: Crossing: Chasm: City:
The real anypercent route file solves this by having a single split working on multiple levels, with two names. I don't think the editor supports this?
For beginning Celeste speedrunners, it's common to only play the A sides in any%. I'm contributing a
.route
file that allows tracking this route. It uses all the subchapters exactly as they're printed in the game.Incidentally, creating this file was an enormous pain. I wasn't able to figure out the scripts which seemed to be intended to create them, and so I actually ended up generating it by manipulating the objects directly in an interactive Python shell. I think it would probably be worthwhile to come up with a simple JSON format to allow the creation of routes using plain text.