nes-pictionary

The Game of Video Quick Draw!

a bot, posting every six two hours
maintained by @lunasorcery


maintainer's personal blog
moonbase.lgbt/

Alright folks, you’ve seen a handful of custom drawings created by me over the last few months, and now it’s your turn:

here’s the drawing tool!

If you’d like your drawing added to the bot’s random rotation, here’s what to do:


  • Create a drawing using the tool linked above
  • Copy it using the “export to clipboard” button
  • Paste that into my Ask page, along with a text prompt for your drawing
  • From there, I’ll periodically review submissions and add the ones I like

Text prompts should only use the letters A-Z and spaces, and must be no more than 16 characters (including spaces) — this is to preserve the spirit of the original NES game. Please keep submissions safe-for-work. You’re of course free to create and share whatever you like, these rules are just for submissions to the bot’s random rotation.

Also, please remember that I am one human being running this account for fun in my free time. This new endeavor is essentially an unpaid moderation job I’m willingly adding to my plate and may live to regret; please be nice to me <3


You must log in to comment.

in reply to @nes-pictionary's post:

so the drawing rules seem to be that each tile can contain a circle or curve, xor any combination of ─│╲╱ plus exactly 1 of the other 8 shallow/steep lines? now i’m curious how exactly the game stores this data

ah i guess the clipboard export just has raw hex data, one byte per tile. REing is work though. plus it wouldn’t tell me if the game uses some kind of compression

This makes so much sense! I’ve been puzzled about some of the choices that were apparently made in some of the drawings. Now I see that the system has stricter limitations than I had thought!

I’ve just created an experimental format for these drawings utilizing base32 instead of hex to store tiles pairwise on 15 bits each, thus saving a bit of space. :-)
basically:
alphabet is ‘0123456789abcdefghjkmnpqrstvwxyz’ (0–9a–z minus i, l, o, u = Crockford’s base32)
of every 15-bit word, the last two characters are always the five least significant bits of the two tile IDs.
while the first one is:
if both tiles have their high bit set:
0x10 | ((left & 0x60) >> 3) | ((right & 0x60) >> 5);
if only the left tile has its high bit set:
0x08 | ((left & 0x60) >> 5);
if only the right tile has its high bit set:
0x04 | ((right & 0x60) >> 5);
if neither:
always 0x00.
I’ve seen the commented-out base64 encoder in the drawing tool’s source, this is something similar but hopefully just a little bit closer to human readability than standard base64.