First of all, if you haven’t seen Crossbow Endurance, you might want to do so now.

Here I’ll be dealing with the second version of this… unique video:

You’d be forgiven for not noticing, amongst the constant barrage of crossbow shots, that there are a few coded messages spread throughout the video. So, naturally, I’m going to decode them all.

#0: Challenge

The sixth shot doesn’t contain any codes, merely the message:

THIS VIDEO CONTAINS
NINE CODED MESSAGES.
LOCATE AND DECODE
THEM ALL.
YOU WILL NEED TO FIND
AND DECIPHER THE
EIGHTH TO DECODE
THE NINTH

as well as the text “CHALLENGE ACCEPTED”. Indeed, I have accepted this challenge.

#1: QR Code

21 shots in, and we are faced with a QR code. This one’s pretty simple, assuming you can recognise a QR code when you see one.

Extracted and cleaned up:

Which says:

Crossbow Shot Distribution:

Combine: 225
Slow Zombie: 49
Fast Zombie: 22
Poison Zombie: 9
Slow Headcrab: 22
Fast Headcrab: 7
Poison Headcrab: 19
Zombine: 15
Barnacle: 4
Antlion: 44
Acid Antlion: 1
Antlion Guard: 1
Antlion Grub: 1
Bird: 20
Scanner: 10
Manhack: 25
Hopper: 9
Hunter: 11
Strider: 4
Human: 21
Explosive Barrel: 2

#2: Caesar Cipher

The 45th shot would appear to contain legible text for three words in, until it quite clearly becomes nonsense.

Crossbow Endurance
required ryhu wzr krxuv
ul mgskvrge xkiuxjotm
oaxv wnjauh cfnwch tagde
ar smyqbxmk, idipaaxcv
hdbt 570VQ gx
mfugehjwkkwv xgglsyw
vo apgg CY pcqmjsrgml,
60 dpykcq qfs tfdpoe.

This isn’t just a plain Caesar cipher, though: each group of three words is shifted three more backwards than the previous (3 is a recurring theme throughout these codes).

So, by shifting the first group by nothing, then the next group back three letters, the next six, and so on, it results in:

Crossbow Endurance required over two hours of gameplay recording from nearly twenty hours of gameplay, totalling some 570GB of uncompressed footage at full HD resolution, 60 frames per second.

#3: Hexadecimal

The 78th shot gives us a bunch of numbers and letters. If you’re familiar with representations of computer data, this probably looks suspiciously like hexadecimal to you. The digits are even broken up into one-byte groups.

54 68 65 20 73 74 72 69 64 65
72 20 6b 69 6c 6c 20 61 74 20
73 68 6f 74 20 6e 6f 2e 31 39
35 20 77 61 73 20 73 70 65 64
20 75 70 20 62 79 20 37 25 20
74 6f 20 61 63 68 69 65 76 65
20 74 68 65 20 33 2e 33 33 33
20 73 65 63 6f 6e 64 20 68 61
6e 67 20 74 69 6d 65 2e

Hexadecimal is base 16, which means it has 16 different digits, and each place is 16 times bigger than the one to its right. Hexadecimal is frequently written using the digits 0–9 for their familiar values, then a–f for 10–15.

Treating these numbers as ASCII-encoded text, then decoding them yields:

The strider kill at shot no.195 was sped up by 7% to achieve the 3.333 second hang time.

#4: Standard Galactic Alphabet

This set of squiggles is the Standard Galactic Alphabet from the 1990 MS-DOS game Commander Keen.

It says:

THE SHOT NUMBER
FOR EACH OF
THESE HIDDEN
MESSAGES IS
PART OF A
SYMBOLIC SEQUENCE

The sequence

The shot numbers, including the initial challenge, are:

6, 21, 45, 78, 120, 171, 231, 300, 378, 465.

These numbers are every third triangular number.

The triangular numbers are those you get by adding one, then two, then three. That is,

  • 1 = 1
  • 1 + 2 = 3
  • 1 + 2 + 3 = 6
  • 1 + 2 + 3 + 4 = 10

This is equivalent to the arithmetic series with first term 1 and common difference also 1. The formula for the nth triangular number is n(n + 1)/2.

#5: Sudoku

As you can probably guess, by solving the sudoku puzzle and then substituting appropriate letters for each colour-number pair, you get the message.

As can be seen from the right-most picture, the message is:

TOTAL VIDEO EDITING TIME APPROXIMATELY THIRTY HOURS

#6: Binary

The 231st shot works similarly to the hexadecimal one, except this time in binary. It reads:

01010011 01101111 01101101
01100101 00100000 00110001
00101100 00110011 00110000
00110000 00100000 01101011
01101001 01101100 01101100
01110011 01101000 01101111
01110100 00100000 01100011
01101100 01101001 01110000
01110011 00100000 01110111
01100101 01110010 01100101
00100000 01110010 01100101
01100011 01101111 01110010
01100100 01100101 01100100

And then decoded as ASCII,

Some 1,300 killshot clips were recorded

#7: Morse Code

The trickiest part about this one is reading it from the compressed video. Persevering, it says:

-.– — ..- / .– .. .-.. .-.. /
-. . . -.. / – …. . /
-.. . – .- .. .-.. … / .. -. /
— . … … .- –. . /
-. — —.. / – — /
-.. . -.-. — -.. . /
-. — —-.

Which means:

YOU WILL NEED THE DETAILS IN MESSAGE NO8 TO DECODE NO9

#8: Base64

This message has been base64-encoded. Base64 encoding is a method of expressing binary data (in this case, the message’s ASCII encoding) with simple characters, by splitting it into 6-bit blocks and assigning each block a character – a–z, A–Z, 0–9, + or / – and sometimes adding equal signs at the end for padding.

This message reads

TW9kZWw6IE0zDQp
SZWZsZWN0b3I6IEIN
CldoZWVsIE9yZGVyO
iBJIElJIElJSQ0KUmluZ
yBTZXR0aW5nOiBDIE
YgSQ0KR3JvdW5kIFN
ldHRpbmc6IEwgTyBS

Which, when decoded, results in

Model: M3
Reflector: B
Wheel Order: I II III
Ring Setting: C F I
Ground Setting: L O R

These are settings for an Enigma machine. Note that C, F, I, L, O and R start with the third letter of the alphabet, then go three letters up each time. One might wonder why it doesn’t specify the “C” reflector, too.

#9: Enigma machine

The final code, deceptively short, is:

EKNCPC NNUSYQ
IMWYUQ DEAN …?

Using the settings from the eighth code (then copying the punctuation “…?”), this decodes into

HALFLIFETHREECONFIRMED…?

Yeah, if only…

Resources

Some things I used:

http://www.asciitohex.com/ provides many ASCII-related converters, including the hex, binary and base64 ones here.

rot13.com allows any shift to be used for a shift/Caeser cypher.

http://users.telenet.be/d.rijmenants/en/enigmasim.htm is a very nice Enigma machine simulator.

Thanks to this guy for getting all the images from the video. All text was still painstakingly copied down by me.