Hey. Lay off the COBOL, especially if you haven't actually done it (I don't know if you have).
I've done web dev for the last four years, since graduating. I now learn mainframe development, with COBOL and JCL (and also REXX recently). It's fun. There's a lot more actual, honest-to-god, programming to do in a mainframe job than there is in web development. At least you don't spend your every waking life trying to shake the angle brackets out of your eyes (XML, right?).
Most of my web dev work was in back-endy stuff btw, primarily C# and a little bit of RoR and Java. Which means 60% configuration, 40% actual coding and even then, the actual coding is implementing some framework interface. That sucks the life right out of "programming" (because it really isn't).
That project could have been a blast, but it was put off until the last minute and then rushed and then the signs were hung at the transit station before we had a chance to interact with them and toggle some switches inside so we had to do that on a ladder in the cold oh and by the way my test sign was not exactly like the sign that was actually installed. So as usual, another project ruined by rushed managers who didn't involve me sooner and just started buying stuff and doing things.
You mentioned you wrote a game. Game programming might be something you like and not every place is a sweatshop, although you have to be discerning.
Embedded/low-level programming is cool too. I used to write router firmware, and I also worked on a sql engine for a time. Neither job had anything to do with "like" buttons or CRUD.
So maybe the issue boils down to equating "programming" with "web app".