Graphics Studio students are exploring extensions such as VPython and Pygame to create 3D graphics, video games, and other multimedia applications.

I have learned this year that Python is a wonderful programming language to use in a course that emphasizes computer graphics. I know of no other commonly-used programming language that contains a built-in turtle graphics module, and while other languages allow you to write graphical user interface programs, Python's built-in tkinter package makes GUI programming quite simple and straightforward. Students used turtle graphics and tkinter throughout Blocks 1 and 2 in this course.  

More recently, we have ventured beyond the standard Python installation to explore third-party extensions to the language, which provide even greater functionality. We worked with VPython for much of Block Three, which is the Python programming language plus a 3D graphics module. And in Block Four, students learned how to write programs in Pygame, which is a set of Python modules designed specifically to make it easier to write video games and other multimedia applications. In particular, Pygame has built-in collision detection, which saves the programmer the trouble of writing tedious, low-level code to determine when two objects on the screen collide with each other. 

Several of my students chose to use Pygame to write small-scale simulations of actual video games. Here are screenshots of some of these programs.  Can you identify the real video game that these programs were intended to mimic?  (WARNING:  This may be a difficult task if you are over 18 years old…)


In Block Five, students will leave the world of Python programming and learn how to use HTML, CSS, and JavaScript to create interactive web pages. As always, our students are endlessly creative when it comes to this sort of thing, and I'm looking forward to seeing the web pages that they will produce.

-- Steve Gregg