CS3247
GAME DEVELOPMENT (2013/2014, Semester 2) 

 MODULE OUTLINE Created: 02-Jan-2014, Updated: 21-Jul-2014
 
Module Code CS3247
Module Title GAME DEVELOPMENT
Semester Semester 2, 2013/2014
Modular Credits 4
Faculty School of Computing
Department Computer Science
Timetable Timetable/Teaching Staff
Module Facilitators
DR Anand Bhojan Lecturer
CHEN FEI Teaching Assistant
JESMOND CHIA UI SHERN Teaching Assistant
MR Sin Meng Wai Others
Weblinks
http://arivu.d2.comp.nus.edu.sg/game/
Game development projects (last semester)
Very useful resource.Very useful resource.Very useful resource.
http://arivu.d2.comp.nus.edu.sg/games/
Games – A Blog of Lenses and Tools (Game Analysis with Lenses and Tools)
Very useful resource.Very useful resource.Very useful resource.
http://www.gamasutra.com
Game Design
Excellent resource.Excellent resource.Excellent resource.Excellent resource.
http://www.gamedev.net
Game Development
Excellent resource.Excellent resource.Excellent resource.Excellent resource.
http://unity3d.com/support/resources/tutorials/
Unity3d - Good tutorials for beginners.
Excellent resource.Excellent resource.Excellent resource.Excellent resource.
http://www.worldofleveldesign.com/categories/cat_3dmodeling.php
Maya: Really really good resource for beginners.
Excellent resource.Excellent resource.Excellent resource.Excellent resource.
http://www.hongkiat.com/blog/100-maya-3d-tutorials-beginners-intermediate-advanced-users/
Maya: Modeling, particle, lightning, rendering of various levels with samples
Excellent resource.Excellent resource.Excellent resource.Excellent resource.
Tags --


Learning Outcomes | Prerequisites | Teaching Modes | Schedule | Assessment | Workload


 LEARNING OUTCOMES Top

The objective of this module is to introduce techniques for electronic game design and programming. This module covers a range of important topics including 3D maths, game physics, game AI, sound, as well as user interface for computer games. Furthermore, it will give an overview of computer game design, publishing and marketting to the students. Through laboratory projects, the students will have hands-on programming experience with popular game engines and will develop basic games using those engine.

Module Theme: "Design to Market"

Expected Final Outcome: After completing the course students will be able to create Games Independently (Indie Game Developers - individual or a small team) as well as work in a team of large Game projects/studios.


New Game Development Studio/Lab: We have created a new Game Developmet Lab/Studio with Higher-end Gaming PCs with Nvidia GTX 670 Graphics cards, Andriod tablets and range of I/O devices,  including ...
  • Wireless Gaming Pads (eg Logitech F710)
  • Gaming Joysticks (eg. Logitech  Extreme 3D Pro)
  • Steering Wheel for Games (eg. Logitech  DF GT)
  • Tablets (eg. Google Nexus 7 LTE, Samsung Galaxy Note 10.1 LTE (2014 Edition))
  • 3D Depth Sensor (eg Softkinetic DS311)
  • Head Movement Tracking Kit (eg. Oculus Rift Kit)
  • Gesture Control Armband (eg. MYO wristband)
  • Motion Controller (eg. Leap Motion Controller)



Some sample games
from previous semesters

More samples GAMES are at (developed by students in previous semesters): 
http://arivu.d2.comp.nus.edu.sg/game/



 PREREQUISITES Top

CS3241 and (Physics I or Knowledge on fundamental principles of classical mechanics)


 TEACHING MODES Top


There are weekly Lecture of 2 hours, Totorial of 1 hour and Hands-on training session of 2 hours. Students have to register for tutorial group and laboratory group through on-line registration system. There will be 3-5 assignments (problem solving assignments and mini project) and course-long game development projet. This module assumes that students have basic knowledge of Computer Graphics as taught in CS3241 and fundamental principles of classical mechanics  as taught in Physics I.
 

LECTURES:

Lectures will be conducted as per the schedule below. Students are expected to attend all the Lectures, as explanation and demonstrations given during lectures are very important to understand the subject matter.  There is  NO webcast or podcast for this course. For make-up lectures (if any), we may arrange for webcast. 

TUTORIALS:

There are weekly tutorials. Usually there will be multiple groups/sessions. Please refer to the schedule.

You are responsible for making the tutorials sessions lively. Most of the sessions will have student presentations (game analysis, game concept, game project progress, game prototype...). Some of the sessions will have topics/questions on game engines for discussion. Solutions/Answers for the Tutorial questions which are discussed during the session will  NOT be published/given . However, due to lack of time, if some questions are not discussed then the Solution/Answers for these questions may be published for your reference. If you miss any tutorial session, you may do all the questions yourself and send it to your tutor to get your solutions/answers verified. Please refer to the schedule given below.

LABS:

There are weekly labs. Usually there will be multiple groups/sessions. Please refer to the schedule given below.

First few weeks, there will be guided labs to equip the students with basics of modelling and introduce the features of game engines. Though attendance is not taken, students are expected to attend all the guided lab sessions. The rest of the weeks the students are expected to work independently on the game development project with limited support from the TA(s).

 



 SCHEDULE Top
 

LECTURE    (Tue 1200  - 0200 PM, Venue : LT15)    FIRST LECTURE on 14th Jan 2014

Week #  Topic Reference
(Textbook Chapters)
    Remarks
Week 1  Introduction to Games, History, Game Design and Development Concepts Introduction to Game Development, Part 1       
Week 2 Game Design - Approaches and Tools in Creating the "Experience"

Game Design - Game Writing and Interactive Story Telling
The Art of Game Design - A book of Lenses, Chapters 1,2,3,4 
Introduction to Game Development, Part 2
    Assignment 1 - Out
Week 3 3D Modeling Techniques & Understanding Game Engines
(* Make-up Session)
Refer Slides & Maya tutorials  (listed below)
Game Development with Unity
    Assignment 1 - Due
Week 4 Game AI - Pathfinding Artificial intelligence for Games     

Game Dev Project:  Game concept Due

Assignment 2 - Out

Week 5

Game AI - Decision Making

Artificial intelligence for Games    

 

Week 6 
Advanced Game AI - Fuzzy Logic, Neural Nets, Genetic Algorithms 
Refer Slides     

Assignment 2 - Due
Assignment 3 - Out

Mid term Break
Week 7  2D and 3D Math for Games    Refer Slides    

Assignment 3 - Due

Week 8 Game Physics Game Physics Engine Development     

Game Dev Project:  Basic working version with progress report

Week 9 Networked Multiplayer Gaming Refer Slides      
Week 10

Networked Multiplayer & Mobile Gaming

Refer Slides    

 

Week 11 Game Interface Refer Slides      
Week 12 Sound and Music for Video Games Refer Slides       
Week 13 Project Presentation        Game Dev Project:  Final evaluation and presentation
Week 14 --- ---      Game Dev Project:  Documented report & Poster Presentation

 

TUTORIAL ( First tutorial - week on 4 Feb 2014)
Group DAY TIME             VENUE                TUTOR
1 Tue 3-4 COM2-0108   Anand   
2 Tue 4-5 COM2-0108 Anand 
3 Tue 5-6 COM2-0108 Anand 

 

LABORATORY ( First lab - week on 24 Jan 2014 )
Group DAY TIME             VENUE                TUTOR
1 Mon 4-6 PM AS6-0426 ----
2 Fri 12-2 PM AS6-0426 ----
         
TOPICS (Tentative Order of Experiments)

  • Week 3: Maya (Understand UI layout, View Navigation, Model a Humanoid)
  • Week 4: Unity (Intro to Unity, Importing Pre-Built Scenography into Unity, Asset Store, Assets: Water, Sky, Fog, Terrain, Particles)
  • Week 5: Unity Script (Player movement - Mouse/keyboard, Rigid Body, Collision, Triggering, Raycasting, S-Pen Interface)
  • Week 6: Maya UV Mapping, Texture, Lighting, Baking and Animation of Humanoid built in Lab 1.
  • Week 7: Maya/Unity  Animating the Humaniod built in Lab 1 and Importing  Avatar Model (completed in Lab6) to Unity
  • Week 8: Unity Script (Designing Menu System (GUI), GUI Scripts)
  • Week 9: Unity Script  (Playing Sound, A* and other scripts)
  • Week 10: Unity Scripts (More Scripts ….)
  • Week 11: Unity/Maya (helper session)
  • Week 12: Unity/Maya (helper session)

RESOURCES (MAYA):

1. Really really good resource for beginners.
http://www.worldofleveldesign.com/categories/cat_3dmodeling.php

2. Modeling, particle, lightning, rendering of various levels with samples:
http://www.hongkiat.com/blog/100-maya-3d-tutorials-beginners-intermediate-advanced-users/

3. Box modelling a human head:(Just for reference. To show that everything can be modeled from a box. Nowadays we no longer do such complicated model in Maya)
http://www.swinburne.edu.au/design/tutorials/P-maya/T-Maya-Modeling-Box-modeling-a-human-head/ID-172/

4. Search for maya tutorial in those mayor video hosting sites such as Youtube and Vimeo and you will be surprised with what you can find.

RESOURCES (Unity):

1. Textbook: Game Development with Unity

2. Good tutorials for beginners:
http://unity3d.com/support/resources/tutorials/





 

GAME DEVELOPMENT PROJECT
Due DATE/TIME Work to Submit Submission Mode Remarks
Week 4 

Game concept 

IVLE -> Workbin [ONE COPY PER GROUP]
* Any one member of the group should submit

 
Week 8

Basic working version (Demo) with progress report

During Tutorial Sessions

 
Week 13

Final evaluation and presentation

During Lecture and Tutorial Sessions

 
Week 14

Documented report

IVLE -> Workbin

 
Week 14

Poster presentation (public event)

TBC

 

Game Development Project is a group work: 

Maximum Group Size: 4  (four).     
Minimum Group Size: 2 (two).
Though it is not a requirement, it is good for communication if all the members register for the same tutorial group.

 

ASSIGNMENTS
ASSIGNMENT # TYPE SUBMISSION DUE EVALUATION
1 Game Design Analysis Thursday 31 Jan 2014 TBC
2 Game Blog Feb 2014  
3 Path finding and Decision Making Feb  2014  
       

 

EXAM
DATE/TIME VENUE TYPE DURATION

Monday, 05-May-2013 (Evening) 

 --

OPEN BOOK
 

120 minutes

 



 ASSESSMENT Top
COMPONENT WEIGHTAGE REMARKS
Assignments  10%  analysis, problem solving, mini projects
Game Development Project  50%  group work : 2-4 students per group
Final Exam (exam) 40% open book, approved calculators (NO other electronic gadgets are allowed)


 WORKLOAD Top
2-1-2-2-3

Workload Components : A-B-C-D-E
A: no. of lecture hours per week
B: no. of tutorial hours per week
C: no. of lab hours per week
D: no. of hours for projects, assignments, fieldwork etc per week
E: no. of hours for preparatory work by a student per week