CSCI 272 Game Development

Spring 2020

Updates 3/26/2020

 

 

Meeting Time/Place:                MWF 2-2:50pm Fitz 246

Prerequisites:                            CSCI 116, Fundamentals of Programming I

Instructor:                       Don Allison

Office:                            Fitzelle 231

Phone:                           (607) 436-3439

Email:                            allisodl(at)oneonta.edu

Office Hours:                   MF 4pm, MWF 5pm

                                    Others by appointment (or just drop by)

 

Course Description (from the online catalog): 

An overview of the game development process.  This course examines the role of each member of a game development team and his or her contributions to the final product.  It covers the process from the initial idea to patching and updating the final product and looks at such topics as licensing issues, intellectual property issues, and whether to buy or build.  Offered every two years.

 

Course Description (the inside scoop):

This course will look at the various aspects of game development: the people, the tasks, and the computer science.  Students will do several game related projects in addition to the lectures and exams.

 

Course Goals: 

The goal of this course is simple: to give students a better understanding and appreciation of the processes involved in producing a game from start to finish.  Students will become familiar with the different game genres, the roots of computer gaming, and all the parts of the process involved in developing a large AAA game title.

 

Text: 

The required text for the course is Steve Rabin’s book, Introduction to Game Development, 2nd edition, published by Course Technology in 2010, ISBN-13 978-1584506799.  This book provides an overview of all areas of game development and covers the curriculum suggested by the IGDA for a game development course.  You should read it as indicated in the schedule below as we cover the various topics. 

 

Software: 

For software, there are several packages that we might be using depending on how the semester goes, including Blender, Milkshape, and Maya for modeling, C4, Panda3D, Torque, CryEngine 3, Unity, Game Maker, Ogre3D, and Unreal Engine 4 for game engines, Audacity and Sound Forge for sound editing and creation, GIMP and Photoshop for image editing and creation, and so on.  We will try to have packages we can get licenses for available in the lab for you to use. 

 

Tentative Schedule:

 

 

 

 

Monday

Tuesday

Wednesday

Thursday

Friday

Jan 13-17

National Rubber Duckie Day

Last day to register

Dress Up Your Pet Day

 Classes begin

Add/drop begins

National Hat Day

National Nothing Day

Ditch New Year’s Resolutions Day

Ch 1.1

Jan 20-24

Penguin Awareness Day

Add/drop ends

Squirrel Appreciation Day

National Blonde Brownie Day

National Pie Day

Beer Can Appreciation Day

Jan 27-31

Bubble Wrap Appreciation Day

Project 1 Due

Last day to add

National Kazoo Day

Data Privacy Day

National Puzzle Day

Game Reviews

National Inane Answering Message Day

Backward Day

Game Reviews

Feb 3-7

The Day the Music Died

Game Reviews

Create a Vacuum Day

National Weatherman’s Day

Lame Duck Day

Wave All Your Fingers at Your Neighbor Day

Ch 1.2

Feb 10-14

Clean Out Your Computer Day

National Inventor Day

Make a Friend Day

TAP certification begins

National Lost Penny Day

Get a Different Name Day

Valentine’s Day

National Organ Donor Day

Ch 3.1, 7.1

Feb 17-21

Random Acts of Kindness Day

Project 2 Due

National Battery Day

National Chocolate Mint Day

Game Proposals

Love Your Pet Day

Hoodie Hoo Day

Cherry Pie Day

Card Reading Day

Game Proposals

Ch 7.2, 7.3, 7.4

 Feb 24-28

Diploma application due

National Tortilla Chip Day

Game Proposals

Mardi Gras

Ash Wednesday

No Brainer Day

Public Sleeping Day

Ch 2.1, 2.2

Mar 2-6

Summer registration begins

Old Stuff Day

EXAM #1

If Pets Had Thumbs Day

Hug a GI Day

Interim progress reports due from faculty

Multiple Personality Day

College closes after last class

National Frozen Food Day

World Day of Prayer

Ch 6.1-6.7

Mar 9-13

BREAK

Panic Day

Daylight Saving Time Started Yesterday…Did you set Your Clock Forward?

BREAK

Middle Name Pride Day

Purim

BREAK

Johnny Appleseed Day

Worship of Tools Day

BREAK

Popcorn Lovers Day

BREAK

Blame Someone Else Day

Mar 16-20

Classes resume

Everything You Do Is Right Day

Project 3 Due

Corned Beef & Cabbage Day

St Patrick’s Day

Supreme Sacrifice Day

Poultry Day

Last day to drop

ET Abductions Day

Spring Equinox

Ch 3.2-3.6

Mar 23-27

National Puppy Day

National Melba Toast Day

National Chocolate Covered Raisin Day

Feast of Annunciation Day

Waffle Day

Make Up Your Own Holiday Day

National “Joe” Day

Ch 4.1, 4.3

Mar 30-Apr  3

Fall registration begins

Take a Walk in the Park Day

Bunsen Burner Day

National Crayon Day

April Fool’s Day

International Fun at Work Day

EXAM #2

National PeanutButter & Jelly Day

Don’t Go to Work Unless It’s Fun Day

Ch 5.1, 5.2

Apr 6-10

Last day to make up an incomplete

New Beer’s Eve

No Housework Day

World Health Day

Passover begins at Sundown

Zoo Lover’s Day

Name Yourself Day

Good Friday

National Siblings Day

Ch 5.3, 5.5, 5.6

Apr 13-17

Dyngus DayNational Peach Cobbler Day

International Moment of Laughter Day

Income Taxes Due

That Sucks Day

Last day to withdraw

Passover ends

National Bean Counter Day

Bat Appreciation Day

National Cheeseball Day

Ch 7.5, 7.6

Apr 20-24

Last day for faculty to turn in incomplete updates

Volunteer Recognition Day

Kindergarten Day

Administrative Professionals’ Day

Ramadan

National Zucchini Bread Day

Take Your Daughter to Work Day

Arbor Day

Apr 27-May 1

National Prime Rib Day

Morse Code Day

Project 4 Due

 

Last day of class

International Astronomy Day

STUDY DAY

National Shrimp Scampi Day

National Zipper Day

Exams start

(8:30 TR)

8-10:30am

(11:30TR)

11am-1:30pm

(2:30TR)

2-4:30pm

National Honesty Day

(8 MWF)

8-10:30am

(11 MWF)

11am-1:30pm

(2MWF)

2-4:30pm

CSCI 272

International Tuba Day

May 4-8

(9 MWF)

8-10:30am

(12 MWF)

11am – 1:30pm

CSCI 100

 

(3 MWF)

2-4:30pm

CSCI 232

National Candied Orange Peel Day

(10 TR)

8-10:30am

(1 TR) 11am-1:30pm

(4 TR)

2-4:30pm

Cinco de Mayo

National Teacher’s Day

(10 MWF)

8-10:30am

(1 MWF)

11am-1:30pm

CSCI 310

(4MW)

2-4:30pm

Exams End

No Diet Day

Beverage Day

National Tourism Day

No Socks Day

V-E Day

World Red Cross Day

https://suny.oneonta.edu/academics/college-calendar/spring-key-dates-deadlines

http://www.holidayinsights.com/moreholidays/

 

 

 

General Policy Information:

All college policies will be adhered to, including policies on attendance, academic honesty, etc.  Students are expected to be familiar with and adhere to these policies as outlined in the student handbook, this syllabus, and other administration publications.

 

Attendance Policy: 

Attendance is STRONGLY encouraged.  Although it will not enter into your grade computation directly, I will be taking attendance occasionally, especially at the beginning of the semester to start putting names with faces.  However, students who attend class regularly do much better in their classes than their peers who attend sporadically.  You will be responsible for material covered in class as well as the material in the text.  In addition, we will be discussing the exams and programming projects in class, writing sample code for them, and so on, as well as answering questions about the assigned material, so it is in your best interest to attend class as much as possible.  Finally, the college has a requirement that students attend one of the first two lectures and the first lab for any course or they can be administratively dropped from the course and their space given to someone else.  Additionally, anyone missing 25% or more of the class meetings to that point at any time up through midterm can be involuntarily dropped from the course.  Depending on the number of people on the waiting list for this course, these policies will be enforced more or less stringently.

 

Collaboration Policy: 

Cheating or other academic dishonesty hurts others as well as yourself and will not be tolerated!  However, game development is ordinarily a collaborative process, and so this course will be somewhat different from the typical CS course.  All work submitted on the exams should be yours and yours alone.  For solo projects, the work you turn in should be your own, although you can discuss ideas and concepts with other members of the class.  For collaborative projects, (of course) you will be working in groups.  If you divide the project up into parts, you are to tell me who did each part, so that you give credit to each person for the ideas and work they contributed.

 

Programming Style Guidelines: 

Programming style is an important part of coding, and programs you write for this class will be expected to follow the style guidelines discussed in class and illustrated by the programs we write in class.  You should indent your code to reflect its internal structure.  You should use block comments to explain what your code is doing at a high level.  Each function should have a header that gives the function name, the inputs, the output(s), and lists any side effects, as well as providing a two or three sentence summary of what the function does.  In addition, your main program file should have a block header similar to the following:

 

// CSCI 272 Game Development, Spring 2020

// Project #4: Game Project

// Author: Don Allison

// Date Due: 1 May 2020

//

// This is the implementation of the project designed

// in the third project.

 

Your header should include the course name and number, the assignment number, your name, the program due date, and a two or three sentence description of the purpose and function of the program.

 

Program Turn-in Procedure:

To turn in any project, you should zip up all pieces of it, and email me the zip file with a subject line like “CSCI 272 Project #2”.  These include any code files, Word files, models, background art, timelines, etc, etc, etc.  These should be turned in by the beginning of class on the day they are due.  Make sure you turn in all the required parts!!!

 

Grading and Other Administrivia:

Exams:

There will be two exams.  Each exam will contribute 20% of your grade.

 

Programming Projects:

The projects are an integral part of the course.  There will be several of these throughout the semester, letting you practice with the various aspects of game development.  Projects will count 50% of your grade.

 

Homework, etc: 

The remaining 10% of your grade will be determined by your grades on homework assignments, class participation, quizzes, etc.

 

Grade Computation:

 

Item

Weight

Tentative Date

Exam 1

20%

2 March

Exam 2

20%

1 April

Projects

50%

See schedule for due dates

Homework, participation, etc

10%

Throughout semester

Total

100%

 

 

Make-up Test and Late Assignment Policy: 

Assignments are considered due by class time on their due date, and any turned in after that time will be considered late. If an assignment is late, it may be turned in within the next week, with a 50% penalty.  Any assignment more than a week late will not be accepted.  All assignments must be turned in by the last day of classes for them to count toward the course grade.  You should plan to be present for all exams.  Any makeups will be allowed only for legitimate, school-approved excuses, and should be arranged with the instructor as soon as possible after you discover you can’t attend the exam (before the exam is given whenever possible).  In any case, all work must be completed by the last class, including any makeup exams.  Exams missed for unexcused absences, or exams not made up by the last day of classes will be recorded as a zero grade.

 

Additional Resources: 

There are many interesting and useful resources available for those interested in game development.  Some of the ones you might be interested in that are in our library are:

 

QA76.76.C672 T4963 2011       Game Engine Design and Implementation, by Alan Thorn

QA76.73.C154 S38 2011eb       C# Game Programming For Serious Game Creation, Daniel Schuller

QA76.76.C672 H342 2010         The Game Maker’s Companion, Jacob Habgood

QA76.76.C672 L247 2009eb      Fundamentals of Network Game Development, Guy Lecky-Thompson

QA76.76.C672 G65 2009eb       Unity Game Development Essentials, Will Goldstone

QA76.76.C672 H3519 2008eb   Advanced 2D Game Development, Jonathan Harbour

QA76.76.C672 S77 2008eb       Creating Game Art for 3D Engines, Brad Strong

QA76.76.C672 S5355 2008eb    Game Graphics Programming, Allen Sherrod

QA76.76.C672 M367 2007eb     Beginning Game Development with Python and Pygame from Novice to Professional

QA76.76.C672 B43 2006eb       Developing Serious Games, Bryan Bergeron

QA76.76.C672 H368 2006eb     The Game Maker’s Apprentice, Jacob Habgood

QA76.76.C672 B97 2005eb       Game Level Design, Edward Byrne

QA76.76.C672 Z47 2004eb       3D Game Engine Programming, Stefan  Zerbst

QA76.76.C672 F56 2004eb       3D Game Programming All in One, Kenneth Finney

QA76.76.C672 R55 2004eb       Game Programming with Python, Sean Riley

QA76.76.C672 M33 2003eb       Beginning Game Audio Programming, Mason McCuskey

QA76.9.D35 P46 2003eb           Data Structures for Game Programmers, Ron Penton

QA76.76.C672 M53 2003eb       The Indie Game Development Survival Guide, David Michael

QA76.76.C672 B45 2008           The Best of Bame Programming Gems, Mark DeLoura

 

These are just a few of the many good books out there, and aren’t even the complete collection the library has.  Explore our library—it’s an incredible resource.  And if you would like other specific recommendations, don’t hesitate to ask.

 

Additional Unique Aspects of the Course: 

This course is very hands on, and illustrates the application of many areas of computer science.  Students learn about game development by doing it, and the course grading system reflects this emphasis.

 

Emergency Evacuation:

The Evacuation Assembly Area for this course is in the quad, 50 feet from the building.  In case a prolonged building evacuation is required, you will be directed to the building Evacuation Site.  The Evacuation Site for this class is the the IRC lobby.  In any case, if a building evacuation occurs, stay together as a class so that we can determine that everyone has made it safely from the building.  Evacuation is to occur any time the fire alarm sounds, an evacuation announcement is made, or a university official orders you to evacuate the building.  After the building has been evacuated, it is not to be re-entered until University Police gives permission.  For more information, see http://www.oneonta.edu/security/documents/EmergencyEvacuationProcedures.pdf.

 

Required ADA Statement:

Students Diagnosed with a Disability—All individuals who are diagnosed with a disability are protected under the Americans with Disabilities Act, and Section 504 of the Rehabilitation Act of 1973. As such, you may be entitled to certain accommodations within this class. If you are diagnosed with a disability, please make an appointment to meet with Accessibility Resources, 133 Milne Library, ext. 2137. All students with the necessary supporting documentation will be provided appropriate accommodations as determined by the Accessibility Resources Office. It is your responsibility to contact Accessibility Resources and concurrently supply me with your accommodation plan, which will inform me exactly what accommodations you are entitled to. You will only receive accommodations once you provide me with an Accessibility Resources accommodation plan. Any previously recorded grades will not be changed.

(Note: I have had cases where SDS told me they were no longer going to provide services that a student was entitled to, so be proactive and get all the paperwork done ASAP so that we can fight for your accommodations if we need to.)