A Game Production Focus Curriculum

Author: Sam Stokes

Abstract

Using Games as a motivator for Computer Science has been proven by many papers in this conference, especially, “Defining the expectation gap: a comparison of industry needs and existing game development curriculum[i]”. We wanted to take it further, and see how putting the games they made in an app marketplace would bring out their inner entrepreneur as well.

  • Categories and Subject Descriptors D.2.9 [Software Engineering]:
  • Management – life cycle, productivity, programming teams.
  • D.2.10 [Software Engineering]: Design – methodologies.
  • General Terms Management, Design, Human Factors.
  • Keywords Project management, Rapid design cycles, video game design.

Overview

In the app store development world, it is either the quick developer that makes money, by churning apps, failing fast and often, in this manner the neophyte developer learns what the market is looking for. Failing often and failing fast is difficult to portray in the academic universe, after all as a professor it is my goal to ensure that the student is successful, but to learn they must fail. In the case of the apps built by the students in this class, failure for them is defined as the lack of a certain number of downloads.

The students quickly find out that some apps reach high download numbers quickly while others do not. For the students they see within a short cycle that one day an app with a high download pattern is an app that responds to felines/cats tapping the screen, the next is an app that uses public Kate Upton images to test the user’s memory. The reason we chose this approach was that I have encountered students who tell me about games that they have been working on for up to two years and still do not have the game in any mobile store, for those students there will be little to recoup their time and expenses. In the case of rapid turnover game design, the students quickly see that there is an app ecology and that they need to learn about things like marketing, burn-down rates, as well as reading reviews and driving downloads by being present on the social networking sites.

We were motivated to use the rapid design cycle after investigation, it seemed that the design timeframe students feel is reasonable is about equal to the amount of time that that the student spent in their final design and practice classes at their college. In a bold move, the chair of the department gave me a free hand to offer a class based on the student producing apps quickly and in large numbers. Our reasoning was that classes with the only goal was to create outstanding “AAA” games leads the students to a place that is not sustainable in the current marketplace. Quality is of course important, but quality in the context of this class is defined as:

  • Fitness for intended use: does the product do what it is supposed to do?
  • In the case of the students work, the apps do what they are supposed to do:
  • Act as simple inexpensive toys, puzzles or games.

In this manner the students finalize their work by placing it in a mobile store such as iOS, Android or Windows Store, in quantity. Their apps can be viewed and reviewed by their fellow students as well as other strangers. They can test their approaches in not only the US marketplace but other worldwide marketplaces, and many students have figured out how to build games that present translations appropriate for their audience.

This paper will present a syllabus, the project goals, and the approach to the final for the students and a conclusion about whether the market place is a valuable goal or a distraction for nascent game developers.

Class Goals:

  • Prepare the student for rapid game production by the creation of many simple games that are accepted into the mobile store
  • Motivate students to maintain their games after the class is over, this way the material presented in class will stick with the student
  • The student will understand the application development ecological system better, as they have implemented an app, entered the app into the store and then marketed their apps to get the downloads

Syllabus

The syllabus for this class had to be designed to be fairly loose with empathize on motivating the students to build apps using tools that were approachable. The measurement for the students included the game play, store certification, and download goals as well as user feedback. The goal was to mix HTML5/Javascript games with XAML/C++/DirectX based games, the reason was to make sure the student would be able to design games that could be placed in any of the major stores: iPhone, Android, Windows 8 Store, Windows 8 Phone Store, Xbox and Steam.

Syllabus for Class CS188 Game Design

Generally:

  • Quizzes will be given in every class at a randomly selected time during the class, there is no make up
  • Mid Term and Final are “take home” to be completed as directed
  • ���Class Work” is defined as Windows Store Submissions, each individual student is required to submit and certify Apps as specified in
Week 1
  • Introduction, General Goals, and Game Design Processes
  • Store submission
  • Using the final app for submission immediately
  • Building a Windows 8 or 8.1 store app using only C++ and DirectX (substitute iOS or Android here as needed)
  • Game Engines

Week 2

  • Displaying Sprites
  • User Interaction
  • Displaying 3D graphics
  • Windows RunTime Library (WRL)

Week 3

  • Adding Sound
  • File Handling
  • User Interface with XAML
  • Windows Store App Features

Week 4

  • Debugging and Testing
  • Packaging and Submission
  • Mid-Term Weekend App

Week 5

  • Cloud computing, your game design, using Azure in your game: Leaderboards
  • Socializing your Games
  • Playability surveys, use them, read them and act, or lose

Week 6

  • Server based games
  • Legacy Server Based Games and moving them into Windows 8.1

Week 7

  • Cloud based Apps
  • Cloud based games

Week 8

  • Usability

Week 9

  • Version control, project management, economics and SCRUM

Week 10

  • Parallel Programming
  • Review

Grading Rubric

Depending on the length of the class, this is the grade matrix I start out with and then negotiate with the students as the class progresses. Quizzes are given at the start of class and consist of 2 questions there is no make up. Mid-Term project must be submitted and certified. Final project must be submitted. Both Mid-Term and Final count toward certified app count (if your Final gets certified in time).

Grade

Apps Total (All apps are Windows 8 or 8.1 apps viewable in store)

Quizzes

Mid

Final

A

20 certified apps, with 10 having 100 or more downloads

80

90

90

A-

19 certified apps, with 9 having 100 or more downloads

80

90

90

B+

18 certified apps, with 10 having 100 or more downloads

80

80

80

B

17 certified apps, with 8 having 100 or more downloads

80

80

80

B-

16 certified apps, with 8 having 100 or more downloads

80

80

80

C+

15 certified apps, with 7 having 100 or more downloads

70

70

70

C

14 certified apps, with 7 having 100 or more downloads

70

70

70

D

Less than 1 4 submitted apps

50

60

60

F

No visible effort

     

How are the apps evaluated?

Certification in the App Store

Students download the functional app from the App Store and grade other student’s apps using the following rubric:

#

Criterion

Description

Score

1.

Features and/or Levels

Does the app engage the user with a complete and polished experience? E.g.

Interesting features to your app that enhance the user experience. Increasingly challenging levels within your game.

30%

2.

Usage of sound, music and effects

Does the app use sound, music and animation as appropriate to enhance the user experience.

10%

3.

Look and Feel of your App

What is the overall look and feel of your app? Is your app’s UI polished and visually appealing? Did you use background images? Did you add animations to create a sense of fluidity and continuity in the app? Is the UI responsive?

30%

4.

Marketing

How marketable is your app? Does your app description provide users with detailed information about the app? (This includes multiple screenshots in the app description.) Do your app snap shots showcase the true app experience? Is your app easily marketable?

30%

Grading FAQ:

What is a quality app?
  • A single quality app will have a demonstrated download “momentum” from the Mobile Store, either Windows Phone, Android or Windows 8..
Can I reuse the code I generated with minor modifications?
  • You can reuse a game engine if you:
  • Change the look and feel
    • A puzzle game is used for geometric shapes now becomes model search
    • The posts in the 3D are exchanged with a Venus statue
  • Upload it as a different app
    • The app would then be resubmitted as a game titled “Model Search”
  • Add or change levels
    • The initial puzzle game would have additional level where there might be actual images of fruits from a specific country
  • Change backgrounds, images and textures
    • The initial puzzle game would change with different images as explained earlier
    • A Marble maze would be changed if it became ghost maze with ghosts in it
  • You must build, submit, certify, use a social network to get downloads and repeat with modified engine
  • You must submit your unique ID and a link to your app in the mobile store website (this will make sense once you submit and certify an app)

Class outcomes

This class configuration has been presented three times, with variations in the number of certified apps, twice at California State University (CSULA), Los Angeles and once at University of California, Los Angeles (UCLA). On the ninth week the results from the class UCLA the number of apps that the students had created are shown in the following table, this is an important data point for the students, it shows them that their apps are actually being used by “customers”, and most of the students have expressed surprise that anyone would use their software! The download number is self-reported by the students, the download number of 100 is completely arbitrary, but selected because a large percentage of all apps in all stores have less than 10 downloads. This component shows the student that they are part of a software ecology. The students are numbered 1 through 40, but each cell is a unique student. This metric changes quickly.

Student

<100 downloads

100+ downloads

 

Student

<100 downloads

100+ downloads

1

 

21

 

21

1

7

2

3

9

 

22

2

8

3

7

6

 

23

12

4

4

11

0

 

24

2

2

5

17

1

 

25

6

7

6

11

0

 

26

6

0

7

14

6

 

27

9

11

8

13

3

 

28

9

0

9

13

1

 

29

9

0

10

16

4

 

30

15

5

11

4

2

 

31

4

6

12

4

3

 

32

8

3

13

6

2

 

33

7

10

14

 

3

 

34

4

5

15

16

4

 

35

10

1

16

3

11

 

36

8

13

17

6

3

 

37

4

4

18

8

6

 

38

18

6

19

13

3

 

39

20

2

20

1

0

 

40

1

0

Student entrepreneurial spirit

It is difficult to quantify what exactly motivates students to see beyond the routine of Computer Science and get excited about their careers. A direct personal observation of a small sample set of the students, I observed that the student’s number of app built that were certified and many were downloaded, there appears to be simple equation that reflects the excitement that students get out of seeing that other people are using their apps:

Estudent = Level of Entrepreneurial Motivation in Student

Acert = Apps certified

ADL= Apps that are downloaded more than 100 times

Napps = Number of Apps built

The results seem to fit in this equation:

Estudent = Acert + Acert * Napps

Future Study Goals:

  1. Over the next year students taking the class will be surveyed to better understand what the students know about the software application ecology before and after class
  2. Track students to determine the value of production oriented curriculum for the students
  3. Improve and add to the curriculum the subject of application of testing and quality control in apps.

Conclusion:

At the end of the class at UCLA, as well as other schools like CSULA, the students broke down into several distinct groups. One group desired a goal of less quantity and higher quality, another group felt that they had learned a great deal about software production, and a final group decided that they would become entrepreneurs and have requested guidance on how to do that.

Finally, is the “app store” a distraction? For a single class in a curriculum, from the data, no, the effort is both learning about how to perform work as well as thinking about theory as the students produce the products that they own at the end of class.  Should it be done in every game design class? I believe that if the students design a game in class, the endpoint should be an “app store” certification. Students gain valuable feedback and gain confidence that they are ready for the “real world” outside of college when they have to present their work to the world at large.

References:

1. McGill, M.M. Defining the expectation gap: A comparison of industry needs and existing game development curricula. ACM Foundations of Digital Games (Orlando, FL, 2009), 129–136.

2. Michael Zyda, Guest Editor's Introduction: Educating the Next Generation of Game Developers, Computer, v.39 n.6, p.30-34, June 2006 [doi>10.1109/MC.2006.197].

3. Phelps, A., Egert, C., and Bierre, K. Games first pedagogy: Using games and virtual worlds to enhance programming education. Journal of Game Development 1, 4 (May 2006), 45–64.

4. Wolz, U. and Pulimood, S.M. An integrated approach to project management through classic CS III and video game development. ACM SIG on Computer Science Education (Covington, KY, 2007), 322–326.


[i] Association of Computing Machinery/Institute of Electrical and Electronics Engineers. (June 2008). ACM/IEEE Curricula Recommendations. Retrieved on June 9, 2008 from http://www.acm.org/education/curricula-recommendations