Interesting concept. And I like the cute little code snippets shown throughout the game. Programmer humor, etc.
Though the character motivation for the GLaDOS-esque creator doesn't make sense -- if you programmed an A.I. to test levels, and fed it an "impossible" level, why would you get mad when it proves the level's beatable? It doesn't mean the AI's defying you, it just means you suck at making impossible levels, to the point where your own cheap level-testing A.I. could beat it with little effort.
It's like blaming the compiler for refusing to compile your code. The compiler's not wrong. YOU are. And it's telling you why.
Obviously, if you are capable of programming an A.I. that can beat levels that apparently you yourself couldn't beat (and by "you" I mean the character that speaks to the player throughout the game), this kind of attitude doesn't make any sense. A programmer with that much experience would instead take it face value to mean the level's not impossible, just as he would look at a failing unit test and take it to mean he accidentally broke something.
Now onto the parts that pissed me off. Or to put it nicer, the "complaints section".
Take a look at the binary in level 21.
01010110_00001011_10010101_10101110
10110000_01011001_10000111_01011011
01010101_101101
(split into bytes for convenience)
In case you didn't notice, the length doesn't divide by 8. It's exactly 9.75 bytes. An impossible number of bytes that no CPU with a word size >= 4 bits would recognize. It's malformed. It's probably random 0's and 1's. I tried zero-padding it on both sides, and both strings came out as garbage.
With left-padding: 15 82 E5 6B AC 16 61 D6 D5 6D
With right-padding: 56 0B 95 AE B0 59 87 5B 55 B4
The right-padded version looks almost like ASCII, as 56 is within the 41 .. 5A (A .. Z) range. But then you get 0B. 0B is a control character. An obscure one. It's called "Vertical Tabulation" or VT for short. Nobody uses this. Nobody inserts vertical tabs in text files. And if I insert that character in my text editor, it renders it as "^K" (K is the 11th letter of the alphabet. 11 == 0x0B). The only contexts the byte 0B would make sense in are data and machine code.
This is surprising, because from a game such as this, where you presumably spent at least more than a month making it, you'd think some research would be done when inserting binary as dialogue. You'd think a programmer would know his binary. You'd think someone could at least find an online ascii-to-bin converter and encode something cheeky like "Hello World" as a binary string. But no, you spammed random 1's and 0's. How patronizing.
This feels insulting to the intelligence of the people who would most appreciate the aesthetic of the game. It's disingenuous and lazy.
Also Level 24. It's a pain in the ass, and not in a good way. There's legitimate challenge, and then there's bad design. I'm sorry, but this level is badly designed. The only chance of getting through it are to time the jump perfectly and reach the white orb. Even if you do reach it, from what I saw, the game will arbitrarily kill you based on weak hit detection rules. Even though I'm not visibly touching the sprite, it still registers as a hit detection, because the hit boxes are bigger than the sprites. When I finally DID beat that level, the first half played out exactly the same as all the other failed attempts, except this time, the hit didn't register for some reason. Even though I was actually _touching_ the spike thing this time. So [not touching = hit] and [touching = no hit]. Good logic.
If you're going to do something like that (i.e. I wanna be the guy), you need to make the hit box _smaller_ than the sprite. Ever so slightly. That way, when you die, you know it's because you really touched that spike, and not because the algorithm is poorly done. That way, you can fine-tune the level to be as ball-crushingly difficult as you want, and it will still be fair. No, really. Load up IWBTG right now. Right now. Go to a spike. inch your way towards it. After enough attempts, you will eventually get your foot inside the spike and still be alive. Kayin knew he was making a difficult game, but he still wanted to make it fair. There's also Touhou. The hitbox is usually 1 pixel in size, at the center of the character sprite. The difficulty comes from there being so many projectiles on the screen that are often bigger than the character sprite, that it's hard _not_ to get hit. To become successful at those games, you have to get a feel for where that pixel is, and un-learn the habit of looking at the enemy while you're attacking them.
So yeah, I consider the hit detection in this game to be lackluster. And to think, you *designed a level* around it. Fine-tuned it. And the result is that buggy bitch of a level.
That's why this level is badly designed.
SO. Fake binary string and fake difficulty. Those are both worthy of a star. Two stars, precisely. Which is exactly what I'm subtracting from the score.