Game Programming with Parberry
Article based on an interview with Prof. Ian Parberry of the University of North Texas
About a week ago, I was looking through the catalog of the University of North Texas, the school I will most likely be attending in fall 2002, and happened upon a listing for a course called Computer Game Programming, taught by Professor Ian Parberry. Looking for more information about the course on the UNT website, I found out that there was also another game programming course called Advanced Computer Game Programming. Not finding enough information to satisfy my thirst for knowledge, I took it upon myself to ask Professor Parberry some questions about the courses that I had. Below, I relay to you the results of that interview (very good) in the hopes that anyone considering a career in game programming will read this and at least give UNT some consideration.
The topics covered in both courses are very extensive, ranging from very simple stuff to very advanced stuff. The first course, Computer Game Programming (soon to be renamed to 2D Game Programming), is currently taught with DirectX 8 in conjunction with the Win32 API. Beginning in the fall of 2002, however, the course will be taught using DirectX 9. Professor Parberry has been kicking around the idea of teaching his courses with the MFC, but for now is going to stick with the Win32 API. He does say though that they both have their advantages and disadvantages.
The course is set up so that the student can develop his/her own 2D engine from the ground up learning proper game programming techniques, though this doesn't include proper programming in itself. Professor Parberry has no coding standards and says that any bad programming habits that you picked up earlier will return to bite you in the face in his courses.
The second course, Advanced Computer Game Programming, jumps off to a quick start by getting right into 3D programming techniques and methodology. Topics covered in Advanced Computer Game Programming include, but are not limited to, basic 3D concepts, importing 3D objects (using the Lightwave 7 file format), drawing 3D objects, input, special effects, collision detection, sound, particle systems, texturing, and networking. If you would like to view a full list of the topics covered, you can go to Professor Parberry's website.
Both courses culminate in a game programming project as the student's final exam in which students will form groups of two programmers and one artist from the Game Art course that is run by UNT's School of Visual Arts. Not only are the students expected to use the knowledge they gain in class, but also to seek knowledge from outside sources to enhance their final project. Professor Parberry encourages students to do this because some topics can only be touched on in class and it is advantageous to the student to do extra reading on said topics.
There is only one prerequisite for taking Computer Game Programming and that is the Data Structures (note: this course however does have two prerequisites, Structured Programming and Discrete Mathematical Structures) course that is taken in the spring of sophomore year according to the suggested degree plan in the UNT catalog. Personally, I'm going to try to weasel my way into taking Data Structures in fall of my sophomore year so I can take Computer Game Programming in the spring. Which brings me to my next topic.
Professor Parberry will allow a student with heightened proficiency to skip Computer Game Programming and go right to the advanced course, but… Professor Parberry recommends that students with heightened proficiency take the first course anyway because it gives the student the opportunity to get experience working in a team under a deadline.
On seeing or learning about the success of these two courses, one might ask, "Is Professor Parberry planning any other game programming courses?" Well the answer is yes! Professor Parberry is considering mod development and game programming for PDAs as serious candidates for future courses.
While there are employment opportunities within the Computer Science department at UNT, there are no additional opportunities for employment as a result of taking either of the courses. Professor Parberry is working towards changing that, saying, "The key problem is funding, and game companies do not have a tradition of funding higher education."
As for employment out in the business world, Professor Parberry says that taking these courses gives students a leg up in breaking into the industry. By the end of the first course, students have a 2D demo to show and while this is not grounds for hire by itself, it shows prospective employers that the student can work in a group with artists, so if he/she can work with artists, maybe he/she can work with managers too. By the end the advanced course, students have a 3D demo to show for their hard work and are ready for an entry level position in a game development company.
Well, that's an overview of the UNT game programming courses that I'm sure will take up all my time once I get in them. If you want to know anything else, you can e-mail Professor Parberry. Thanks for reading, and maybe I'll see you at UNT in a few years.