mmazzarolo/ordinary-puzzles-app

Adding More levels

Opened this issue ยท 8 comments

Great work on the game

As I've already finished all the levels, I wanted to add more!

I was working on a 'puzzle verifier' to validate that a given puzzle was valid. I was planning to then generate a ton of random JSON arrays, pump them through the verifier, then determine which were valid.

As I was working on the verifier, I assumed that you may have already done this in order to generate the first set of 297 levels.

In the camp of sharing, is this something you would be able to provide? Or did you generate them a different way?

Thanks again!

Noticing from the inspired game Linjat that there is a solver and generator here https://github.com/jsnell/linjat/blob/master/build-puzzle-collection.pl

Looks like I answered my own question!

Hey @RileyDavidson ! Please let me know if you're able to run the generator :) The last time I tried running it, I wasn't able to make it work and it would be cool implementing an automatic-generation within the app.

Update here, I have figured out how to get the level generator working ๐ŸŽ‰

I'll probably stick a PR on the linjat project for the small fixes (Just an include statement) and the setup instructions. One part that doesnt work is the 'validate' function, so im unsure if my solutions im generating are solvable? I'll need to double check.

Separate to that, would it not be easier to just attach another file with more levels? Say, 1000 more levels? I feel that should be sufficient, and wouldn't require figuring out how to put the generator in app.

Additionally, it's nice to have a list of 'which levels you've done' which might not work nicely with a generator. I like to have a goal to reach (eg. finish all the levels :))

Update here, I have figured out how to get the level generator working ๐ŸŽ‰
I'll probably stick a PR on the linjat project for the small fixes (Just an include statement) and the setup instructions.

@RileyDavidson that's amazing! โ€ผ๏ธ

Separate to that, would it not be easier to just attach another file with more levels? Say, 1000 more levels? I feel that should be sufficient, and wouldn't require figuring out how to put the generator in app.

Yes, it would definitely be easier, and I've already done it once ๐Ÿ˜
It would still require some work though, mostly for:

  • Ensuring no progress is lost
  • Finding names for the puzzles, lol

I was thinking about adding the random puzzles generation as an additional mode ๐Ÿ‘ Not sure when though, pretty swamped with other projects and work nowadays

I can try and make updates around just adding some more static levels. Not sure I'd be able to figure out the auto generation ๐Ÿ˜…..

I get being busy with work and life(love invision btw), maybe it less effort to just review my PRs and make sure I'm not breaking anything ๐Ÿ™‚. To be honest, my girlfriend loves the game so it's worth my time to give her more levels to complete.

  1. Ensuring no level progress is lost
    I can try to include them as a 'new' section. Like 'new levels'. Or I can add them to the current section and make all of them 999 levels. I feel like a new section would be easier and cleaner, but up to you.

  2. Naming the levels
    I'd love to come up with the names ๐Ÿ˜ƒ. Is there a specific naming convention you want to stick with? If not, i like to use food names. I feel this would be easy.

I'll comment here with a link to my linjat PR when it's up.

I can try and make updates around just adding some more static levels. Not sure I'd be able to figure out the auto generation ๐Ÿ˜…..

To be clear, I was mainly curious about your Linjat PR, I wasn't asking you to port it here ๐Ÿ‘ Fixing (or pointing me to how to run) the Linjat generator would be enough for me to start tackling it myself in the future.

  1. Ensuring no level progress is lost
    I can try to include them as a 'new' section. Like 'new levels'. Or I can add them to the current section and make all of them 999 levels. I feel like a new section would be easier and cleaner, but up to you.
  2. Naming the levels
    I'd love to come up with the names ๐Ÿ˜ƒ. Is there a specific naming convention you want to stick with? If not, i like to use food names. I feel this would be easy.

I don't wanna make you false promises:

  • If your goal is to just add new levels for you/your girlfriend, I can help a bit with tips on how to do so (but just adding more puzzles to puzzles.json and re-compiling the app should be enough ๐Ÿ‘
  • If your goal is to ship a contribution that goes into the published app: well... let's talk, first ๐Ÿ˜ฌ There are design decisions that need to be made beforehand both about the progress (I'm not keen to add a new section just for new puzzles, they should be well integrated within what we already have), the naming convention (with a lot of new names, we'd probably have to use an existing online list of names following the same pattern we're already using), testing, and the update notice. Definitely not a task that we'd be able to do in a few hours (just wanted to be cristal clear on this, I don't wanna waste your time ๐Ÿ‘ ).

Yeah, no worries. I don't feel like you're making false promises , all good.

I was gonna start with adding more levels are just making sure it all works, but figured if that went well I might as well see if there's some way to get it included.

I'll put up the Linjat PR, then put up a PR for more levels once I get that working, then go from there ๐Ÿ‘

jsnell/linjat#1 (review)

Added PR here for Linjat.

In terms of puzzles for just me, I downloaded the app from the app store, so I don't know if the progress would carry over from a react-native build. That's originally why I wanted to add more levels for others!

I'll see if I can get a react-native build working and just remove the original levels for now. After that I'll report back my progress and see if its something we can add for others :)