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

However, 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 “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.

It 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

*Potentially coming:* *pictures of every single one of these shots** the full, clean QR code*

## #2: Caeser 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 Caeser 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 know anything about programming, this might look 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

If you don’t know, 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 expressed using 0–9 the same, then a–f for 10–15, respectively.

Treating these numbers as ASCII codes, then converting them into their corresponding ASCII counterparts 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

I’ve never played Commander Keen, but if you know anything about Minecraft, you’d probably know that the enchantment text in the latter game is written with this alphabet from the former.

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 if you take one dot, then put two beneath it, then three, etc. somewhat forming a triangle, then count how many there are (i.e. the arithmetic series with first term 1 and common difference also 1). If you’re curious, the formula for the *n*th triangular number is *n*(*n* + 1)/2.

This leads to a simple Python script to generate the shot numbers:

for i in range(3,31,3): print(i*(i+1)/2)

## #5: Sudoku

Luckily, I don’t mind a good bit of sudoku. As you can probably guess, by solving it and then substituting the appropriate letter 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 is the same deal as 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 converted into ASCII,

Some 1,300 killshot clips were recorded

## #7: Morse Code

The trickiest part about this one is not identifying the code used, but reading it from the screen. 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 values) with simple characters, by splitting it into 6-bit blocks and assigning each a character, either a–z, A–Z, 0–9, + or /, and sometimes 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. You have to 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 (and ignoring 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.
*

No comments found.