CIS1859 VIRTUAL REALITY PROGRAMMING
3 Credit Hours
This course is open to students on the college level in either the Freshman or Sophomore year.
CIS1859 - Virtual Reality Programming (3 hrs.)
This course will prepare students to write basic games in the virtual reality environment. The topics will include virtual reality principles, performance, player input, game resources, particle effects, UI elements, audio, and graphics to simulate reality, multi-player networking, and publishing a virtual reality game.
This course is designed to prepare students to write virtual reality programs. The student will learn the various techniques to simulate reality in a game in order to foster the 3D look and feel of a virtual reality game.
Upon completion of the course, the student will be able to write virtual reality programs that include the game elements: performance, player input, game resources, particle effects, UI elements, audio, graphics to simulate reality, and multi-player networking. In addition, the student will under the basic principles of virtual reality and publishing techniques.
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: Virtual Reality Concepts
Outcomes: Demonstrate knowledge of the basics of virtual reality, intent, vergence accommodation conflict, components of a virtual reality headset, constellation tracking, importance of input, and frame rates
- Explain the concept of virtual reality
- Describe the importance of intent in virtual reality design
- Define vergence-accommodation conflict
- List the components of a virtual reality headset
- Explain constellation tracking, importance of input, and frame rates
UNIT 2: Virtual Reality Configurations
Outcomes: Demonstrate the knowledge necessary to explain the purpose of the utilities and API of Oculus as well as configure the environment for development
- Describe the interfacing between Oculus utilities and a game engine
- Enable interaction with gaze-based mechanics
- Define the purpose of the virtual reality API
UNIT 3: Performance Issues
Outcomes: Implement techniques to enhance the performance of a virtual reality game including the Unity profiler, coroutines, mesh optimization, LODs, allocation of memory, and object pooling
- Use the Unity profiler
- Use coroutines to split up complex work
- Optimize a mesh using Simplygon
- Display dynamic detail using LODs
- Explain the importance of allocating memory
- Use object pooling
UNIT 4: Interaction with Virtual Worlds
Outcomes: Implement programs using basic player input and create custom Unity input axes
- Design basic player input
- Implement gameplay around input
- Create custom Unity input axes
UNIT 5: Establishing Presence in a Game
Outcomes: Write simple programs to implement particle effects, a skybox, and player interaction as well as place resources in the game world
- Setup the game environment
- Accentuate depth with particle effects
- Customize the skybox
- Enable player interaction with the world
- Populate the game world with resources
- Use resources to interact with the environment
UNIT 6: Depth and Intuition in a User Interface
Outcomes: Implement programs that use a virtual reality input module, a simple menu, and incorporates UI elements in the game world
- Add a virtual reality input module
- Construct a simple menu
- Add UI elements to the game world
UNIT 7: 3D Audio
Outcomes: Explain the basics of audio and Unity audio as well as implement programs that use 2D stereo audio, basic 3D spatialization, head-related transfer function, and audio in the game world
- Explain the basics of the science of audio
- Describe the basics of Unity audio
- Implement 2D stereo audio
- Add basic 3D spatialization
- Incorporate head-related transfer function
- Implement audio in the game world
UNIT 8: Tone and Realism with Graphics
Outcomes: Write programs that simulate realism using rendering techniques, color grading, and shaders
- Describe the rendering pipeline
- Implement forward and deferred rendering
- Add tone with color grading
- Change the appearance of objects with shaders
UNIT 9: Implementing Networking of Players
Outcomes: Implement a simple networked based game including a lobby space, spawn points, and synchronization of data.
- Create a lobby space for joining matches
- Create a networked game
- Define player spawn points
- Use Unity’s matchmaker system
- Incorporate the multiplayer lobby
- Synchronize data in multiplayer matches
UNIT 10: Publishing on the Oculus Store
Outcomes: Explain the process of publishing to the Oculus store
- Package a final Unity build
- Describe the Oculus submission guidelines
- Upload a build to Oculus
Varies, refer to syllabus.
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.