CSCI 440 Computer Graphics

Final Project: Creating an Interactive 3D Virtual World

Specification: Design and implement an interactive 3D virtual world using the C++ programming language and OpenGL application programming interface for 3D graphics, in which the user can explore and interact with the virtual world.

Assessment Part 1: Basic technical requirements (8 points)

You can add as many bells and whistles into your final project as you want, but the following are the basic requirements:

 

Assessment Part #2: Storyline and modeling (14 points):

We will evaluate storyline of the virtual world project based on how well you design the patterns of interaction between the user and your virtual world to make up a story attracting the user to engage in the game.

i.               Storyline (6 points): The storyline should provide an interesting cause-and-effect relationship between the events and introduces incentives attracting the user to interact with the virtual environment for reward. The events of interaction should be related to one another in a coherent way allowing smooth transition between scenes you create in the virtual world following storyline.

 

 

(Could be fractional)

Cause-and-effect relationship of individual events

Up to 1 point

Connection of the events together as a storyline

Up to 1 point

Attractive reward mechanism

Up to 1 point

Technical complexity of the events and the story

Up to 3 points

 

ii.             Modeling (8 points): We will evaluate modeling of the virtual world project based on how well you model the objects in the virtual world and render them in a visually appealing way. You should craft the virtual world with fine details regarding (a) the appearance of objects there and (b) the settings of lighting, texture, blending/fog and so forth to make it appealing in all these aspects. You also provide convenient ways for the user to navigate in the virtual world and explore the details of the virtual world.  

 

 

(Could be fractional)

Appearance of individual objects

Up to 1 point

The effect of lighting and materials

Up to 2 point

The effect of texture

Up to 1 point

The effect of blending/fog

Up to 1 point

Technical complexity of the objects and the scene

Up to 3 points

 

Developmental  Timeline

·       Proposals and Prototyping: There are three formation stages.

1.     Formation Stage I: Monday, March. 23,

2.     Formation Stage II: Monday, April. 13, and

3.     Formation Stage III: Monday, May. 11

In each stage, you need to provide a proposal regarding (i) new features to be added into the virtual environment and (ii) the expanded storyline in terms of the dynamics and rewarding mechanism after incorporating the new features into the environment. You need to incrementally implement your system as an evolving prototype. There will be three prototype demos in the process, leading to your final system.

 

 

 

Final submission: Monday, May 25

 

Enclose the following documents together as a single zip file and upload it under Canvas.

 

1.     Document#1: User manual for the public 

(i) Overview: In beginning of the manual, you should succinctly describe the key theme and main ideas of your virtual world to inspire the user to try your program, including a number of appealing snapshots from your program. (ii) Commands: The manual should then inform the details of how the user can interact with the virtual world through the keyboard and the mouse.

2.     Document#2:  Assessment report for Dr. Lin

(i)             Fulfillment of the basic requirements A1~A8:

Succinctly explain how your implementation fulfills each of the requirements A1~A8 described earlier in this document. You also need to provide an estimate of time you spent in the project.

(ii)           Bug list: Provide a list of all the flaws/bugs you are aware of .

(iii)         Highlight of accomplishments and effort put into the project:

Give a rough estimate of the amount of time you put into the project. What are the most impressive features you have implemented in your program? What are the most challenging parts of the implementation? 

(iv)          User feedback:

Find someone to play with your program and write a paragraph of their comments on their experiences at least a classmate, a friend or family.

(v)           Reference and Acknowledgement:

Provide a complete list of all code segments adapted from examples in the public domain and acknowledge all the people involved in the coding, debugging, and testing of your program.

(vi)          Permission for posting the executable:

Write down some statements about whether you permit the department to post your executable as a sample demo example about student projects in the computer graphics class.

3.     Document#3:  Source code + executable: Include all your source code files together with a Windows/Mac executable of your project.