[game_edu] Reasons TO teach game dev

Robert R. Kessler kessler at cs.utah.edu
Wed Nov 23 09:07:43 EST 2011


Hi Fellow Educators,

Here at Utah in our Entertainment Arts and Engineering program, we try to address many of the issues that you all are talking about through different mechanisms. I thought that it might be worthwhile describing our techniques in the hopes that it could help offer another viewpoint.

First and foremost, our program is interdisciplinary. We have art and computer science students taking our EAE classes together. They do it every semester starting from their freshman year and every class has some project component where they are forced to work together. When we first started our program we were told in no uncertain terms from our industry colleagues - we want world class computer scientists, we want world class artists, but we need them to know how to communicate, work together, respect each other, and understand the processes required to get digital entertainment tasks accomplished.

Some of the highlights that are relevant to the discussion:

1) First semester is our CS1 (Intro to programming) class. This is taken by both artists and computer scientists. We currently teach flash programming. The students build small digital media projects and often create simple games for their final projects (things like breakout level of complexity). The CS students go on and take Java in their CS2 class.
2) We teach video game design. There is no programming in this class. It is about the history and design of video games. Projects in this class are both about breaking down and analysis of existing games, but also creating the designs of their own games. This is again a freshman class.
3) Second and third years include: machinima - creating movies using a 3d video game engine - which teaches team work, tools, some level design, scripting, etc; video game I (traditional games) and video game ii (non-traditional such as serious and other games). We have used in the past existing engines such as power game factory, torque, and second life. More recently we have settled on using unity. These tend to be lighter on the programming front, so is accessible to a wide audience (but again it is interdisciplinary team-based).
4) Our CS only students in their second year do C# and C++. We have used XNA as the project framework for the C# class and Source engine for the C++ class. For the source engine and its half a million lines of code, we don't have them create a game from scratch. We gave them a mod that we created, including the source code and they end up adding new game play elements, new features, etc. (teaches them about how to work on large code bases that they didn't write).
5) The senior year is capstone where they go from pitch to release on XBLIG in large interdisciplinary teams using C# and XNA.

We really try to pace things. The video game design class is accessible to everyone. The second and third year classes really require more maturity and skills than a freshman normally possesses. By the time that they get to their capstone, they have had basic physics, ai, operating systems, numerous math classes, different programming classes, software engineering, etc. so they are ready to apply all those skills to build high quality, successful games. (One of our games from this spring has sold over 16,000 copies on XBLIG so far).

So, I can't really contribute reasons "not to teach game development", but I can caution that teaching game development where the students don't have sufficient background makes the lives of the students and the faculty a nightmare.

Bob Kessler.
Professor, School of Computing
Executive Director, EAE Master Games Studio
University of Utah

Date: Wed, 23 Nov 2011 00:55:16 -0500
From: pawlicki at cs.rochester.edu
Subject: Re: [game_edu] Reasons TO teach game dev
To: "IGDA Game Education Listserv" <game_edu at igda.org>
Message-ID:
<9c568efa18c1d629aaa137130e07359d.squirrel at www.cs.rochester.edu>
Content-Type: text/plain;charset=iso-8859-1


Greg,

I do appreciate your insights. Both my courses are for first semester
students. So, my comparison is based on equally novice students.
What we wanted was a way to attract students to CS with a "learn
to make a video game course". I don't intend to be a total Negative
Nancy - the course is going ok, for the most part. My point is/was
that there is really no way to avoid the conceptual complexity of
development. Building a game is a hard task - harder in fact than
the simple programming tasks in a traditional course. There are just
a lot of concepts.

TFP


> I read what you had written below, Ted, and saw some things which threw up

> red flag for me. I hope my insights can help you.

>

> In regard to student frustration, I can place some of the issues on the

> fact you are using the Platformer kit. So on top of all the work you need

> to do to have your students learn and use XNA, you then place the burden

> of using a considerable code base. The platformer on a student's first

> go-around is a considerable amount of code and assets to wade through.

> Ultimately, what they produce is a product which is only a derivative of

> the Platformer kit.

>

> Another red flag is that you call XNA an "Engine". Than that's flat out

> wrong. It's a framework that is designed to be genre neutral. What I have

> found and honed in my own XNA course is to approach XNA is as a lego set

> for making games in C#. So I get down to basics. I explain the game loop.

> Render a texture and then Move it around. Walk them through creating a

> Sprite Class. Get User Input. Play with Sound. Do Collision Detection.

> This ends up being the second lab in this course. Granted, this does take

> me 2 weeks to get through this in my Freshman Course.

>

> What isn't evident in your description below if your course is a first or

> second term course. In my case XNA is a Second term course after taking a

> standard introduction C++ course and an Introduction to Game programming

> using Adobe Flash Platform with Actionscript. If your course is a first

> term course, then the approach you need to take will be more like our Game

> Programing Introduction course. You have to easing them in teaching

> programming fundamentals along the way. (Here's what's a variable, Here's

> how to generate random numbers, Here's an if statement).

>

> We maintain all our course files on a web server, if you (or anyone else

> for that matter) would like to explore our Freshman Classes and

> curriculum, please contact me off list directly so I can provide you with

> the information.

>

> Greg

>

> Gregory Walek

> Professor AGGP

> NHTI, Concord NH

> ________________________________________

> From: game_edu-bounces at igda.org [game_edu-bounces at igda.org] on behalf of

> pawlicki at cs.rochester.edu [pawlicki at cs.rochester.edu]

> Sent: Tuesday, November 22, 2011 8:40 AM

> To: IGDA Game Education Listserv

> Subject: Re: [game_edu] an undetermined number of reasons NOT to teach

> game dev

>

> One big reason not to teach "game development" is that "it's hard".

>

> I teach two Freshman classes, one is "Intro Programming" a 'hard' course

> for CS majors the other is "video game development" intended to be

> a 'fun and easy' course to get people interested in Computer Science.

> In the majors class I use Java in the game course I use C#/XNA.

> It turns out that there is a lot of complexity with using a sophisticated

> game engine. The VS/C#/XNA tools and support are great, but the power

> comes with a price. In the regular majors class, I have them do projects

> like "pong" or "tetris" or a simple dungeon crawler - which everyone

> should

> program at some time in their lives. The students in the video game

> class do more sophisticated projects (customizing a 2D platformer) but

> they seem more frustrated because they don't have as deep a

> fundamental understanding of how it works. So, video game

> development courses may scare students away from CS because of

> the difficulty.

>

> The second reason not to teach "game development" is that it's

> multidisciplinary.

>

> When I get Freshmen wanting a course in game

> development I now tell them that there is no such thing. In order

> to develop games you need strong skills in Computer Science, but

> also in media studies (which is in our English department), Studio

> Art & Art History, Music, and Business. (Wow - just like what we

> used to call "a well rounded liberal education" - surprise!).

> I help them put together a four year plan that emphasized their

> personal strength, but informs them in the other areas. (And of

> course, they need to build games as projects.) They wind up as well

> prepared for the video game industry as a formal education can get them,

> but they also are ready for other career choices. They get a real general

> education, not a "game specific" education. So, the second reason not

> to teach game development is that it's too narrow a topic for a good

> formal education.

>

> Yours,

>

> Ted

>

>

> Thaddeus F. Pawlicki, Ph.D.

> Undergraduate Program Director

> Computer Science Dept. (585) 275-4198

> University of Rochester FAX (585) 273-4556

> Rochester, NY 14627-0226 pawlicki at cs.rochester.edu

> http://www.cs.rochester.edu/u/pawlicki/

>

>

> ''One of the most difficult tasks men can perform, however much others may

> despise it, is the invention of good games and it cannot be done by men

> out

> of touch with their instinctive selves.'' - Carl Jung 1977

>

>

>

>

>

>> Ian, several on your list are already in the first draft! Not worded in

>> quite the same way, but really good to know others are on the same

>> wavelength as me!

>>

>> This is going to be for #altdevblogaday and I normally just write from

>> the

>> hip, but my confidence took a beating last post, when I got savaged in

>> the

>> comments section. So thanks for the sounding board of suggestions, as I

>> feel I'm on the right track. Yes, these lists are generalisations, but

>> like all stereotypes the underlying truth often needs airing to be truly

>> scrutinised.

>>

>> Mike

>> _______________________________________________

>> game_edu mailing list

>> game_edu at igda.org

>> http://seven.pairlist.net/mailman/listinfo/game_edu

>>

>

> _______________________________________________

> game_edu mailing list

> game_edu at igda.org

> http://seven.pairlist.net/mailman/listinfo/game_edu

> _______________________________________________

> game_edu mailing list

> game_edu at igda.org

> http://seven.pairlist.net/mailman/listinfo/game_edu

>



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://seven.pairlist.net/pipermail/game_edu/attachments/20111123/c8a2029a/attachment.html>


More information about the game_edu mailing list