C++ vs. Haskell: ROUND TWO: But I want it to be fast!

(Note from the future: This post was about an older version of this game.)

In the last two days, I've entirely rewritten my game from Haskell into C++! As much as I love the expressive power of Haskell, it just isn't a suitable language for writing things that need to push the boundaries of computers' processing power. This is partially because of the way the languages are designed, and partially because a lot more work has gone into optimizing C++ compilers because it's a more popular language. On the plus side, by writing my game in Haskell first, I feel like I understand the structure of the program a lot better.

On my computer, this version runs smoothly at 100 frames per second, even when you have hundreds of bullets (laser bullets?) flying around in the infinite(!) world.

I've also added a few new features - there's now an infinite, randomly generated cave system, and the bullets last forever instead of disappearing when they leave the screen. I'd post a new screenshot, but it doesn't look much different than before... it's just that it's FIVE TIMES AS AWESOME when you play it.

As before, you can download the C++ source code.

– Eli

Approximate readability: 8.10 (903 characters, 201 words, 12 sentences, 4.49 characters per word, 16.75 words per sentence)