An introduction to contemporary tools and algorithms for building interactive games. Students will learn fundamental design mechanics and implement a substantial development project. Topics may include steering and flocking behavior, path finding algorithms, finite state machines, behavior trees, alpha-beta pruning, Monte Carlo Tree Search, shaders, 3D modeling, animation, procedural content generation, and the intersection of games and society. Prerequisite: CSCI 151
Upon completing this course, our goals are for you to be able to:
- understand games through the lenses of technology, mechanics, aesthetics, and narrative,
- leverage a modern game engine to create interactive games,
- create and script objects in 2D and 3D environments,
- implement algorithms for game artificial intelligence,
- develop skills for playtesting and debugging games,
- collaborate on code with a team using version control software, and
- examine the role and context of games in society.
Here is a link to the repository for our in-class demonstrations.
Coursework
Assignments have due dates to help you make progress in the course and solidify your knowledge before moving on to something new. Your life and schedule may not perfectly coincide with the due dates I have chosen. Therefore, each student starts the course with four late days to spend throughout the semester as they wish. Simply inform me any time prior to the due date for an assignment that you wish to use a late day and the reason you need an extension; you may then turn in the assignment up to 24 hours late. Multiple late days may be used on the same assignment. There are no partial late days; turning in an assignment 2 hours late or 20 hours late will both use 1 late day. After you have used up your four late days, you must schedule a meeting with me to earn more late days, otherwise late assignments will receive at most half credit.
Note: Late days are intended to cover both normal circumstances (you simply want more time to work on the assignment) and exceptional circumstances (you get sick, travel for a game or family obligation, etc.).
Important: You must be in communication with me anytime an assignment is late.
If you would like to improve an assignment after it has been graded and improve your grade, you may revise and resubmit the assignment until you do. There is no deadline for resubmitted assignments.
However, the above only applies if you made a reasonable attempt at the assignment the first time. You cannot turn in a half-finished assignment before the deadline and then “revise” it by completing the rest. If your assignment is only half-finished, you must request to use late days as described above.
Important: All work and revisions must be completed the day of the final exam period for this course at 5pm.
Much of your experience with game development in this course will be through labs for making games every other week. Each lab will be assigned with time allotted to work through the materials.
On these labs, you will work with partner(s) on the lab assignments. Their name must be listed on any code you hand in as joint work. A partnership should only turn in a single copy of the assignment. If students working as partners wish to turn in a lab late, all students must use a late day.
Streaming
Throughout the semester, you will be learning how to stream yourself playing video games, using Twitch. To help you understand different game genres, mechanics, aesthetics, narratives, and player motivations, for each topic you will broadcast yourself playing one of the games for that topic, plus one more game from this list of your choice.
Note: I strongly recommend using
Twitch Studio for your broadcasting, it is simple and easy to use.
A Complete stream will
- Provide running commentary on your impressions of the game
- Discuss the game in relation to the layered tetrad game framework
- Be at least 20 minutes in length
A Partially Complete stream is missing no more than one of these elements, otherwise the stream is Incomplete.
Important: Be sure to archive your stream and share a link with me of your stream.
Day |
Tool |
Presenters |
Tue Mar 28 |
Gimp |
Garrett Grisso, Tucker Brock |
|
Audacity |
Mark Johnson, Noah Morris |
|
LMMS |
Caden McCarty, Taryn England |
Thu Mar 30 |
Blender |
Dalton Casey, Miguel Velazquez |
|
picoCAD |
Kaden Franklin, Gabby Naples |
|
Piskel |
Daniel Burnett, Ethan Thomas |
|
Crocotile3D |
Rhett Booher, Amelia Jones |
|
Unity 2D Animation |
Zoie Keys, Justin Grubbs |
You and a partner will be presenting to the rest of the class on a tool that can be used with Unity to enhance your games. This will not be a presentation with slides, but a live demonstration of the tool. You should choose something interesting to demonstrate for your tool, yet small enough that it can be accomplished in your time limit. After 8 minutes, your presentation will be over.
You will be using your own laptops to present, so you can practice as much as you want. Practice is essential for a good presentation. Your laptop must be able to project for our classroom, please test this before class.
A Complete Tool-torial presentation will
- Discuss at least three use cases for the tool (how can you use it to help make games)
- Demonstrate with an interesting subject how to use the tool to carry out one of these use cases
- Show a reference to where the tool can be obtained or used online
- Be between 6 and 8 minutes long
A Partially Complete presentation is missing no more than one of these elements, otherwise the presentation is Incomplete.
You will have one large final project in this course, starting in the second half
of the semester, developing a larger-scale game in coordination with a subject-matter expert (SME) relevant to Arkansas History. The ultimate goal is for the games you develop to be used by future 7-8 grade students in Arkansas as part of their Arkansas History courses. This project will build on concepts we have discussed in class and in labs. More details of the project can be found here.
Four times throughout the semester, you are expected to make an office hours appointment. A Complete checkin will also include conversation and feedback about your current progress and understanding.
You are expected to participate in classroom exercises and discussions to reflect on the course material.
Also, please complete the CSCI Survey so I can better understand your situation and motivations for taking this course.
A Level Work
- Complete 5 Labs
- Complete Final Project
- Complete 6 Twitch Streams
- Complete Tool-torial
- Complete 4 Checkins
- Complete Participation
B Level Work
- Complete 4 Labs with 1 Partially Complete
- Complete Final Project
- Complete 5 Twitch Streams
- Complete Tool-torial
- Complete 3 Checkins
- Complete Participation
C Level Work
- Complete 3 Labs with 2 Partially Complete
- Partially Complete Final Project
- Complete 4 Twitch Streams with 1 Partially Complete
- Partially Complete Tool-torial
- Complete 2 Checkins
- Partially Complete Participation
D Level Work
- Complete 3 Labs with 2 Partially Complete
- Partially Complete Final Project
- Complete 3 Twitch Streams with 2 Partially Complete
- Complete 1 Checkin
Commitments
It is my ultimate goal for this course, and my teaching, to
develop your academic skills, advance your learning
of computer science concepts, and support the liberal arts in general. To do so
will require commitments from myself and from you toward meeting this goal.
Active Participation
I will be prepared and on time for class each day, ready to use class time
to help you understand the course material. I will respectfully listen to,
understand, and answer questions asked in class.
You are expected to attend class and actively participate in discussions every day,
answering questions, asking questions, presenting material, etc. Your
participation will be respectful of your classmates, both of their
opinions and of their current point in their educational journey, as we
each approach the material with different backgrounds and contexts.
Constructive Feedback
I will keep office hours and be available for outside appointments, and respond
to emails within one business day (not including weekends).
I will provide feedback on group presentations within one day. For exams, projects,
and homeworks, I will provide graded feedback within two weeks.
You are encouraged to provide constructive comments for improving this
course for furthering your learning throughout the semester.
There will be an opportunity for
anonymous course feedback
at the end of the term, in which I hope you all participate. Through your
feedback I can improve this course and others for future students.
Academic Integrity
I will abide by the above syllabus and grade your work fairly.
As stated in the Hendrix Academic
Integrity Policy, all students have agreed to adhere to the following principles:
- All students have an equal right to their opinions and to receive constructive criticism.
- Students should positively engage the course material and encourage their classmates to do the same.
- No students should gain an unfair advantage or violate their peers' commitment to honest work and genuine effort. It follows that any work that a student submits for class will be that student's own work. The amount of cooperation undertaken with other students, the consistency and accuracy of work, and the test-taking procedure should adhere to those guidelines that the instructor provides.
- Members of the Hendrix community value and uphold academic integrity because we recognize that scholarly pursuits are aimed at increasing the shared body of knowledge and that the full disclosure of sources is the most effective way to ensure accountability to both ourselves and our colleagues.
More details of our departmental stance on integrity can be found in the
Hendrix
Computer Science Academic Integrity Policy
Learning Accomodation
I will make this classroom an open and inclusive environment,
accommodating many different learning styles and perspectives.
Any student
seeking accommodation in relation to a recognized disability should inform me
at the beginning of the course.
It is the policy of Hendrix College to accommodate students with disabilities, pursuant
to federal and state law. Students should contact Julie Brown in the
Office of Academic
Success (505.2954; brownj@hendrix.edu) to begin the accommodation process.
Physical and Mental Health
I am willing to work with you individually when life goes off the rails.
Coursework and college in general can become stressful and overwhelming, and
your wellness can be impacted when you least expect it. You should
participate in self-care and preventative measures, and be willing to
find support when you need it.
- The Office of Counseling Services
welcomes all students to see a counselor
in a private and safe environment regardless of their reasons for making an
appointment. Counseling services are available to all Hendrix students
at no cost.
- Student Health Services
provides free healthcare to Hendrix students. Services are provided by an
Advanced Practice Registered Nurse (APRN) in collaboration with a local physician.
The Offices of Counseling Services and Student Health Services are located in the white house
behind the Mills Center for Social Sciences at
1541 Washington Avenue.