Difference between revisions of "CISC440 F2019 HW5"

From class_wiki
Jump to: navigation, search
(Created page with "CISC 440/640 -- Computer Graphics<br> Homework #4<br> Due: '''Thursday, December 5'''<br> ===Description=== In this assignment you will write a 3-D game using OpenGL and GLS...")
 
(Description)
 
(5 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, HW #2, or HW #3 as a starting point, as well as any code from the [http://www.opengl-tutorial.org/ OpenGL tutorials].
+
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].
  
5 out of the 15 points of your grade will be for creativity/complexity.  Things NOT to spend any time on:
+
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.
  
* Bullet physics: collision detection, normal forces, gravity, etc.
+
* 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
 
* Shadow mapping
 
* Shadow mapping
 
* Billboards/impostors
 
* Billboards/impostors
 
* A scoreboard or other text-based overlay about what is going on (this also does not count as your texture-mapped element)
 
* A scoreboard or other text-based overlay about what is going on (this also does not count as your texture-mapped element)
* Multiple elements which are "lit" with diffuse and/or specular lighting.  
+
<!--* Multiple elements which are "lit" with diffuse and/or specular lighting. -->
 
* "Complicated" 3-D objects (i.e., NOT [https://en.wikipedia.org/wiki/Platonic_solid platonic solids])
 
* "Complicated" 3-D objects (i.e., NOT [https://en.wikipedia.org/wiki/Platonic_solid platonic solids])
 
* If you have another idea, ask me for approval
 
* If you have another idea, ask me for approval
Line 46: 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 [https://doodle.com/poll/gz8fz8xxh7eh7q29 schedule an in-person demo session] with the instructor on May 17, 23, or 24.
+
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).