Josekle Development

I can see pluses to both.

Might seem harsh to punish adding on one extra, especially if that move is or was a common follow up potentially. So one could just say “good enough :)”

Then again, one is aiming to get the sequence correct including the length.

So either or :slight_smile:

1 Like

Yes, this looks great!

image

3 Likes

Thinking about it a bit more, since the system indicates when the guess is too long, too short, or just right (by omission), it does not seem that interesting for the user to have to continue guessing if they’ve already input a longer sequence that is prefixed by the correct solution, since it would be fairly trivial to work out the correct length (if not already determined).

I like the idea of just ending the game immediately at that point, but it could be funny to indicate this end in a way a little bit differently than to simply say “correct”:

In addition, maybe the victory text should change depending on the number of guesses submitted. Wordle uses the following list:

  1. Genius
  2. Magnificent
  3. Impressive
  4. Splendid
  5. Great
  6. Phew

What would be the superlatives for Josekle? Some thoughts (in no particular order):

  • Meijin, Honibo, … (and other major tournament titles)
  • Pro, Insei, Shodan, SDK, DDK, TPK, … (rank based terms)
  • Sente, Gote, Honte, Tenuki, … (and other Go terms)

EDIT: changes to count a prefix-correct guess as “Good Enough” and add the Wordle superlatives are now live at Josekle
PR sent

4 Likes

Animals
Tiger bear fox … rabbit ant worm…

2 Likes

So what needs to be done regarding development? More joseki data, some UI tweaks, anything else?

1 Like

I think this would help, especially if folks think it is too easy. I don’t have a good feeling for the difficulty as I can kind of guess the joseki based on what I remember pulling from OJE the other day

There are details here:

https://forums.online-go.com/t/josekle/41262/100?u=michiakig

Alternatively, we could start processing a larger data set of joseki somehow, which would assist with checking inputs against the dictionary

2 Likes

Little problem

Dunno if it’s from discourse and if it’s only me.

2 Likes

Your browser must not support the emoji, at least in that context. I posted them that way so Discourse wouldn’t turn them into little pictures, maybe that’s not a good idea. What about like this, can you see them?

Josekle #4
🟢🟢🟢🟢🟢🟢🟣🟣⚪⚪⚪⚪⚪
🟢🟢🟢🟢🟢🟢⚪
🟢🟢🟢🟢🟢🟢🟢🟢
🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢
1 Like

Android / opera

3 Likes

I tried again after Claire’s one-color comment and they are back! :man_shrugging:

1 Like

Here are some broad ideas:

  1. Joseki curation, both for solutions and a set of valid inputs. Maybe scraping data from the OJE is a good source for the latter. I have no idea how to even query the API to pull data out of OJE.
  2. Responsive UI design. Maybe this could come a bit later, as perhaps the submit button and hints external to the BesoGo contained could possibly be removed (besides for debugging mode) altogether, but that also requires making the internal submit button change into a share button when needed, and thinking about how to deliver the “too long/too short” hints and the flavor text (“splendid”, etc.)

General thoughts and suggestions about the overall UI/UX design are helpful too. I think we’re at the stage where we have a pretty reasonable working prototype and the polishing that comes next requires some thoughtful design decisions, ideally arising from discussion among all that might have an interest to do so here.


In @Feijoa’s posts, they used some formatting somehow to preserve the emojis as Unicode, rather than letting the Discourse system convert them into images. Other posts have had the Unicode converted to images automatically, which allows everyone to see them. It seems that @Groin’s browser does not fully support the relevant Unicode emoji.

3 Likes

There are ok in this title
(If any help? )

1 Like

In the title and other places like this :green_circle::white_circle::purple_circle:, the forum software is handling the emoji as just a small embedded image.

In many places, emojis are handled as Unicode characters, but these have limited support on some browsers/platforms. Hence, when someone types (or copy-pastes) a common emoji into these forums, the forum software automatically converts it to a small embedded image, which works everywhere.

However, note all emoji are supported by Discourse (the forum software), so those might be left as Unicode, which won’t work for some people. Also, there are some formatting tricks when entering in text to prevent Discourse from converting the Unicode emojis into images.

For example,

  • Here is an emoji expressed as an image by Discourse :green_circle: (should work for you)
  • Here is an emoji preserved as Unicode, using formatting tricks 🟢 (probably won’t work for you)
3 Likes

@michiakig I entered those josekis and copied them to my clipboard. I hope I made no mistake while playing out the moves.

Data

[{“x”:17,“y”:5},{“x”:16,“y”:3},{“x”:14,“y”:4},{“x”:16,“y”:5},{“x”:16,“y”:4},{“x”:15,“y”:4},{“x”:17,“y”:4},{“x”:15,“y”:3},{“x”:15,“y”:5},{“x”:16,“y”:6},{“x”:17,“y”:3},{“x”:14,“y”:3},{“x”:13,“y”:4},{“x”:15,“y”:6},{“x”:14,“y”:5},{“x”:13,“y”:3},{“x”:14,“y”:6},{“x”:17,“y”:6},{“x”:12,“y”:3},{“x”:12,“y”:2},{“x”:11,“y”:2},{“x”:17,“y”:2},{“x”:18,“y”:2},{“x”:16,“y”:2},{“x”:18,“y”:6},{“x”:18,“y”:7},{“x”:18,“y”:5},{“x”:11,“y”:3},{“x”:12,“y”:4},{“x”:10,“y”:2},{“x”:15,“y”:7}],
[{“x”:17,“y”:5},{“x”:16,“y”:3},{“x”:15,“y”:4},{“x”:15,“y”:3},{“x”:14,“y”:4},{“x”:13,“y”:3},{“x”:13,“y”:4},{“x”:12,“y”:3},{“x”:12,“y”:4},{“x”:11,“y”:4},{“x”:14,“y”:3},{“x”:14,“y”:2},{“x”:11,“y”:3},{“x”:10,“y”:3},{“x”:11,“y”:2},{“x”:12,“y”:2},{“x”:12,“y”:1},{“x”:13,“y”:2},{“x”:10,“y”:2},{“x”:9,“y”:3},{“x”:9,“y”:2},{“x”:8,“y”:3},{“x”:8,“y”:2},{“x”:7,“y”:3},{“x”:7,“y”:2},{“x”:6,“y”:3},{“x”:6,“y”:2},{“x”:17,“y”:4},{“x”:18,“y”:4},{“x”:18,“y”:3},{“x”:16,“y”:4},{“x”:17,“y”:3},{“x”:11,“y”:5}],
[{“x”:16,“y”:5},{“x”:16,“y”:3},{“x”:14,“y”:4},{“x”:17,“y”:5},{“x”:17,“y”:6},{“x”:17,“y”:4},{“x”:16,“y”:6},{“x”:14,“y”:2}],
[{“x”:16,“y”:5},{“x”:16,“y”:3},{“x”:17,“y”:3},{“x”:17,“y”:2},{“x”:17,“y”:4},{“x”:15,“y”:2},{“x”:17,“y”:9},{“x”:14,“y”:4}],
[{“x”:17,“y”:3},{“x”:16,“y”:4},{“x”:17,“y”:4},{“x”:16,“y”:5},{“x”:15,“y”:2},{“x”:13,“y”:4},{“x”:18,“y”:6},{“x”:16,“y”:8}],
[{“x”:17,“y”:4},{“x”:15,“y”:4},{“x”:12,“y”:4},{“x”:16,“y”:7},{“x”:15,“y”:5},{“x”:14,“y”:5},{“x”:15,“y”:6},{“x”:16,“y”:4},{“x”:17,“y”:6},{“x”:17,“y”:3},{“x”:17,“y”:5},{“x”:14,“y”:6},{“x”:15,“y”:7},{“x”:18,“y”:3},{“x”:14,“y”:4},{“x”:13,“y”:4},{“x”:14,“y”:3},{“x”:13,“y”:3},{“x”:15,“y”:2},{“x”:15,“y”:3},{“x”:14,“y”:2},{“x”:13,“y”:2},{“x”:16,“y”:2},{“x”:16,“y”:3},{“x”:13,“y”:5},{“x”:11,“y”:2},{“x”:11,“y”:3}],
[{“x”:17,“y”:4},{“x”:15,“y”:4},{“x”:15,“y”:3},{“x”:16,“y”:4},{“x”:16,“y”:3},{“x”:17,“y”:5},{“x”:14,“y”:4},{“x”:17,“y”:3},{“x”:18,“y”:4},{“x”:17,“y”:2},{“x”:18,“y”:5},{“x”:16,“y”:6},{“x”:17,“y”:6},{“x”:14,“y”:3},{“x”:16,“y”:5},{“x”:15,“y”:5},{“x”:16,“y”:7},{“x”:14,“y”:5},{“x”:15,“y”:6},{“x”:13,“y”:4}],
[{“x”:17,“y”:4},{“x”:15,“y”:4},{“x”:15,“y”:3},{“x”:16,“y”:4},{“x”:16,“y”:3},{“x”:17,“y”:5},{“x”:14,“y”:3},{“x”:14,“y”:4},{“x”:13,“y”:4},{“x”:17,“y”:3},{“x”:18,“y”:4},{“x”:17,“y”:2},{“x”:18,“y”:3},{“x”:13,“y”:3},{“x”:12,“y”:3},{“x”:18,“y”:2},{“x”:18,“y”:5},{“x”:13,“y”:2},{“x”:14,“y”:2},{“x”:12,“y”:2},{“x”:16,“y”:2},{“x”:17,“y”:6},{“x”:18,“y”:6},{“x”:11,“y”:3},{“x”:12,“y”:4},{“x”:11,“y”:4},{“x”:14,“y”:5},{“x”:15,“y”:6},{“x”:15,“y”:5},{“x”:16,“y”:5},{“x”:17,“y”:7},{“x”:16,“y”:6},{“x”:12,“y”:5},{“x”:15,“y”:8},{“x”:11,“y”:5},{“x”:17,“y”:8}],
[{“x”:17,“y”:4},{“x”:15,“y”:4},{“x”:15,“y”:3},{“x”:14,“y”:3},{“x”:16,“y”:3},{“x”:13,“y”:4},{“x”:17,“y”:6},{“x”:9,“y”:3}],
[{“x”:17,“y”:4},{“x”:15,“y”:4},{“x”:15,“y”:3},{“x”:14,“y”:3},{“x”:16,“y”:3},{“x”:14,“y”:4},{“x”:17,“y”:6},{“x”:10,“y”:4}],
[{“x”:17,“y”:4},{“x”:15,“y”:3},{“x”:13,“y”:3},{“x”:15,“y”:5},{“x”:16,“y”:6},{“x”:16,“y”:8},{“x”:15,“y”:6},{“x”:13,“y”:4},{“x”:12,“y”:3},{“x”:14,“y”:6},{“x”:14,“y”:7},{“x”:13,“y”:6},{“x”:15,“y”:8}],
[{“x”:17,“y”:4},{“x”:15,“y”:3},{“x”:16,“y”:3},{“x”:15,“y”:4},{“x”:17,“y”:6},{“x”:11,“y”:4}],
[{“x”:17,“y”:4},{“x”:15,“y”:3},{“x”:16,“y”:5}],
[{“x”:16,“y”:4},{“x”:17,“y”:3},{“x”:17,“y”:4},{“x”:16,“y”:3},{“x”:14,“y”:3},{“x”:14,“y”:2},{“x”:13,“y”:2},{“x”:15,“y”:3},{“x”:14,“y”:4},{“x”:15,“y”:4},{“x”:15,“y”:5},{“x”:16,“y”:5},{“x”:18,“y”:5},{“x”:16,“y”:6},{“x”:15,“y”:6},{“x”:15,“y”:7},{“x”:14,“y”:7},{“x”:17,“y”:7},{“x”:18,“y”:3},{“x”:15,“y”:2},{“x”:12,“y”:3},{“x”:18,“y”:2},{“x”:19,“y”:2},{“x”:17,“y”:2},{“x”:15,“y”:8},{“x”:16,“y”:7},{“x”:18,“y”:7},{“x”:18,“y”:8},{“x”:18,“y”:6},{“x”:14,“y”:8},{“x”:18,“y”:9},{“x”:19,“y”:8},{“x”:16,“y”:1},{“x”:14,“y”:6},{“x”:14,“y”:5},{“x”:13,“y”:7}],
[{“x”:16,“y”:4},{“x”:17,“y”:3},{“x”:17,“y”:4},{“x”:16,“y”:3},{“x”:14,“y”:3},{“x”:15,“y”:3},{“x”:15,“y”:4},{“x”:14,“y”:2},{“x”:18,“y”:3},{“x”:18,“y”:2},{“x”:15,“y”:2},{“x”:16,“y”:2},{“x”:13,“y”:2},{“x”:15,“y”:1},{“x”:13,“y”:4}],
[{“x”:16,“y”:4},{“x”:17,“y”:3},{“x”:17,“y”:4},{“x”:16,“y”:3},{“x”:14,“y”:3},{“x”:15,“y”:3},{“x”:15,“y”:4},{“x”:14,“y”:2},{“x”:18,“y”:3},{“x”:18,“y”:2},{“x”:15,“y”:2},{“x”:18,“y”:4},{“x”:17,“y”:2},{“x”:19,“y”:3},{“x”:16,“y”:2},{“x”:18,“y”:3},{“x”:13,“y”:2},{“x”:14,“y”:4},{“x”:13,“y”:3},{“x”:17,“y”:6},{“x”:14,“y”:6}],
[{“x”:16,“y”:4},{“x”:17,“y”:3},{“x”:17,“y”:4},{“x”:16,“y”:3},{“x”:15,“y”:4},{“x”:14,“y”:2}],
[{“x”:16,“y”:4},{“x”:17,“y”:3},{“x”:17,“y”:4},{“x”:16,“y”:3},{“x”:15,“y”:3},{“x”:15,“y”:2},{“x”:14,“y”:2},{“x”:14,“y”:3},{“x”:15,“y”:4},{“x”:13,“y”:2},{“x”:16,“y”:2},{“x”:14,“y”:1},{“x”:17,“y”:2}],
[{“x”:16,“y”:4},{“x”:17,“y”:3},{“x”:17,“y”:4},{“x”:16,“y”:3},{“x”:15,“y”:3},{“x”:15,“y”:2},{“x”:14,“y”:3},{“x”:14,“y”:2},{“x”:13,“y”:3},{“x”:18,“y”:4},{“x”:18,“y”:5},{“x”:18,“y”:3},{“x”:17,“y”:6}],
[{“x”:16,“y”:4},{“x”:17,“y”:3},{“x”:17,“y”:4},{“x”:16,“y”:3},{“x”:15,“y”:3},{“x”:15,“y”:2},{“x”:14,“y”:3},{“x”:14,“y”:2},{“x”:13,“y”:3},{“x”:13,“y”:2},{“x”:12,“y”:3}],
[{“x”:16,“y”:4},{“x”:17,“y”:6},{“x”:17,“y”:5},{“x”:16,“y”:6},{“x”:14,“y”:4},{“x”:17,“y”:10}],
[{“x”:16,“y”:4},{“x”:17,“y”:6},{“x”:14,“y”:4},{“x”:18,“y”:4},{“x”:17,“y”:3},{“x”:17,“y”:9},{“x”:10,“y”:3}],
[{“x”:16,“y”:4},{“x”:17,“y”:6},{“x”:17,“y”:8},{“x”:17,“y”:3},{“x”:17,“y”:4},{“x”:16,“y”:3},{“x”:15,“y”:4},{“x”:18,“y”:4},{“x”:18,“y”:5},{“x”:18,“y”:3},{“x”:17,“y”:5},{“x”:14,“y”:3}],
[{“x”:16,“y”:4},{“x”:17,“y”:6},{“x”:14,“y”:3},{“x”:17,“y”:4},{“x”:17,“y”:3},{“x”:18,“y”:3},{“x”:16,“y”:3},{“x”:18,“y”:5}],
[{“x”:16,“y”:4},{“x”:17,“y”:6},{“x”:14,“y”:3},{“x”:17,“y”:4},{“x”:17,“y”:3},{“x”:18,“y”:3},{“x”:17,“y”:5},{“x”:18,“y”:4},{“x”:16,“y”:5},{“x”:18,“y”:5},{“x”:17,“y”:2},{“x”:16,“y”:6},{“x”:18,“y”:7},{“x”:17,“y”:8},{“x”:18,“y”:8},{“x”:16,“y”:3},{“x”:16,“y”:2},{“x”:17,“y”:10},{“x”:17,“y”:7},{“x”:15,“y”:4},{“x”:15,“y”:5},{“x”:16,“y”:8}],
[{“x”:16,“y”:4},{“x”:17,“y”:6},{“x”:14,“y”:3},{“x”:17,“y”:4},{“x”:17,“y”:3},{“x”:18,“y”:3},{“x”:17,“y”:5},{“x”:18,“y”:4},{“x”:16,“y”:5},{“x”:18,“y”:5},{“x”:16,“y”:6},{“x”:17,“y”:7}],
[{“x”:16,“y”:4},{“x”:17,“y”:6},{“x”:14,“y”:3},{“x”:16,“y”:10}],
[{“x”:16,“y”:4},{“x”:17,“y”:6},{“x”:14,“y”:3},{“x”:18,“y”:4},{“x”:17,“y”:8},{“x”:17,“y”:3},{“x”:17,“y”:5},{“x”:18,“y”:5},{“x”:16,“y”:6},{“x”:16,“y”:7},{“x”:17,“y”:7},{“x”:18,“y”:6},{“x”:15,“y”:7}],
[{“x”:16,“y”:4},{“x”:17,“y”:6},{“x”:14,“y”:3},{“x”:18,“y”:4},{“x”:17,“y”:3},{“x”:17,“y”:9}]

I took the liberty to change the two space high extension to a three space low extension (after black kicks the 4-4 low approach).

1 Like

They were ok in that hidden answer too

I think it would be useful to handle the joseki dictionaries in SGF format. This would make it easier to curate them using any SGF editor tool. BesoGo has some helper routines for parsing SGFs, or we could have a tool that extracts the sequences into our format.

However, in the SGF format, we’d have to decide how to annotate joseki that are entirely prefixes of other joseki. By convention, we could treat all paths from root to childless leaf nodes as indicating a joseki, but some sort of tag convention is needed to indicate which partial paths are also joseki.

What do others think about this?

For what it’s worth, I have a similar issue on Firefox (Mac).

CapturFiles

2 Likes

Using SGF directly would make it easier to add new sequences for sure. But I think we should revisit this first:

Integrating Josekle to OGS would be nice, but it has some cons too:

  • (Probably) Less UI/UX flexiblity
  • Collaboration might be more difficult because OGS backend isn’t that accessible (I don’t know whether that’s also the case for OJE though).

Before making major design decisions, it might be a good idea to think about whether that is desirable.

1 Like

thanks!! added and pushed

I guess we’ll find out :joy:

if folks want to play more just add ?debug=true&puzzle=5
and you can play tomorrow’s puzzle, etc. I do think getting more feedback on difficulty would be interesting

1 Like

personally, I think whatever the quickest way we can do to get this MVP to check inputs against a dictionary would be interesting. I don’t know if this kind of constraint on the puzzle is good, too hard, too easy etc

I think integrating with OJE would be cool but I suspect it poses some technical challenges: OJE is already kinda slow? and I don’t know why. checking your input against all joseki might be too slow via OJE as it is, but I don’t know the OJE code…

1 Like