At the college where I teach, we will be offering a two-year degree in game development beginning in the fall of 2008. Within that curriculum, there will be several tracks, including:

Game design
Game programming

Students in the game programming track will be required to successfully complete several very serious courses in software design and programming (plus a good deal of math). After learning about OOP using Java, they will mainly concentrate on C++, which seems to be the norm in the game programming side of the industry (except for cell phone games where Java seems to be king).

Students in the game design track will only be required to complete one programming course, and it will be a course in programming fundamentals with an orientation toward gaming. Although the programming environment that will be used for that course is still up in the air, my vote will be to teach this course using Alice.

Therefore, as far as the committee that designed this degree plan is concerned, there is a vast difference between the software design skills required by game programmers and game designers. (There are many game development companies in Austin where we are located, and a number of representatives from those companies are on the industry advisory committee for this curriculum.)

Basically, the game designers need to be able to specify what will happen in the game, but not necessarily how to implement that behavior. On the other hand, they need to know enough about programming to be able to converse in a reasonable way with programmers.

The game programmers, on the other hand, will be required to implement the required behavior of the game, hopefully using good software design principles in the process.

So, I'm unsure as to whether the original question that started this thread refers to game programmers or game designers. If it applies to game designers, Alice should be a reasonably good environment to use. If it applies to game programmers, Alice may be okay for starters, but the students should quickly outgrow Alice 2.0 and move on to either Java or C++.

Alice 3.0, (if it ever really becomes available), might be a good choice for game programming at the middle school level, but eventually (and unfortunately in my opinion) a successful game programmer must be proficient in OOP using C++ to earn a living. (They also must be prepared to work 12 to 15 hours per day as a contract programmer for many years, but that is a topic for another thread on another day.)