Closed cappsb closed 4 years ago
I think that getting things into json format is all that matters. It makes sense to read the VGLC format, but there is not much benefit to writing into the VGLC format
Some more work needed to convert general MMLV levels to json. We need interesting test cases. Try converting all of the MMM provided example levels one by one and put pictures in this thread demonstrating how it goes.
In particular, convert the MMLV examples levels to json, and then back into the limited/simplified MMLV format that we produce from json and play those levels to see what they are like.
On my machine, the example MMLV levels are located in C:\MegaManMaker_v1_6_3\ExampleLevels
so they are definitely accessible for training. @cappsb
Awesome! I found mine in my download folder. For whatever reason when I searched one of the example level names it didn't come up earlier today. I must have mistyped it.
What is left to do on this issue? Is there a json training set based on either the example levels or online levels yet?
Unusable Levels: Blast Mans Hot Cave (15): Impossible for current code to interpret what is and is not a H, U, D, Corner Crash Bomb Palace (20): ibid Developer Challenges (24): Teleporters everywhere to get to several bosses (no usable rooms) Double Trouble (25): Boss level (5 sets of two bosses, little to no interesting data) Escape From The Station Puzzle (26): teleporters everywhere. Forgotten Fortress (27): too many ways to go (The level is basically one giant rectangle) Infiltration (30): Too many ways to go and level too ambiguous for current code Obligatory Boss Rush Level (34): Boss level Wind City (38): Level is a giant rectangle Trial of Force (40) Core parts of level are folded in on itself (code can't label if null exists in more than two places) Trio Towers Ascent (41) Giant rectangle Whirlpool Ocean (42) Level winds too much Wily Public Works (44) ibid
Total number of usable levels (that are naturally compatible or that I have been able to repair): 21 Total number of unusable levels: 13
So, some levels are unusable only if we insist on distinctly modelling horizontal, corner, vertical segments.
In the long run, it might be possible to use this data somehow, but I agree for now that sticking to a straightforward linear path makes more sense.
Now we just need the json and then the GAN models.
Scan the .mmlv file for d(x,y) and i(x,y) (and maybe e(x,y) as well) to map to the integer format matching VGLC
Might want to consider doing .mmlv ---> List<List> just like VGLC, then create a method to convert List<List> into JSON from there.