Difference between revisions of "CISC440 F2019 HW5"
(→Additional elements) |
(→Description) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 11: | Line 11: | ||
* An environment which consists primarily of 3-D objects, rather than 2-D sprites (although these are allowed). The view of the environment should not be purely plan or elevation, but rather something closer to isometric. Your camera may be perspective or orthographic. | * An environment which consists primarily of 3-D objects, rather than 2-D sprites (although these are allowed). The view of the environment should not be purely plan or elevation, but rather something closer to isometric. Your camera may be perspective or orthographic. | ||
* User control through keyboard or mouse input | * User control through keyboard or mouse input | ||
− | * Objects must move smoothly, camera views (if they change) must change smoothly | + | * Objects must move smoothly, camera views (if they change) must change smoothly. Your game can still be turn-based: a recent student had a very nice chess implementation in which the pieces "flew" to their next square |
* At least one texture-mapped element | * At least one texture-mapped element | ||
+ | * At least one 3-D element which is "lit" with diffuse and/or specular lighting | ||
Possible game ideas: | Possible game ideas: | ||
Line 22: | Line 23: | ||
* Your own wacky original idea | * Your own wacky original idea | ||
− | You may use any code from HW #1 | + | You may use any code from HW #1 through HW #4 as a starting point, as well as any code from the [http://www.opengl-tutorial.org/ OpenGL tutorials]. |
− | + | 4 out of the 12 points of your grade will be for creativity/complexity. Things NOT to spend any time on: | |
* Sound | * Sound | ||
Line 35: | Line 36: | ||
If you are an undergraduate working alone, you must implement/include ONE of the following features. A graduate student alone or a pair of undergrads must implement TWO. A pair of grad students must complete FOUR. | If you are an undergraduate working alone, you must implement/include ONE of the following features. A graduate student alone or a pair of undergrads must implement TWO. A pair of grad students must complete FOUR. | ||
− | + | * Incorporate more features of Bullet physics (i.e., something beyond gravity and/or collision with a plane) | |
* 3-D or 4-D value/Perlin noise (this does not count as the texture-mapped element above) | * 3-D or 4-D value/Perlin noise (this does not count as the texture-mapped element above) | ||
* Environment/reflection mapping | * Environment/reflection mapping | ||
Line 47: | Line 48: | ||
===Submission=== | ===Submission=== | ||
− | Submit your entire project folder -- associated textures and 3-D model resources should be included. Include a README to explain how you satisfied each of above requirements. You will also be asked to | + | Submit your entire project folder -- associated textures and 3-D model resources should be included. Include a README to explain how you satisfied each of above requirements. You will also be asked to schedule an in-person demo session with the instructor after the due date (details to follow). |
Latest revision as of 10:39, 12 November 2019
CISC 440/640 -- Computer Graphics
Homework #4
Due: Thursday, December 5
Description
In this assignment you will write a 3-D game using OpenGL and GLSL. You are free to be creative, within the constraints outlined below. You may work alone or as a pair. Both members of the pair must be enrolled in the same class 440 or 640 -- no "mixed" undergrad/grad pairs
Your game must have the following characteristics:
- An environment which consists primarily of 3-D objects, rather than 2-D sprites (although these are allowed). The view of the environment should not be purely plan or elevation, but rather something closer to isometric. Your camera may be perspective or orthographic.
- User control through keyboard or mouse input
- Objects must move smoothly, camera views (if they change) must change smoothly. Your game can still be turn-based: a recent student had a very nice chess implementation in which the pieces "flew" to their next square
- At least one texture-mapped element
- At least one 3-D element which is "lit" with diffuse and/or specular lighting
Possible game ideas:
- A simplified version of a retro game like Space Invaders, Asteroids, Q-bert, or Frogger
- A simplified version of an already-simple recent mobile game (Crossy Road/Flappy Bird).
- A turn-based "board game" like chess. The "smooth movement" requirement means that pieces must fly to their new locations -- you can't just click on squares
- Billiards/pool/air hockey-like 2-D collision-based game
- Your own wacky original idea
You may use any code from HW #1 through HW #4 as a starting point, as well as any code from the OpenGL tutorials.
4 out of the 12 points of your grade will be for creativity/complexity. Things NOT to spend any time on:
- Sound
- Opponent AI
- Network play
- Saving high scores or game state
Additional elements
If you are an undergraduate working alone, you must implement/include ONE of the following features. A graduate student alone or a pair of undergrads must implement TWO. A pair of grad students must complete FOUR.
- Incorporate more features of Bullet physics (i.e., something beyond gravity and/or collision with a plane)
- 3-D or 4-D value/Perlin noise (this does not count as the texture-mapped element above)
- Environment/reflection mapping
- Shadow mapping
- Billboards/impostors
- A scoreboard or other text-based overlay about what is going on (this also does not count as your texture-mapped element)
- "Complicated" 3-D objects (i.e., NOT platonic solids)
- If you have another idea, ask me for approval
Submission
Submit your entire project folder -- associated textures and 3-D model resources should be included. Include a README to explain how you satisfied each of above requirements. You will also be asked to schedule an in-person demo session with the instructor after the due date (details to follow).