Oh No! Zombies! is still deeeeeeeefinitly a game about the zombies and nothing else. You should try it to get what I mean.
I think all the stars aligned for us, making this LD very fun and rewarding. He're a small timeline of what we did and how we approach some of the game design problems we were facing.

We started with making sure we could have a person you controlled, that would feel good to move around and shoot. The inspiration for the shooting-only-in-4-directions-with-arrow-keys came from Binding of Isaac, which meant one could play the game on a laptop (without a mouse). We had some idea as to how to do zombies so we postponed it and implemented a system that would allow us to program different kinds of bullet patterns for each gun instead. While doing so we basically came up with the 8 kinds of guns in the game. Once we had the shooting and movement it was clear we needed to get enemies in so we could really play test.
Everything is a rectangle, so collision detection was easy.

@schmavery had the most brilliant idea to get the zombie's "AI" up and going:
- generate a random error vector
- accumulate the error into the velocity of the zombie
- move the zombie some amount towards the player + the error
This was very easy to code and lead to great emergent behaviors. We allowed the error vector to become as big as the directional one (towards the player), which meant sometimes the normal zombies would not runs towards you, they'd wander around and then... suddenly and randomly, THEY'D ATTACK YOU. It worked great.

We decided to have 3 kinds of zombies, the normal dude, the fast dude and the big dude. The fast zombie's purpose was to be a more immediate danger, because you'd barely be able to run away. The big zombie's purpose was to be a bigger challenge, he does more damage and has a lot more health, but in contrast he's not such an immediate danger. If you leave the big zombies around for too long you won't have enough time to get rid of them before the next wave.
Going back to our homing behavior, it definitely needed tweaking for the fast and fat zombies. We realize that we could tweak the max magnitude of the error vector to get very different behaviors.
Next post we'll delve into the tooling details in some future post. In the meantime, head over to Oh No! Zombies! we'd love to hear your opinion!