Game Description Jug Run is a game inspired by the popular Hamilton bar, The Old Stone Jug, and the sometimes brutal trip back to one’s dormitory, apartment, or house during a cold winter’s night. In Jug Run this experience is exaggerated and the game’s hero, The Student, is running home to the townhouses while their health is constantly depleting due to the cold. If the health reaches zero the player has lost, but if they are able to make it all the way to the townhouse, they win. The player has to dodge cruisers, avoid snow banks, and pick up jackets and slices to keep their health up.  Jug Run is played on a road resembling Broad Street. The Student can move between four lanes: two road lanes and a sidewalk on either side. While The Student never moves in the animated world it appears they are due to movement of objects such as street cracks, lamps, and houses moving along the z-axis until exiting the bottom of the canvas. The area is illuminated by a dim ambient light, spotlights in the street lamps, and headlights on the front of the cruisers. References  • Boxy Run
 ◦ https://github.com/wanfungchui/Boxy-Run
 • Ski The Hill
 ◦ https://www.cs.colgate.edu/~efourquet/cosc435/gallery/emrys-ski-hill/
 • Climb The Hill
 ◦ https://www.cs.colgate.edu/~efourquet/cosc435/gallery/climb-the-hill/
 • Mystery
 ◦ https://tympanus.net/codrops/2016/04/26/the-aviator-animating-basic-3d-scene-threejs/
 • Exploring Animation And Interaction Techniques With WebGL
 ◦ https://www.smashingmagazine.com/2017/09/animation-interaction-techniques-webgl/
 Original and New Objectives 1. Users will play as The Student 
 1. The Student will not be seen from the front making modeling easier
 2. The Student has to be able to stand still, run forward, and jump side-to-side
 2. The Student is running along a road and sidewalks 
 1. The road has two lanes and a sidewalk on either side 
 2. 4 lanes total for The Student to run on
 3. This object has to be designed so that it can be repeated and look like one flowing road 
 4. We may use animation to mimic a moving road - we can have a dotted yellow line running down the center of the road, so yellow rectangles are moving down the screen to look like The Student is running down the road
 3. The Student’s health will be tracked on the House Counter
 1. The Health Counter starts at 100 and decreases by a specific increment that changes depending on the chosen difficulty
 2. If the Health Counter gets to 0 the game is over and the players has lost
 4. While health is always draining, if The Student picks up a slice or jacket then their health bar will be pushed up a certain amount
 1. Slices will have simple designs and be placed in any line
 2. The jackets will be random colors
 3. Jackets won’t push Health up, but instead slow down the rate that health is draining
 5. In the same fashion, if The Student hits a snow pile or cruiser then their health will be pushed down a certain amount 
 1. Snow piles will have simple designs and will only be placed on sidewalks
 2. The cruisers will only drive down the road lanes, one moving up the display and the other moving down
 3. The player has to watch for headlights to dodge the cruiser that spawns quickly from the bottom of the screen
 4. We will use collision boxes to manage the collision of the student with snow piles or cruisers
 6. In the game The Student will be running by randomly generated houses 
 7. In the game The Student will run by Taylor Lake 
 8. There will be distance-marker signs that mark the beginning, middle, and end of the run
 9. During the game there will be snow falling 
 1. The actual snow is going to be a simple model, small white cubes with alpha blending to make some look more transparent than others
 10. There will be three different difficulties: flurries, heavy snowfall, and blizzard
 1. When the difficulty is increased The Student’s health decreases faster and more snow banks are generated
 Game Specifications * The game is run on GOOGLE CHROME * The following keys are bound to certain movements and commands * P = PAUSE, stops all movement and actions within the game environment * LEFT, RIGHT KEYS = MOVEMENT, moves the student left to right * UP KEY = JUMP, makes the student leap into the air, avoiding obstacles * The game can be restarted through the GUI control panel in the top right side of the screen. Players can change the difficulty between flurries, heavy snowfall, or blizzard which affects how fast The Student’s health decreases, the amount of snow banks in the game, and the probability of objects spawning Git Repo https://github.com/kobeodk/JugRun Individual Statements Hank: In this game I implemented all lighting. I added an ambient light bright enough to see the terrain, but dim enough so that the spotlights coming from the top of each lamp could be clearly seen on the floor. I also attached two more spotlights on the front of each cruiser to act as headlights. These headlights are crucial to the game’s function because they act as the only warning that a cruiser is about to appear in the right road lane and the player has to switch lanes immediately, unlike the left road lane where the player is able to see its approach for a longer time. My next task was to display The Student’s health using css files and be able to update it during the run. After reviewing code from Ski The Hill and Climb The Hill I was able to figure out how to update a displayed number. I made several contributions to the game’s logic and function such as random obstacle generation, increases/decreases to health, and more. I worked with Ignacio and Kobe to determine what probabilities to assign to different options so there weren’t too many obstacles or aids. Isabel: For this game, I mostly worked on modelling. I modelled the slices of pizza by using Extrude Buffer Geometry and cylinders. I also originally modelled snow-capped trees with Cone Geometry, but we didn’t end up incorporating them into the game because the extra details slowed it down with the amount of textures we had. I also modelled The Student. I used Box, Cone, and Sphere Geometry to create its body parts and then used the “Exploring Animation And Interaction Techniques With WebGL” reference as guidance for animation. I implemented the motions of moving the arms back and forth, moving the torso and head, and moving the legs and feet so the character appears to be walking/running. I also modelled the start and end messages of the game. Each message appears on the screen as a sign with a texture on it, giving the player instructions. The start message appears at the start of the game and reappears when the game is reset. The start message includes rules on how to play, the losing message tells you to click restart to play again and appears whenever you get hit by a cruiser or your health goes to zero, and the winning message appears at the end by the townhouses and encourages you to try a new level of difficulty.  Kobe: In this game, I worked on modelling the ground, which included the road and sidewalk, and the snowflakes. I also developed the “endless runner” mechanic, by having objects approach the player at different velocities in the animation loop, instead of the player running endlessly. I also implemented the player controls with the arrow keys, and the collision system, using the width,length, and height of each object. I also implemented the GUI which allows players to choose their difficulty or restart the game. Because of that, I also had to create the resetGame function, which starts the game all over.  Ignacio: For this project, I did the majority of the item modeling. My work includes, the cruiser, the houses (where two models were made, one with a garage and one without), the jacket, the snow piles, the signs indicating the player’s progress, and Taylor Lake. Below are images of the items I modeled. I used a variety of different geometries. Furthermore, I created and designed all the textures found on my objects. I used Adobe Illustrator, supplied by Colgate, to create a cohesive design language through the game. Many objects, such as the cruiser, use a variety of different textures angles to create a highly angled vehicle. Unfortunately, and even though all the textures were scaled correctly (powers of 2), the texture still slowed down the game too much. I created many individual color palettes for the different textures used. Randomly generating the color of homes and jackets was also a goal of our group, and I implemented the random element in those objects. I also worked extensively on the individual object’s movement system. I incorporated it for all the progress road signs (ie halfway there) and taylor lake. I worked with Hank and Kobe on the logic for probability. Rather than go by game ticks, Hank, Kobe, and I developed a true/false system which allowed for more seamless implementation of probability. I worked with my group in logic and modeling help, yet I found modeling to be my strongest asset. I did extensive play testing with Kobe and Hank to determine the need / frequency of objects.