• Ironic Sans
  • Posts
  • I made a new daily puzzle. It’s called Gisnep!

I made a new daily puzzle. It’s called Gisnep!

I’d love to know what you think

I made a new daily puzzle thing! It’s called Gisnep! It’s probably still fairly buggy in ways I can’t find on my own, so I’m welcoming people to try it out and tell me what’s broken.

It’s my entry into the crowded world of daily online puzzles. Every day, you solve a puzzle to reveal a quote. As you do, you also reveal the source of the quote.

Here’s what it looks like at the time of this writing, but I’m still adjusting things:

Please play it in the way that you are inclined to play a game like this, and let me know what broke for you, what didn’t behave as you expected, what could be better, what you loved, and what you didn’t.

Note that it’s not really optimized for mobile, but it kinda works. Proper mobile optimization is on the roadmap.

How to Play

You start the game by clicking “Start.” The letters pour into place and the timer begins:

Each of those letters belongs somewhere in its column. You type the letters where you think they go, and gradually reveal a quote.

Here’s what a completed grid looks like, reading across. Notice that broken words wrap around to the next line:

A good strategy is to start with short words that are more obvious, and work your way up to longer words.

At any time you can click “Check” to see how many mistakes you’ve made that need correction. There’s no limit to how many times you can click “Check” but I know you can solve even the hardest puzzles without checking. I believe in you.

When you enter a letter in a cell that has a circle, the letter appears in a spot in the source section. This is a way of providing quote attribution but also gives you another clue. If the source doesn’t make sense, you’ve entered something wrong. PRIDKE AND PRMJUDECA is not a thing.

Some quotes won’t include every letter from the source. When that happens, you get those letters as freebies when the game begins. They show up in green.

Once you’ve solved the quote, you can share your results!

When you play, please report bugs. I know they’re there. In particular, look out for any letter doesn’t return to the right place when deleted, change properly when typed over, etc. and let me know what you were doing when it happened. I’ve squashed all the issues I’ve encountered but I’ve gotta catch ‘em all!

Why is it called Gisnep? And what’s with the moose?

I’ve long been aware that some people think the Disney logo looks like it says Gisnep. Personally, I don’t see it. I mean, kinda? But that looks clearly like a D and Y to me.

However, I’ve heard it mentioned often enough that now every time I see the Disney logo I still think the word “Gisnep” even though I don’t even see it that way.

One night a couple months ago, just as I was about to fall asleep, a thought suddenly popped into my head: I wonder if the domain gisnep.com is available. So I grabbed my phone and checked. It was! Without thinking too much about it, I spent the $10.28 to register it and then fell asleep.

I totally forgot about it until I noticed the receipt in my Inbox the next day. Okay, so now I owned this domain. What would I do with it?

I set it to just redirect to disney.com and though it would be a fun little joke for anyone who actually tried going to gisnep.com. Then I realized that’s probably not many people or someone else would have surely grabbed it before me.

So then I thought maybe I’d make some kind of Disney parody. And that would need a logo and a mascot. So I played around in Photoshop to make “Disney” actually say “Gisnep” and then tried to think of a proper mascot.

I came up with a name. Mickey Moose.

I had ChatGPT render a bunch of images, and then picked one and pulled it into Photoshop for further adjustment. The result is a sort of joint effort between DALL-E and me:

I eventually changed the logo because I don’t want to make Disney mad, but I kept the moose.

(I’d like to have a human draw a new moose rather than use an AI-generated moose. It’s on my to-do list and I’m open to nominees if you know someone good and not too terribly expensive for a hobby project.)

But beyond that, I had zero ideas for a Disney parody. For a moment I considered that, since Steamboat Willy is public domain, Gisnep could be some sort of homage to public domain characters?

And then I thought of all the daily word games I like to play. Maybe there’s a game I could make centered around public domain characters. Or books! Maybe I can make some kind of game based on public domain books.

Then I remembered these “hidden quote” puzzles I used to enjoy playing in GAMES Magazine. They would usually have three in each issue, like this:

GAMES Magazine is still around but hard to find. Sometimes I get the newest issue from Libby and print out some screenshots of puzzles for my kids.

I love those games. But what could I do that would make it a little more interesting?

I asked ChatGPT to be my sounding board. I explained the type of puzzle I wanted to make and asked:

What's a twist that would be original, novel, and fun and add another layer of puzzledom?

It gave me a bunch of ideas. Most of them were bad. But this one intrigued me:

Include a hidden message within the solved quote. This could be revealed by highlighting specific letters in the final solution that spell out a word or phrase when read in a certain order.

Hmm. What if I combine the hidden-quote type puzzle with a Jumble-style anagram puzzle to uncover the source of the quote?

Getting ahead of the story a little bit, the first version of the game actually had a second phase where the circled letters appeared as tiles in a bin, and you had to unscramble the tiles to reveal the source of the quote, and there were blank tiles you could assign as any letter for ones that don’t appear in the quote. It looked like this:

A few people were nice enough to play-test it for me, and it turned out that having a two-part game was not nearly as fun as a much simpler one-part game. And unscrambling the letters was way too hard, especially for long and obscure sources. If I give you the letters NCAIAERENROLEIFBLRMAGUT are you really going to figure out that it’s the Cuban writer Guillermo Cabrera Infante? So I discarded that idea in favor of the simpler one where you just have to solve the quote.

So I had an idea for a game. Now came the biggest problem: I’m not a programmer and have no idea how to do any of this.

Luckily, I’m pretty good with ChatGPT.

Coding the game

Whie I don’t know much about programming languages specifically, I do have a decent understanding of programming concepts. So what followed was two months of having back-and-forth conversations with ChatGPT in my spare time where I explained the game very specifically, and it gave me code to try. And then once the basics were working, I explained various features I wanted to add, and ChatGPT gave me more code to try.

Nothing ever worked the first time, and often not even the tenth time. There were a lot of situations where it took me two steps back for every step forwards and I didn’t even notice something broke until later. I found myself saying things to ChatGPT like:

  • Explain this function to me line-by-line like I’m an idiot. What’s it doing exactly and why are you suggesting changes?

  • No no no we tried that already! You’re just making the same suggestion all over again!

  • ITUAAMPGMIWO does not spell “PRIDE AND PREJUDICE”

Too often I would ask it how to fix something, and it would give me literally the same exact code that I just told it wasn’t working. So in those moments I would switch tools and go over to Claude AI. Their Sonnet model is supposed to be very good at coding. It didn’t always know the answer any better than ChatGPT, but it was much better at walking me through debugging so we could pinpoint where the problems were.

In the end, the actual code of this game was probably 98% written by ChatGPT and 1.5% written by Claude. I might have adjusted a line or two myself, so I claim the other half percent.

I have no doubt that it’s really sloppy code. I made so many changes along the way that I probably have redundant code, variables that I no longer need, functions I’m not using anymore, and so on. And I wouldn’t even know if I’ve introduced memory leaks or resource hogs or any other thing I don’t understand and have no idea how to identify. I don’t even know if those apply to web apps. So don’t look at my code, it’s embarrassing.

I kept thinking that someone who actually knows how to code would probably laugh at how hard this was for me. So many problems seemed like they should be easy to solve if only I knew how.

Last week The Pudding published an article about what happened when they asked AI to produce their style of data-driven visual story, and found it fell very flat. They wrote:

It’s sort of like comparing a woodworking artisan’s table to one from IKEA. The artisans invest immense time and effort into their high-quality pieces, while IKEA produces things quickly and cheaply, and most people probably can’t tell the difference (or don’t care). Which is kind of sad for us artisans.

Is that what I’ve made? The IKEA version of a daily puzzle game? Or is it just the IKEA version of the code behind a daily puzzle game, like an IKEA table with artisanal veneer?

One interesting thing is that, having never made anything like this before, I found that I had to make a ton of decisions that gave me an appreciation for people who make much more complex games. Some of the things I had to consider even in a simple game like this:

  • If someone navigates between cells with arrow keys, should their navigation stop at the borders or wrap around?

  • If they wrap around, do they wrap on the same line or go to the next line?

  • What are all the ways someone might try to close a pop-up message?

  • How do I make sure things that need to be random are random in the exact same way for everyone so they experience the same version of each puzzle on the same day?

  • Does a new puzzle appear at midnight in the user’s local time, or at the same time for everyone simultaneously? Should that be my time? Greenwich time?

  • What should happen if someone types an invalid letter in the grid?

  • How could the letters animate into the header cells at the beginning in a way that’s delightful but doesn’t take too long? (I had many variations on this)

  • Should the game start with a cursor already in a cell ready for the user to type? If so, which one?

  • Should letters in the header cells (I also call those cells the “hoppers”) leave an empty space as they’re used? Get crossed out as they’re used? Or should the other letters fall to fill in the gaps?

  • If someone deletes a letter from the grid, does it go back in the hopper cell in the same place where it was, or does it go on top?

  • Should the header cells shorten as letters are used up to consolidate space, or stay the same height the whole game? Does it look bad when they’re all empty?

  • Does this game need sound effects?

  • Should there be a way to check your progress? And what should that look like if so?

  • How long a quote is too long? How short is too short?

  • Should this be a game people can finish in two minutes? Or ten minutes?

  • Would a two-sentence quote be confusing to solve or do they all need to be one-sentence quotes?

  • If a quote is from a book, should I use the title or author as the source?

  • Is “The Bible” a source? Or should it be more specific like “Genesis”?

  • How many squares across should the grid be? GAMES Magazine uses 21 squares. How did they reach that decision?

  • I found a good API for retrieving a huge variety of quotes but many of them are problematic. Like, a surprising number of quotes in the database are from politicians stating opposition to gay marriage. How can I make sure nothing like that slips through?

  • A first-time visitor won’t notice that the game’s slogan changes daily. Will they just thing the game has a dumb slogan?

  • Should I lose the moose?

  • What else can I do to make this more fun or interesting than similar puzzles that surely exist already?

I know I may not have made the right decisions for everyone. Tell me what I got right and wrong from your perspective.

So is it really MY game?

When I see AI generated art, I cringe at the idea that someone wrote a prompt and then says that they “made” a picture. But I worked pretty hard on this. How do I describe what I’ve done?

I made every decision about interactivity, functionality, and so on. I just didn’t write the code.

Did I make this game? Did I design it? It’s a variation on similar games that came before it, just like Wordle and Connections are. So what’s my ownership of this game? The game was built up little by little in a plain text editor, but did I make it from scratch? Was the code all written bespoke by ChatGPT based on my prompts, or did ChatGPT give me existing snippets of code from places I don’t know about?

A federal court has ruled that AI generated art doesn’t get copyright protection. What about this, though? It was definitely a collaboration that involved a lot of creative direction and decision making from me. If I can’t copyright the actual code since AI wrote it, could I patent the game’s flow? What parts of this are protectable?

These are all things I wondered as I worked on this. I’m sure time will tell us the answers.

Whew, that was a lot. But now the newsletter is over and you should go play the game. Why are you still here?

Is it because you’re looking for the link to make a donation? Okay here it is.

See you next time. Now go play!

David

Reply

or to participate.