CSCI 272 Game Development
Spring 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 |
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 |
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 |
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 |
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.)