
Show HN: Word Champions, a word game written in ClojureScript - nathell
http://danieljanus.pl/wladcyslow/
======
nathell
Hey HN!

This is a game I originally wrote as a training tool for my friend who was
going to appear on a TV talent show.

I’ve written an accompanying blog post that tells that story. Read it here:
[http://blog.danieljanus.pl/2020/01/03/word-
champions/](http://blog.danieljanus.pl/2020/01/03/word-champions/)

~~~
hizanberg
IMO it should have an option to stick with dictionary words, I spent a long
time on puzzles that had 'zdnet' and 'vsnet' as words which were basically
impossible to work out without trial & error since there are no english words
in the dictionary that starts with `vs` or `zd`.

If includes cryptic abbreviations, brand and product names the number of
possibilities open up exponentially and you can no longer rely on English
rules to help solve the puzzle, it basically becomes a trial & error
permutations game.

~~~
nathell
Thanks! This has been suggested to me before, and integrating a better
wordlist is #1 on the TODO.

~~~
pimlottc
Also consider screening out proper names, they are not allowed in many common
word games (e.g. Scrabble, Boggle) so I got kinda stumped when one of the
answers was “Tyler”.

~~~
JimTheMan
Same here!

Either that or make it super obvious the kinds of words that are allowable in
the Tutorial example.

------
failrate
Good fun. I played an easy puzzle, and it was gratifying to go from "Is this
even possible?" to "Done!"

------
fishmaster
This is a great idea for pub quizzes. There's usually a puzzle sheet with one
such riddle.

------
schemescape
That was easy to understand and fun. Some sort of competitive aspect (e.g. a
leaderboard) would make this addictive :)

~~~
nathell
I'm considering adding a leaderboard, but that would damage the appeal that
the current version runs completely client-side – from server point of view,
it's just a few static files served by nginx.

Before I implement one, I'll likely add permalinks to puzzles, so you can race
against your friends in solving the exact same riddle just by sharing a URL.

~~~
escherize
There's a pretty good firebase cljs library that would let you keep most of
those benefits.

------
Scarbutt
Why is the JS payload so big? the words are on a different file. Also, try
gzipping.

~~~
nathell
It's the ClojureScript runtime, Reagent, re-frame, plus the game's compiled
code – it adds up.

Nginx should automatically gzip all assets. But I just checked and apparently
it doesn't. I'll reconfigure, thanks!

~~~
capableweb
Probably you're already doing this but make sure advanced compilation is
turned on, pretty-names turned off and you're not using multimethods or pprint
in your application

------
bil7
good fun!

