Difference between revisions of "CISC440 S2017 HW4"

From class_wiki
Jump to: navigation, search
(Additional elements)
(Description)
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
* Multiple elements which are "lit" with diffuse and/or specular lighting
+
* Multiple elements which are "lit" with diffuse and/or specular lighting.
 
* At least one texture-mapped element
 
* At least one texture-mapped element
 
* A scoreboard or other text-based overlay about what is going on
 
* A scoreboard or other text-based overlay about what is going on
Line 19: Line 19:
 
* A simplified version of a retro game like Space Invaders, Asteroids, Q-bert, or Frogger or a simple recent mobile game (Crossy Road/Flappy Bird).
 
* A simplified version of a retro game like Space Invaders, Asteroids, Q-bert, or Frogger or a simple recent mobile game (Crossy Road/Flappy Bird).
 
* A turn-based "board game" like chess  
 
* A turn-based "board game" like chess  
* Billiards/pool-like 2-D collision-based game
+
* Billiards/pool/air hockey-like 2-D collision-based game
 +
* 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, HW #2, or HW #3 as a starting point, as well as any code from the [http://www.opengl-tutorial.org/ OpenGL tutorials].

Revision as of 22:58, 2 May 2017

CISC 440/640 -- Computer Graphics
Homework #4
Due: Tuesday, May 16

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
  • Multiple elements which are "lit" with diffuse and/or specular lighting.
  • At least one texture-mapped element
  • A scoreboard or other text-based overlay about what is going on

Possible game ideas:

  • A simplified version of a retro game like Space Invaders, Asteroids, Q-bert, or Frogger or a simple recent mobile game (Crossy Road/Flappy Bird).
  • A turn-based "board game" like chess
  • Billiards/pool/air hockey-like 2-D collision-based game
  • 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 OpenGL tutorials.

5 out of the 15 points of your grade will be for creativity/complexity. Things NOT to spend any time on:

  • Sound
  • Opponent AI
  • Network play

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.

  • Simple physics: collision detection and normal forces (e.g. sphere-sphere or sphere-plane), gravity, etc.
  • 3-D or 4-D value/Perlin noise (this does not count as the texture-mapped element above)
  • Shadow mapping
  • Billboards/impostors

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.