Greetings from the Disney Wonder at sea somewhere in the Bahamas Bank. One of the key take aways from today was the idea of students wanting to see serious (i.e. professional) quality graphics in their projects. This was a major point that Matthew MacLaurin from the Kodu team talked about during his morning keynote talk. I heard the same thought expressed by some university faculty after Matt’s talk.
A lot of us learned to program in the DOS days. Being able to create ASCII text graphics was exciting for us because that was the state of the art. We can’t expect today’s students to be happy with that. They are used to very high level graphics. Often when we talk about helping them to create games they get disappointed with what results they get. This leads to boredom and frustration and students leaving the program.
What is the answer? Well Kodu is one possible answer for young students. XNA is a possible answer for very advanced students. So are other game engines like TorqueX and some other game development tools like GameMaker. And of course tools like Alice and Scratch. I’ve long believed that Windows Forms programming using languages like Visual Basic and C# is also a great tool. These tools allow students to create programs that look like and really are “real” Windows Programs.
At least there are some options. There is some resistance to using them in some quarters. In some places there is an idea that students get too distracted by the graphics and creating user interface and miss out on the “really important concepts.” A reasonable fear I guess but I see that as a manageable situation. One can present students with pre-built UI modules or highly specific designs for the UI. One can also make it clear that the code behind is what the grade is based on and hold to it.
These days we need to get kids interested and get them through the first or second computer science course. We don’t need or want “gate keeper” courses that “weed out the weak.” We need to encourage students and build them up to be ready for more. Good graphics can, in my opinion, help quite a bit. What do you think?
Isn't graphics where the money is? Gaming industry revenues are massive. If I could generate successful game programmers out of my high school I would be a very happy camper. It seems to me that the "really important concept" is to create good graphics and attractive user interfaces. That is what sells a product and what make people want to use a product. Of course a good game programmer also knows the meaning of quality code.
Good graphics, in my opinion, are what get students interested, but they come back for the programming in future years. I teach 3 different levels of programming at my High School. The quality of graphics is much more important the first year than it is the third year. By the third year they understand the real quality of the game is not how it looks, but how it plays.
If there is a simple way to integrate good graphics into beginning programs, then the students will stick around to learn the advanced concepts that will make those graphics do something great.