ashleyzhang216 / crossword-gen

🧩 Generate crossword puzzles by specifying a word list and a grid to fill in
GNU Affero General Public License v3.0
5 stars 0 forks source link

Generating crosswords from a list of words #37

Closed metasidd closed 1 month ago

metasidd commented 1 month ago

Hi Ashley! Love this project.

Quick question, if we have a set of words (let's say 1000 custom words we supply), how might we be able to generate the best crossword (highest fill rate) without specifying the light/dark squares? Any guidance would be great.

Thank you.

ashleyzhang216 commented 1 month ago

@metasidd hey! thanks for the feedback! :)

specifying a custom set of words to use should be fairly straightforward to implement in the future. currently, i use a python script (src/data/scripts/build_datasets.py) to parse and combine datasets to build default dictionary options. it shouldn’t be difficult to implement and release this feature concurrently with your next request

on the other hand, black tile placement integration into the search space is actually an in-progress effort, as the main motivation of this project is to create the best fill generator for crossword puzzle writers. as you can imagine, this feature is pretty challenging, and development is still in the theoretical phase. however, it’s scheduled for completion by the end of this calendar year for a v2.0 release

metasidd commented 1 month ago

Got it! Looking forward to seeing how this shapes up.

I'd love to connect with you if you don't mind, and learn more about the motivation for the project. 🙏

ashleyzhang216 commented 1 month ago

@metasidd my motivation for this project was to create the best fill generator available that is also forever-free (looking at you, crossfire!) to assist crossword puzzle writers with one of the more tedious parts of the writing process. by happenstance, solving the general case of generating entire crossword puzzles is a practically identical problem only different in problem construction and is honestly easier to think about, so that's why it's labeled as a generator. are you a crossword writer looking to use this project?

metasidd commented 1 month ago

I'm building crosswordchef.com and we're exploring ways to allow users to create personalized crosswords on topics they love. Ping me on LinkedIn :) So, not a crossword writer, but definitely in the same space.

ashleyzhang216 commented 1 month ago

@metasidd unfortunately, i don't think my interests in this space line up with your website. i am deeply against integration of AI beyond the superficial/assistance level into purely creative endeavors like writing crossword puzzles. that's why this project is entirely deterministic and customizable. i am also committed to making this project forever-free and open source, which does not seem to line up with your website's financial incentives

metasidd commented 1 month ago

Thank you. A fair critique of the approach.

I moved to Canada in 2015 and played my very first crosswords here. Ever since then, I've played 500+ crosswords, so I'd like to call myself an enthusiast in the space. The biggest issues with crosswords today are that they're extremely culturally biased towards North America/UK and curated by a select few publishers who cater to local audiences.

Given the content and limited diversity/exposure of cruciverbalists, many of the crosswords I've played over the years have been impossible to finish. I've always wanted to play crosswords on topics I enjoy - programming, Indian street food, Pune, Bollywood, chess, Indian history, and so on. It's hard or impossible for a select few cruciverbalists to have the depth and breadth of knowledge to serve varying-sized audiences. Hence the app.

Much like the rest of the AI industry (which is also based on algorithmic generations), this is just one more tool for people to express themselves and get individualized experiences. I agree with your critique, but have my own motivations for this.

I respect your reasons for making this open-source!

ashleyzhang216 commented 1 month ago

@metasidd sure, i can respect that perspective even if i disagree with it. for what it's worth, you are welcome to use anything from this project for your own website if you open source it, as per the AGPL license