The original idea was to create a tower defense game where you would not be able to see the enemies, combined with a survival game. In this game you would control an avatar, giving him orders, moving turrets around and activating them. Instead of preventing the critters to cross the screen, you would have to escape from them and avoid getting “eaten”. It was supposed to be a labyrinthic space station, invaded by aliens. You could block the automatic doors, trying to stop them, and activate turrets that would shoot at them.
The problem was, I guess, that I got ambitious. I had a lot of ideas. But I was very concerned about the speed. With a big number of enemies, I was afraid the update loop would be slow. In order to adress that I created a thread scheduler, and implemented threads for the automatic maze generation, the pathfinding algorithm (A*), and the enemy logic. There was a radar that would give you a clue about where the enemies were, although you could not see them directly. I also implemented a whole UI stack, where you could define something like widgets that accepted mouse events. At some point, after some weeks of work in my spare time, I just got tired of it. The code had become so complex that adding a single feature was a big task. I found myself procastinating because I was feeling too lazy to sit infront of the code for yet another hour trying to get one single feature more working. At some point I realized I would never finish this, so I decided to abandon it. It was a good exercise in coding, there’s a lot I learned from it. But I never got to the point where starting implementing the game itself. Not even the graphics, I just used generic rectangles and circles. It’s a bit like those developers that spend months creating a game engine and never actually start their games.
If anyone is interested, I’m giving here a link to the source code (runs on Löve2D 0.6.2) and a Löve file.