|
Final Game Projects: |
Click here for gallery!
|
|
Professor: |
Charles Rich (rich) Office Hours: Mon/Thu 2-3pm (FL B25b)
|
|
Course Description: |
This course focuses on the application of advanced Computer Science topics as they impact game development. Networking and distributed systems issues are addressed, including scalability and latency compensation techniques, for designing games for a online multi-player environments. AI, graphics and physics techniques specific to game development are discussed. Students will implement games or parts of games that apply advanced Computer Science topics.
Recommended Background: IMGD 3000
Course Objectives and Outcomes
|
|
Teaching Assistant: |
Jia Wang (wangjia) Office Hours: MR 4-5pm (Zoo Lab)
|
|
Lectures: |
Mon/Tues/Thurs/Fri, 1:00pm - 1:50pm FL 320) |
|
Lab (Required): |
Weds, 3:00pm - 3:50pm (FL 222 - jointly with IMGD 4500) |
|
Lab (Optional): |
Weds, 4:00pm - 4:50pm (FL 222) |
|
Text Books: |
Design3 Video Tutorials (Subscription required--get code from instructor)
Allen Jones and Adam Freeman, C# for Java Developers, Microsoft Press, 2003. (Optional)
Mat Buckland, Programming Game AI by Example, Wordware, 2005.
(Optional--this book will also be used for IMGD 4100, AI for Interactive Media and Games)
|
|
Discussion Forum: |
my.wpi.edu > Tech. Game Dev. II > Discussions > Unity and Game Project (Please SUBSCRIBE!)
|
|
Detailed Information: |
Lectures, Assignments & Project Milestones (pdf)
(Schedule is subject to change!)
Individual Homework: The "10% Solution"
Individual Optional (Extra Credit): The Firing Solution
Game Project:
|
Lecture Notes (posted after lectures): |
Week 1: Game Engines,
Scripting
Week 2: Decision Trees/State Machines, Basic Physics
Week 3: Steering,
Advanced Pathfinding,
Behavior Trees in Halo
Week 4: Advanced Camera Control, Shader/GPU Programming
Week 5: What's Hot in Graphics
Week 6: Networked Game Development
Week 7: Game Audio, Procedural Content Generation
Week 8: Novel Input Controls
|
|
Grading: |
The various components of the course will contribute to the overall grade
in the following proportions.
- 10% Solution (Individual Homework): 10%
- Final Game Project Technical Milestone (Mon, Nov. 12): 10%
(All tech students in a group will receive the same
grade for this component, unless there are exceptional circumstances)
To receive full credit, this milestone must demonstrate at least partial implementation of the first four elements listed under grade "B" below.
Include a README.txt in your project describing the technical components for which
you are claiming credit (include class names).
- Mid-term Exam: 15%
- Final Exam: 15%
- Technical elements of final game project: 40%
(All tech students in a group will receive the same
grade for this component, unless there are exceptional circumstances)
To receive a grade of at least "B" on the technical elements, the final game project must include the following required elements:
- basic physics (using Unity Rigid Body, Collider and Mesh Collider)
- two force-based steering behaviors (see lecture)
- basic A* pathfinding (see IMGD 3000 2011 and 2012 lectures)
- hierarchical state machines (see lecture)
To receive a grade of "A" on the technical elements, the final game project must display excellent software engineering practices (modularity, documentation, testing, etc.) and each tech member of the team
must implement either one of the first six following optional items, or share
the implementation of two-player networking with another team member:
- an advanced pathfinding feature (see lecture)
- an advanced camera control feature (see lecture)
- a non-trivial shader (see lecture and Unity tutorial)
- flocking (see lecture)
- procedural content generation (see lecture)
- another significant technical element requiring a comparable amount of programming (with prior approval of instructor)
- two-player networking (see networking tutorial)--reuse character model for both players in first-person mode
Include a README.txt in the toplevel folder of your SourceForge project including, for each implemented technical element:
- A brief description of its design and functionality
- The folder and file(s) that contain the source code
- Who implemented it (give proportion of contribution, if not equal)
These elements components should include both the "A" and "B" level items above and other major technical elements, such the GUI, etc.
- Final Game Design/Quality/Integration/Impression: 10%
(All art and tech students in a group will receive the same
grade for this component, unless there are exceptional circumstances)
The final letter grade in the course will reflect the extent to which you have
demonstrated understanding of the material and completed the
assigned work. The base level grade will be a "B" which
indicates that the basic objectives on homework, exams and project have
been met. A grade of an "A" will indicate significant achievement
beyond the basic objectives. A grade of a "C" will indicate not
all basic objectives were met, but work was satisfactory for
credit. No incomplete grades will be assigned unless there exist
exceptional, extenuating circumstances. Similarly, no makeup exams
will be given unless there exist exceptional, extenuating
circumstances.
|
|
Policies: |
Attendance
- Regular class attendance (and active participation) is expected.
- If you have an unavoidable need to be absent from the lecture, you do not need special permission, but you are responsible for the work covered.
Cheating
- Taking credit for work you did not do or getting unauthorized help on assigments or exams is cheating. If you are in doubt, ask the instructor first!
- Cheating is a serious offense, punishable by an automatic NR for the course.
- Institute policy on academic honesty will be followed in all cases.
|