2013-07-12

Thank you!

Thank you everyone who has already given feedback!

...and if you haven't yet, there is still time! It is important for me to get feedback from everyone who somehow participated in the game (incl. just following along). I appreciate if you take the time to fill out this form: Stop Toilworn Diamond feedback (Edit: The feedback form has been closed.)

If you have any questions, feel free to email me or post them to the blog comments. I have also answered some questions at the Unfiction forum, so you might want to check them out.

Best Regards,
Lasse Hakulinen (lasse.hakulinen@aalto.fi)
(a.k.a Beth Swillower, Richard Exaltego, Buck Plentier, Pasi Liisola and Hubert Acker)

2013-07-05

Behind the scenes & please give feedback!

The "Stop Toilworn Diamond" alternate reality game has ended and the world has been saved from the horrible LOLCat Apocalypse. Thank you for being part of it!

Who organized this game & why?

I'm a PhD student from Aalto University (Finland) and responsible for the game. This is part of my doctoral research in which I am studying the use of games in education. The game was held in order to study the potential of using alternate reality games in computer science education.

What do you want from me?

It is important for me to get feedback from everyone who somehow participated in the game. Therefore, whether you were active or just followed occasionally, please help us to make better games in the future and give feedback here: Stop Toilworn Diamond feedback.

Now what?

In case you want to see the solutions to the puzzles, check this: Stop Toilworn Diamond Puzzle Solutions

How can I contact you?

Email: lasse.hakulinen@aalto.fi

How can I stalk you?

Start from here: http://www.cs.hut.fi/u/lhakulin/
...or here: https://twitter.com/lhakulin

Puzzle Solutions

Here is a list of puzzles in the "Stop Toilworn Diamond" alternate reality game and short descriptions of the solutions. This list is not meant to be an exhaustive explanation of the solutions, but rather a short hint what you should be looking for. Some of the solutions are explained in more detail in the comments of the blog post, or in this thread at the Unfiction forum: [Trailhead] Rewriting The Future.

If you have any questions, or want more detailed explanation to some of the puzzles, you can comment this blog post or send email to: lasse.hakulinen@aalto.fi

-ALLIES REPORT-ARIEL REPLOTS-SPOILER ALERT-LITER REPOSAL-OIL PLASTERER-

Puzzle 2.1 (Binary puzzle)
Each character of the message is represented as a binary number based on the ASCII value of the character. Leading zeros are removed from the binary representation.

Puzzle 2.2 (RGB image)
Numbers on the webpage are RGB values of an image that reveals an url. 

Puzzle 2.3 (Mona Lisa)
The pixels of the image must be sorted based on the red component of the RGB value. There are multiple pixels with the same value of red. Therefore, only stable sorting algorithm produces the correct answer, meaning that the initial order of pixels with the same value should be preserved.

Puzzle 2.4 (Reversed)
The message can be read from back to front.

Puzzle 3.1 
Vowels and consonants of the text are separated. The numbers have the information how the original message can be retrieved. Each number tells how many adjacent characters of that type are taken before changing to the other group (vowels vs. consonants)

Puzzle 4.1 
The original image should be formatted by putting the pieces in right places. Each piece has a little color code on each side to be used when finding matching pieces. The image can be constructed by matching the pieces.
Puzzle 4.2
Same as 4.1 but with a bigger image.

Puzzle 5.1
The message is encrypted with ROT13. Each letter is replaced with a letter that is 13 steps ahead of them in the alphabet.
Puzzle 5.2
Each letter is replaced with a letter that is N steps ahead of them in the alphabet, where N is the position of the letter in the text.

Puzzle 6.1 
Remove the additional spaces (every other column) to get a valid QR code
Puzzle 6.2
Modify the rows of the picture. There is a N pixel offset in each row, where N is the number of the row (starting from 0).
Puzzle 6.3
One QR code is encoded into the two pictures. "thisispic1.png" is created by merging two adjacent pixels that are in the same row in the original picture. If both of the pixels are white -> the produced pixel is white. If both of the pixels are black -> the produced pixel is black. If one is black and one is white -> the produced pixel is gray. "thisispic2.png" is generated respectively, except taking each pair of pixels from a column, not a row.

The color of a pixel in the resulting QR code can be determined by reading 1 pixel from both images. In case of gray pixels, the color of the original pixel can not be determined. However, by trying different variations will give the correct message in reasonable time, because of the QR code error correction.

Puzzle 6.4
View the QR code in full size. The message can be seen by scanning the code.

Message #7 (Ciphers and Image processing)
Resize the image to make it wider and read the text from the "teeth" of the key (key1): THEFASTFLYINGBANANASAREFAST
Pigpen cipher with slight modifications (higher symbols mean upper case). The short url reveals a text that can be used with a keyword cipher using key1 and key2 as the keyword. (http://en.wikipedia.org/wiki/Keyword_cipher)
However, the keyword cipher is breakable using frequency analysis and as it turned out, the message was revealed without using the keys.
The following text is written by using a slightly different color in the body of the key: (key2) ANDNOBODYCANCATCHTHEM

Puzzle 8.1
Count the number (N) of vowels in each word (including y). The message can be seen by taking the Nth letter from each word. 
Puzzle 8.2
Same with much bigger input. The same message is copied 10 times and therefore it is not necessary to solve all the text. However, not recommended to be done manually.

Puzzle 9.1
There is a QR code hidden in the image. The values of the blue channel of RGB  are either 0 or 1, where 0 means black pixel in the QR code and 1 means white.
Puzzle 9.2
There is also a QR code hidden in the image. One of the RGB channels has a value of 0 or 1 and others have a value greater than 1. The black/white pixel of the QR code is decided similarly as in 9.1

Puzzle 10.1
Same as the puzzle 2.3, but sort based on the blue channel.

Puzzle 10.2
Same as the puzzle 2.4.

Puzzle 11.1
The table is a truth table where the faces represent 1 and 0 (darker is 1) and the cats represent logical operators. Complete the table and read the message from the emphasized cells using a lookup table (http://stoptoilworndiamond.co.nf/golactic/). The logical operators are:
D = OR (logical disjunction)
E = AND (logical conjunction)
F = XOR (exclusive disjunction)

Puzzle 11.2
Same idea as in 11.1, but with more operators. The new operators are:
F = logical implication
H = XNOR (logical equality)
I = NOT (logical negation)

Puzzle 12.1
Take the first letter of each word and add http://goo.gl/ to the beginning.

Puzzle 12.2
The picture on the page is just a red herring. The message can be found commented in the page source.

Puzzle 13.1
The picture has a text http://stoptoilworndiamond.co.nf/thighsprang/A...X.html hidden with a light gray. Find the shortest path from A to X to get the correct url. The shortest path can be found using Dijkstra's algorithm (http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm)

Puzzle 13.2
The page has a graph represented as a connectivity matrix. Draw the graph and find all the cut vertices (the title of the page is "curve text" which is an anagram from "cut vertex"). 

Puzzle 13.3
The page has a graph represented as adjacency list. Find the shortest route that starts and ends in A and visits all the nodes (Traveling salesman problem). It is also possible to solve with a brute force solution by testing all permutations and calculating the length of each possible route.

Puzzle 13.4
The binary string is a Huffman coded message. Use the Huffman tree in http://stoptoilworndiamond.co.nf/thighsprang/ to solve the coding. (the one empty leaf is the letter ' ').

Puzzle 14.1
The image riddle means "dews is row". There is http://stoptoilworndiamond.co.nf/w???w????.html written in the image with light gray. "dewsisrow" is an anagram from "wisewords" so the correct url is: http://stoptoilworndiamond.co.nf/wisewords.html

Puzzle 14.2.
The quotes (or wise words) on the page talk about style. The actual message can be seen by modifying the css styles of the page and revealing the text coded with classes "par1", "par2" and "par3".

Puzzle 15.1
The message is hidden in the ASCII picture of Richard's face. The positions of the letters that belong to the message can be get from the decimals of pi. The number of non-message characters is the next digit of pi.

Puzzle 15.2
The picture is a stereogram. By focusing behind the picture, you can see the text "topsecret". Avecira's emergency self destruct system can be found in the url http://www.avecirasolutions.com/topsecret/

Activation keys to Toilworn Diamond Emergency Self Destruct System
The keys had 10 different solutions. Most of the solutions were same or similar to a solution already used to solve a puzzle in the game. Each activation key from 0 to 99 is a string of ten characters and can be get with the following methods:

0-9: Convert the binary code to ASCII
10-19 Morse code
20-29 Use ROT-13
30-39 Vowel counting like in puzzle 8.1
40-49 Take XOR operation
50-59 Sort the characters based in alphabetical order.
60-69 Take the 1st character of the first row, 2nd character of the second row,...
70-79 Translate the numbers to the corresponding letter in the alphabet
80-89 Octal notation of the unix file permissions
90-99 Find the shortest path of the weighted graph represented as adjacency list

The last key is a devious exception to the rule. The key #100 is: "Richard" (also "Richard   " is accepted).

The cards (card1 and card2) contain a 7 characters long string. Each character is represented as a binary number based on the ASCII value of the character. The binary numbers can be read from the cards by putting one card on top of the other. Each hole means bit 1 and not-hole means bit 0. Basically it is the AND operation of the two cards.

There is no single correct answer to the challenge. The example face was done using a Hill climbing algorithms to find the locations of the ellipses. Basically the algorithm works like this:

while (as long as you like) {
  • pick one ellipse randomly and modify it
  • create a new image
  • check if the new image is better than the previous best one
  • if not, return to the previous stage

}

Bonuspuzzle (MD5 hash)
This was sent to the person who submitted a solution to the "Face modeling challenge".
Richard wrote to the person:
"I rummaged through all the things that the person left behind and I found this from his notes: 
MD5: b2193e96ec41acc4330ed490b7ba09b9 
I also remember that the text has 7 letters and starts with a letter 'N'. But that's all I know. Do you think you could help me with it?"

Can be solved with brute force by testing all possible strings that have 7 letters and start with N and checking if their MD5 hash matches with the given. Limiting the search to only capital letters reduces calculation the time.

Send the assistant to the room labelled "Free lunches & Unicorns". If he comes back with free lunches, that door should be labelled with "Free lunches". In that case, the door labeled with "Unicorns" contains both, and the door labeled with "Free lunches" contains just unicorns.

Message #16, final notes

I just received the following picture. As you can see, our efforts payed off and the LOLCat Apocalypse is not a threat anymore. Now I'm finally free and I can quit my job as a cleaner at the sweatshop called Avecira Solutions and find a better place to work.

It has been a pleasure having so many clever people helping with the puzzling messages.

Thank you!


The last key!

We are down to the last key launching the self destruct system! Good work people!

I got a message in twitter from a friend that the hint to the last key is: "This is the most important activation key. There are no hints available. You just have to know it"

Looks like Richard is already heading back, so we are running out of time. Anyone have any ideas what could be the most important thing that Richard is talking about?


Sharing methods of key activation

I see that we have made some nice progress activating the keys of the self destruct system! Excellent job everyone! Looks like we have a chance to launch the system as long as Richard keeps busy at the safari.

I got a suggestion from a blog reading friend that we should list decryption methods used to solve the keys so that other people could benefit from everyone's efforts. You can post your methods of activating the keys, for example, to the comments of this blog post.

2013-07-03

Let's launch the Toilworn Diamond self destruct system!

The moment we have been waiting for has finally arrived! Now we have an actual chance to destroy the project Toilworn Diamond for good!

The latest message revealed the address of the Toilworn Diamond Emergency Self Destruct System. Richard has just left to a "well deserved" vacation, so now is our time to strike! The 28 characters long secret string has been also solved, as Jehane kindly points out in the comments, and it is: FISHCANDIVEBUTTHEYCANNOTJIVE

Anyone who want's to be part of stopping the Toilworn Diamond and rewriting the future for the better, now it's the time! Let's launch the Self Destruct System!