CIS1885 3D GAME DEVELOPMENT
3 Credit Hours
This course is open to students on the college level in either Freshman or Sophomore year.
CIS1885 - 3D Game Development (3 hrs.)
An introductory course to give computer science majors an introduction to 3D game development including graphics, sound, and input.
This course is designed to help the student increase their knowledge concerning the basic techniques of creating 3D computer games including design, implementation and testing. Students will study software technologies related to game development including the art and design of creating games. The basics of 3D modeling will be covered.
Upon completion of the course, the student will be able to develop simple 3D computer games and work with 3D models. The student will have an understanding of the basics of game programming including graphics, sound, and input.
Unit Outcomes for Criterion Based Evaluation:
The following outline defines the minimum core content not including the final examination period. Instructors may add other material as time allows.
UNIT 1: Introduction to 3D Game Development
Outcomes: Upon completion of the unit, the student will have an overview of 3D game development and some of the tools available.
- Describe the basics of the computer game industry.
- Identify the elements of a 3D Game
- Explain the game engine.
- Install the game engine.
UNIT 2: Introduction to Scripting/Programming
Outcomes: Upon completion of the unit, the student will be able to successfully create, compile and run basic programs using fundamental building blocks of programming.
- Define the components of a script
- Write programs using functions
- Implement the time object for animation
- Use variables
- Explain and use conditionals and state
UNIT 3: Terrain Generation
Outcomes: Upon completion of the unit, the student will be able to create a terrain for the game
- Create environments
- Create a terrain object
- Build a fly through scene navigation
- Describe the terrain engine
- Paint a texture
- Create a terrain asset
- Apply shadows
UNIT 4: Navigation and Functionality
Outcomes: Upon completion of the unit, the student will be able to control navigation in a game as well as interaction with the environment.
- Implement navigation in a game
- Use arrow navigation and input
- Modify the mouse look
- Use platform functionality
- Program collision walls
- Describe the purpose of object names
- Define boundaries
UNIT 5: Cursor Control
Outcomes: Upon completion of the unit, the student will be able to control basic cursors of the operating system.
- Control cursor visibility
- Create custom cursors
- Use the texture importer
- Implement color cues
- Explain the advantage and disadvantages of a hardware cursor
- Describe object to object communication
- Program mouse over cursor changes
UNIT 6: Imported Assets
Outcomes: Upon completion of the unit, the student will be bring in external assets to the game environment
- Implement Triggers.
- Implement Game Connection messages
- Understand servers
- Describe options for 3D art assets
- Import art assets
- Apply import settings for a model to change the position and scale of a model
- Use settings to control the rigging of an animation object
- Implement parenting between a parent object and child objects
- Apply settings to control animations
- Import complex hierarchies with animations
- Setup materials for assets
- Incorporate shadows to create realistic effects
UNIT 7: Action Objects
Outcomes: Upon completion of the unit, the student will be able to implement action objects to handle collisions and sound effects
- Implement colliders
- Create an action to trigger an animation
- Trigger complex hierarchies
- Add sound F/X
- Setup a two-state animation
- Use Unity’s animation view
- Change imported animations
- Trigger another object’s animation
UNIT 8: Managing State
Outcomes: Upon completion of the unit, the student will understand how to programmatically keep track of the state of the game including scores, inventory, and tracking of placement in the game world.
- Identify the action objects
- Develop a state machine
- Describe the components of a state machine
- Separate state metadata and transition action
- Visual transitions
- Create an object lookup table
- Use the Object Lookup script
- Implement action-related messages
- Describe object metadata
- Activate the state engine
UNIT 9: Exploring Transitions
Outcomes: Upon completion of the unit, the student will be able to handle transitions of various objects along with the movement of the camera
- Process the auxiliary objects
- Handle object visibility
- Ensure player focus
- Use camera match
UNIT 10: Physics and Special Effects
Outcomes: Upon completion of the unit, the student will be able to incorporate physics and special effects to create a more realistic game play
- Add new assets
- Implement physics techniques
- Combine physics and key frame animation
- Use particle systems to create various special effects
- Create laser special effect
UNIT 11: Message Text
Outcomes: Upon completion of the unit, the student will be able to write text to the screen
- Apply a GUI skin
- Create text in the game world
- Control text visibility
- Use the object metadata
UNIT 12: Inventory Logic
Outcomes: Upon completion of the unit, the student will be able to implement an inventory screen to keep track of assets
- Use layers
- Create the inventory screen
- Add inventory icons
- Drop cursors in the 3D scene
- Organize the inventory objects
- Control the inventory layout and overflow
- Add and remove objects from inventory
UNIT 13: Dialogue Trees
Outcomes: Upon completion of the unit, the student will be able to implement dialogues between users of a game
- Start a conversation with code
- Filter topics
- Add external audio clips
UNIT 14: Mecanim and Characters
Outcomes: Upon completion of the unit, the student will be able to use the built in Mecanim for basic animation and control the character
- Add a character
- Control a character
- Implement the NPC controller
- Combine characters and dialogue
- Implement communication with the dialogue manager
UNIT 15: Menus and Levels
Outcomes: Upon completion of the unit, the student will be able to implement menus and levels in a game
- Add game menus
- Use the Menu Manager script
- Create the main menu
- Add game play buttons
- Create a settings menu
- Implement confirm dialogs
- Add audio
- Create a level save and load
- Write a traveling between levels procedure
- Publish a game
As assigned in class
Please Contact Bookstore for current textbook.
Students should adhere to the attendance policy outlined by the instructor in the course syllabus.
The grading policy will be outlined by the instructor in the course syllabus.
Maximum class size:
Based on classroom occupancy
Course Time Frame:
The U.S. Department of Education, Higher Learning Commission and the Kansas Board of Regents define credit hour and have specific regulations that the college must follow when developing, teaching and assessing the educational aspects of the college. A credit hour is an amount of work represented in intended learning outcomes and verified by evidence of student achievement that is an institutionally-established equivalency that reasonably approximates not less than one hour of classroom or direct faculty instruction and a minimum of two hours of out-of-class student work for approximately fifteen weeks for one semester hour of credit or an equivalent amount of work over a different amount of time. The number of semester hours of credit allowed for each distance education or blended hybrid courses shall be assigned by the college based on the amount of time needed to achieve the same course outcomes in a purely face-to-face format.
Refer to the following policies:
402.00 Academic Code of Conduct
263.00 Student Appeal of Course Grades
403.00 Student Code of Conduct
Disability Services Program:
Cowley College, in recognition of state and federal laws, will accommodate a student with a documented disability. If a student has a disability which may impact work in this class and which requires accommodations, contact the Disability Services Coordinator.