CMPM 179 BLOG

ENDLESS SKIER

6/12/17

This is the final version of the infinite skier that my team worked on for the last assignment. The team is made up of myself (Kevin Výlet), Kellie Knight, and Joseph Quin Rogers. The player straps themselves into a pair of sandals, each of which contains a piezo sensor. Based on how they lean side to side, they can move their character across the screen to avoid obstacles. A second player uses the keyboard to spawn additional obstacles for the skiier to avoid.

Players attempt to ski for as long as possible, by avoiding the obstacles that come towards them from the top of the screen. Skiing earns the player points, while hitting an obstacle loses them the game. If the player survives for long enough, the game increases in speed and number of obstacles, eventually becoming impossible to survive. Our original idea stemmed from our senior project Hypoxia, an alt-ctrl VR game in which the sound players make affects the game, by lighting up plants and attracting the game's monster. We wanted to add a way for player's footsteps to make noise in the game, as they currently didn't. So we came up with the concept of pressure detecting shoes, that would enable footstep detection. This was then adapted into a more achievable (and fun) project involving a simple game. The physical interaction of leaning from side to side on the shoes reminded us of how it feels to ski, and thus we adapted our game into a take on SkiFree.

The first prototype controllers.

Our original version was very simple, and involved simply moving a circle left and right across the screen as squares come down at you from above. However, this prototype proved that our concept was fun to play, so we moved forward with the idea. As we added graphics, score, variable speed, and a second player, the game became more and more enjoyable, confirming to use that we were on the right track.

I made the sandals and programmed a lot of the game, Kellie made all of the game's assets and soldered our new sensors, and Quin programmed everything else.



INFINITE SKIER

6/1/17
  • Gameplay screenshot
  • Playing the game

This is a continuation of the infinite skier that my team worked on for the last assignment. The team is made up of myself (Kevin Výlet), Kellie Knight, and Joseph Quin Rogers. The player straps themselves into a pair of sandals, each of which contains a piezo sensor. Based on how they lean side to side, they can move their character across the screen to avoid obstacles.

Players attempt to ski for as long as possible, by avoiding the obstacles that come towards them from the top of the screen. Skiing earns the player points, while hitting an obstacle loses them the game. If the player survives for long enough, the game increases in speed and number of obstacles, eventually becoming impossible to survive. This version was rewritten almost entirely from scratch to accomodate our new sensors and artwork. The new sensors didn't break this time, but were still pretty finicky, causing some issues with controlling the game. The score was also improved, and feels a lot more rewarding.

I remade the sensor shoes with our new sensors, and programmed the new assets in. Kellie made all of the game's art assets, and Quin did more programming.



INFINITE SKIER

5/16/17
  • Infinite skiier sketch
  • The sandals before modification
  • Marking off where the velcro straps need to wrap around
  • The final product, hooked up to the Arduino

This project is an "infinite skiier" created by myself (Kevin Výlet), Kellie Knight, and Joseph Quin Rogers. The game is similar to SkiFree, where the player moves left and right to avoid obstacles coming at them as they ski down a slope. Our version makes use of custom shoes that allow you to control the player character by leaning from side to side as you would while actually skiing.

The player can move left or right along the bottom of the screen by leaning on their respective leg. Square obstacles spawn at the top of the screen and move down towards the player, who must dodge them by moving. Hitting one of the squares kills the player and ends the game, while dodging them earns the player points. They must try to stay alive for as long as possible as the game increases in speed over time.

Our original idea stemmed from our senior project Hypoxia, an alt-ctrl VR game in which the sound players make affects the game, by lighting up plants and attracting the game's monster. We wanted to add a way for player's footsteps to make noise in the game, as they currently didn't. So we came up with the concept of pressure detecting shoes, that would enable footstep detection. This was then adapted into a more achievable (and fun) project involving a simple game. The original idea here was a literal infinite runner, where the player would run in place to survive. As we tested this concept out, however, we found that the piezo electric disks we were using did not work well with the rapid high pressure impacts of running in place. Leaning from side to side proved a much better use of the sensors, so we changed the game to better suit this new control scheme.

I built the impact / pressure sensing shoes that strap to the player's feet, Kellie worked out the inital implementation of our sensors, while Joseph set up the framework of the game in Processing.



BRAINSTORMING ASSIGNMENT 2

5/1/17
INFINITE JUMPER
Arduino Infinite Runner
The gameplay of this idea is similar to that of the mobile game Doodle Jump. Players jump from platform to platform as they fall from the sky. Bouncing off of a platform consumes it, and propels the player upwards. If they fail to land on a platform before falling off the bottom of the screen, the player loses.

The game's components are very cohesive with gameplay, as a potentiometer allows a balance of both fast and fine-grained movement for the player, and the dot matrix display provides a high enough resolution to create diverse outcomes.

TOWER DEFENSE
Arduino Infinite Runner
This game is a lo-fi tower defense game, with only one lane. Players use a potentiometer to select positions along the lane. They can then press a button to spend money to buy a tower at that position. Enemies move along the lane, and are fired upon by towers within range. The player's goal is to prevent the enemies from reaching the lane's end.

Three lines of LEDs represent enemy positions, tower positions, and cursor position. Additional LEDs indicate the player's money and lives. This interface replicates the skeleton of a tower-defense game, while still providing players with maximum agency.



ARDUINO INFINITE RUNNER

4/20/17
Arduino Infinite Runner
This is an infinite runner prototype that I built on an Arduino Uno. It uses LEDs to denote obstacle and player positions. Players must jump over obstacles as they approach, when they succeed, their score is recorded and the game's speed increases.

Players can use the button to interface with the game. The game begins in an "Attract Mode" state that flashes all of the LEDs on and off. Holding the button for a short while will switch the player to the main game loop. In the game, the blue lights represent the player, while the red and yellow ones are obstacles. Obstacles will appear from the right, and slowly move left towards the player. The player must jump over the obstacle when it is in the left-most red LED, otherwise they hit it and lose. Successfully jumping over the obstacle increases score and speeds up the game. Losing will print the player's score to serial and return to attract mode, ready for the next round.

The Arduino reads in button input on digital pin 13. When the pin reads HIGH, the player is set to jumping for a certain amount of time before being returned to the ground. While jumping the top blue LED is switched on to indicate the change of state. The yellow and red LEDs (in pins 4-10) trigger one at a time, and move linearly, representing a physical object moving towards the player.

I felt that LEDs were a good balance of being easy to implement as well as being both responsive and appealing to players. By only using a single button, I reduced the game complexity for both players and myself.