Millersville University Department of Computer Science 
Dr.
Roger W. Webster
CS475 3D Game Programming and Computer Animation
Sample Assignments
 

Laboratory Assignment Six

Final Project

Roger W. Webster, Ph.D.
Department of Computer Science

OpenGL Graphics programming, write a C++ program using the MUOpenGLtoolkit API to:

  • Final Project Assignment:
  • Import the myroom.3ds file and do all tasks assigned in assignment #1,#2, #3, #4, and #5.
  • Add to this assignment:
    1. Using the networking object have the pickups controlled by the server, i.e., the pickups are all the same in a shared networked world. Use PICKUP_INIT to initialize all new users’s pickups. Use the Server as the arbiter of the pickups, i.e., when a person runs over a pickup the user must check with the server to make sure it was the first person to pick it up (acknowledgement). Have the Server change the pickups over time.
    2. Use the network demo to send the info that each client needs (Streamer bullets) over the net in packets
    3. When a client is out of health (dead), then respawn to another location in the world (randomly).
    4. Each weapon should have different kill characteristics.
    5. Add splash damage (decrement Health) if you shoot the walls too close.
    6. Use Health boxes to gain health.
    7. Add a pickup for Invincibility (timer)
    8. Add a pickup for Invisibility (timer) [no radar, no rendering of the character to others].
    9. Have radar come up on screen at startup with 3D (triangles can be used)
    10. Use Head Position for the camera location so that the user will move when getting shot and shooting and idle, etc.
    11. Have the user pick his/her own character before running the game.
    12. Add a server command to send the clients the characters that have been selected by all players in the game.
    13. Add the grenade launcher and be able to shoot a grenade.
    14. Add the grenade bouncing off the walls (and the sound as it hits the wall).
    15. Add grenade explosion (alpha tga of explosion).
    16. Add grenade explosion sound when it goes off
 

 

Laboratory Assignment Five

CS475 3D Game Programming and Computer Animation

Roger W. Webster, Ph.D.
Department of Computer Science

Computer Animation and Networking Assignment

OpenGL Graphics programming, write a C++ program using the MUOpenGLtoolkit API to:

  • Import the room.3ds file and do all tasks assigned in assignment #1, #2 and #3, and #4.
  • Add to this assignment:

·         Use the Computer Animation Demo and add characters to your world.

  • Using the networking demo make a game where each person is an animated character in a shared world.
  • Use the network packets to position, orient, and animate the character.
  • When you shoot the char have the animation pain-right, pain-left, death_back, and death-front based upon collision detection shooting with the Cal3D character. Bone numbers are returned from the collision call. Weight health by bone num, i.e., head shots, legs, arm shots vs chest shots.
  • Use the check_ray_collision() demo code to determine if you have shot the characters in the game.
  • Use the network demo to send the info that each client needs (tracer bullets, etc) over the net in packets
  • When a client is out of health (dead), then respawn to another location in the world (randomly, i.e., timeouts).
  • Program the Server take care of init the pickups and sending each client the current pickup list
  • Program the Server take care of choosing the level (3 different levels to choose from).
  • Program the Server take care of each client choosing their character (jpgs of each char on the screen).
  • Each weapon should have different kill characteristics
  • Add splash damage (decrement Health of all ‘near’ the wall) if you shoot the walls too close
  • Use the check_ray_collision() demo code to make bullet hole decals in walls and objects around the world.
  • Use the Pickups Tool Software to spread pickups: health, guns, spawn positions around the world.
    1. Use Ammo box pickups to pick up ammo
    2. Use Health box pickups to gain health.
    3. Use Weapons on the floor to gain a weapon (run it over and make a sound).
 

 

Previous Assignments


 

 

CS475 3D Game Programming and Computer Animation

Laboratory Assignment Four

Roger W. Webster, Ph.D.
Department of Computer Science

OpenGL Graphics programming, write a C++ program using the MUOpenGLtoolkit API to:

  • Shooting an Animated Character Assignment:
  • Import the myroom.3ds file and do all tasks assigned in assignment #1, #2 and #3.
  • Add to this assignment:

4.      Load an animated character and make that character idle (animation).

5.      Position the animated character in front of the view in the correct position.

6.      Test all animations with keystrokes (walk, run, jump, turn, shoot, get shot, etc).

7.      Also use the following animations: pain-right, pain-left, death_back, and death-front based upon collision detection shooting with the Cal3D character. Bone numbers are returned from the collision call.

8.      Use keystrokes to change the animated character’s weapon to all the 9 different weapons the first person shooter can have.

9.      Use keystroke to draw the collision boxes around the character’s bones, check for holes.

10.  WASD to move around, left mouse button should shoot.

11.  Guns and pickups the same as assignment #3.

 

  

Good Luck

 


CS475 3D Game Programming and Computer Animation

Laboratory Assignment Three

Roger W. Webster, Ph.D.
Department of Computer Science

OpenGL Graphics programming, write a C++ program using the MUOpenGLtoolkit API to:

  • Import the myroom.3ds file (from MU ¼ life demo) and do all tasks assigned in assignment #1 and #2.
  • Add to this assignment:

1.      Use the GunClass Demo of 3D models of weapons with realistic texture maps and use the gun sounds.

2.      Position one of the weapons in front of the view in the correct position as the user moves around the world.

3.      Be able to switch weapons with F1-F9 keys.

4.      As the user moves around the world make the weapon move appropriately.

5.      Load your room model as the world to move around in.

6.      Load some 3Ds models of objects around the world to shoot at (barrels, pool, tv, etc).

7.      Shoot decals of bullet holes on the walls and barrels and other objects with CheckRayCollision() calls

8.      Program the gun pickups, as the user moves around he can pickup guns (using the levelcfg program).

9.      Program the Spawn points (for now hit F11 to die and respawn to a random spawn point using levelcfg).

10.  When you die, you then give up all weapons that were picked up (default guns: knife,pistol,machinegun).

 

Good Luck


CS475 3D Game Programming and Computer Animation

Laboratory Assignment Two

Roger W. Webster, Ph.D.
Department of Computer Science

OpenGL Graphics programming, write a C++ program using the MUOpenGLtoolkit API to:

  • Collision Detection Assignment:
  • Import the myroom.3ds file (from MU half life demo) and do all tasks assigned in assignment #1.
  • Add to this assignment:
    1. Do collision detection with the walls and do a wallslide when the user collides (see demo)
    2. Make the user can go up any and all ramps (smoothly)
    3. Make sure the user can not leave the rooms and get outside the building
    4. Make sure the user can not get stuck in corners
    5. Make sure the movements are smooth (tweak wallslide)
    6. Make sure all textures are either TGA files and height and width are powers of two (64x64,512x512,etc) or JPG or BMP
    7. Play a background sound while the user moves around
    8. Add WASD and E to move around (see demo).
    9. Do collision detection with objects in the rooms (barrels, pool, tv, etc)
    10. Make sure the scale of the room and the objects are appropriate (barrels, tv, doors, etc).
    11. load the guns from the GunDemo code (see web site for GunDemo code)
    12. See http://cs.millersville.edu/~webster/gametechnologytrack/demos.html for code pieces.
  

CS475 3D Game Programming and Computer Animation

Laboratory Assignment One

CS475 3D Game Programming and Computer Animation
Roger W. Webster, Ph.D.
Department of Computer Science

Getting started: Modeling 3D objects.

Texture Mapping and Modeling in a Modeler (3D Studio Max)

  1. Use 3DS MAX modeler to edit the world in the demo shown in class:
    • Fix the normals (see demo)
    • Make framed pictures on the walls be MU things and MU faculty.
    • Fix some of the textures
    • Check the lighting
    • Add a transparent texture to an object
    • Check the passage ways (doors and passageways)
    • Fix all messed up items
    • Use demo program to load and check the model
  2. Add to the demo program
    • Load N barrels (as separate objects) around the world
      1. Model each barrel in 3ds at the origin
      2. Add function keys F1-Fn to pitch, yaw, roll, and move one barrel

see http://cs.millersville.edu/~webster/gametechnologytrack/demos.html


 

Good Luck!

 

 


 

CS475 3D Game Programming and Computer Animation
Laboratory Assignment Two

Roger W. Webster, Ph.D.
Department of Computer Science

OpenGL programming, write a C++ program using the MUOpenGLtoolkit API to:

  • Download the ShellDemo and the WASD demo as sample code to use.
  • Modify the ShellDemo program to:
  • Import the room.3ds file from assignment #1 into your OpenGL source program.
  • Make sure all textures are either TGA files and height and width are powers of two (64x64,512x512,etc) or JPG or BMP
  • Position the viewer (camera) in the center of the room.
  • Attach the mouse so the viewer (user) can move around (not WASD).
  • Add lights
  • Collision detection with the world (see handouts)
  •  
  • add a function for keyboard input to:
    1. move to various positions in the world (user types numbers 1-5 on keyboard).
    2. reset to the original viewpoint pos and orientation (‘r’ key)
    3. quit with ‘q’ key or esc key   

Good Luck


CS475 3D Game Programming and Computer Animation Assignments

Roger W. Webster, Ph.D.
Department of Computer Science

Networking and Animated Character Game  

·         Read all the research papers and all hands outs given in class.

·         Load 3D models of six weapons with realistic texture maps.

·         Each weapon should have different behavior.

·         Position one of the weapons in front of the view in the correct position as the user moves around the world.

·         Be able to switch weapons as the user picks up the weapon around the world.

·         Keep track of ammo amounts for each gun

·         Keep track of your health

·         As the user moves around the world make the weapon move appropriately.

·         Load your city model as the world (urban city) to move around (use wall slide collision detection).

·         Put up a fence around the far outside of the city so the user cannot leave the city.

·         Load some 3Ds models of vehicles around the city to shoot at.

·         Left mouse press should fire the weapon (move the weapon) use WASD to move around.

·         You can use the picking demo code to determine if you have shot any objects

·         Program the code to be a network game with each user becoming the next humanoid Cal3D animated character.

·         Use 3ds max rigged characters, (Cal3D) you must animate one that hasn’t been animated yet.

·         Program the animations for idle, walk, run, jump, shoot, getting shot, death1, death2 to be sent over the network

·         Program tracer bullets to be sent over the network (so we can see two people shooting each other).

·         Use the tga animation object or particles in muopengl toolkit to explode the blood object.

·         Use MultiPass textures to splatter blood on walls or shoot out walls (holes).

·         Add Radar to see all the opponents connected and playing in the game.

·         When a person dies, re-spawn them in random locations around the world.

 

Good Luck 




CS475 3D Game Programming and Computer Animation

Laboratory Assignment One

CS475 3D Game Programming and Computer Animation
Roger W. Webster, Ph.D.
Department of Computer Science

Getting started: Modeling 3D objects.

Texture Mapping and Modeling in a Modeler (3D Studio Max)

  1. Use 3DS MAX modeler to edit the world in the MU ¼ life demo:
    • Make framed pictures on the walls be MU things and MU faculty.
    • Make the under the bridge place a passageway out (users get stuck there)
    • Fix some of the textures
    • Fix the transparent textures
    • See if there are passage ways to be created (doors and passageways)
    • Make furniture look realistic
    • Make barrels and boxes be separate objects one can shoot
    • Fix the pool and make it a separate object to shoot
    • Fix TV screen to have a pic of MU
    • Fix all messed up items
    • Use demo program to load and check the model
  2. Add to the demo program
    • Load N barrels (as separate objects) around the world
      1. Model each barrel in 3ds at the origin
      2. Add function keys F1-Fn to pitch, yaw, roll, and move one barrel
    • Load the pool as a separate object (3ds at the origin)
    • Position the pool in the correct room

see http://cs.millersville.edu/~webster/gametechnologytrack/demos.html