There's three approaches I would recommend:
- The shotgun approach: pick at least 5 of the schools you consider to be not bullshit (I'd recommend off the top of my head The guildhall at SMU, UCLA, University of Washington, University of Austin, and Digipen as some good candidates) and apply to them all. The worst that can happen is they say no. You don't go onto a permanent black-list if you're turned down this year.
- Start your education at the best in-state (or neighboring-state, if your state has an in-state tuition exchange with them) CS program you can. And try to transfer to one of your preferred schools after you complete your first two years. Use this time to improve your GPA/test scores, and working habits if needed.
- Consider a 'normal' CS program with a good reputation, and make it a point to study game development on your own time. Worst-case scenario, the internet is a wellspring of information on game development, and a healthy community in its own right; even better, you'll likely be able to find at least a handful of others in the CS program who are interested in game development, and you can probably all actively learn from each other, or collaborate on projects.
I know option 2 and 3 may not be what you had in mind, and 'normal' schools may seem like a diversion from your desired path, but its really not like that. I graduated from Digipen, myself, and I was glad I went, and happy with the education I received. But there are always trade-offs--you get a lot of experience with game development, and you get good exposure to a breadth of topics, but not always the depth of a traditional CS program. In a traditional program, you get more of those details, but little or no practical experience with games. If you attend the first, you would be wise to study those details more to make yourself a more-rounded engineer, if you attend the latter you'll need to spend your own time studying game development--in either case you're spending your own time to further your own education, so its not all that different in the end. In my experience at Digipen (which started over 10 years ago, now) the two things that were fundamentally different was the number of game projects students worked together to create, and the focus solely on C and C++ (almost to a fault) whereas most university programs today nearly ignore C and C++ (also to a fault).
And even still, to this day, I've never worked professionally on a game -- I've worked around the fringes of the games industry the entire time since, but its never been a game that's paid my bills, and I'm rather enjoying the job stability, regular free time, and compensation here that 75% of those in the games industry simply don't have.
Edited by Ravyne, 07 October 2013 - 12:40 PM.