Bad Guys: Conference Project — Red Run

Untitled1

Untitled

Perhaps the most difficult part of finalizing our conference game was trying to figure out how to port the game from the desktop to the tablet. Although we had come up with a fairly simply and attractive interface on our desktop version, we had a major hurdle to overcome on the tablet — the user would not have a keyboard. Instead, they would only have one ‘key’, which corresponds to the mouse on the desktop version. We ended up implementing a ‘clickbox’ for the player to tap each time they want Red Riding Hood to attack the Rabid Squirrel. We originally put it in the upper left hand corner, and floated the idea of turning it into a moon or some other celestial object. However, when we actually tested the design, it looked horrendously clunky on top of having granny’s cottage on the screen. So we merged the clickbox with the end goal — granny’s house. We still struggle with the fact that it doesn’t necessarily logically flow. But in the end, it is perhaps the most elegant solution we could achieve.

In designing our code, we primarily use our classes as a way to load, size, and sort the images into arrays that would handle the character’s animation cycles. All of the actual ‘action’ takes place in the main function. Since animating the characters is such an involved process, it made sense to use the classes to deal with the most difficult aspects of putting our characters on screen, so we could trust that when we wanted them to perform a particular action, we wouldn’t have to also worry about properly coordinating their walk cycles & etc.

-Amy York

chart

The narrative story within our game focuses on the familiar knowledge of the Little Red Riding Hood fairy tale. We use Red as the player’s character with the objective of getting her basket of magic buns to Granny’s cottage in the woods. The challenge is to prevent the squirrels from stealing the magic buns on your way to Granny’s by spraying them with a water bottle.

Conceptualizing the game was quite a different experience compared to creating it. We created a Red, Squirrel, and Squirrel_Bad class to be able to switch through animations. Many of the ideas we initially came up with to add variation to the experience to the squirrel behavior did not make it into the final version due to the ability of coding and animating it within the time constraint. Visualization became a key factor in creating the game to chart out different animations for the characters on paper as well as charting exact points of collision to better understand what needed to be adjusted.

-Destiny Colon

wolf

The progress of Reds Run created an interesting challenge. Twisting the classic tell of Red Riding Hood, we made the adversary a creature of the forrest. Our narrative had more layers than we had time and skill for which sadly reduced our gameplay to arriving at Granny’s house without getting jumped by squirrels. Although this was one method of gameplay designing the code was difficult. It became messy when our art assets needed to be animated as sprites which required a class of it’s own, but wasn’t compatible with the amount of interaction required of it through the several collisions tested against it. Some of the code had to be designed at the expense of more functional features.

Untitled

Easing in Red changed, the manner in which the easing interacted with the squirrel, and how the assets were called into draw() affected the way collision was detected. It made it very hard to manage and later affected the evolutions of our bad guy.  Initially the way the assets were being drawn should have been taken care of through a variable for the current animation of the squirrel. I was under the impression that the code in the classes of the characters would’ve interacted appropriately with collision after taking the bun, but after the job was passed down the variable was not performing the way it was meant to. It should have redrawn the next animation called from the squirrel class, but instead a new class had to be made in order to display the next evolution.

Another issue that became a necessary evil because of the code already invested, was Red’s attack. In order to repel the squirrel one had to hold down the “click box” until the squirrel was far enough for the player to feel safe. I attempted to fix this by using return() in order to break out of the approach() function, but it was also affected by the code I wrote for determining how far Red would have to be in the screen for approach to take action. This variable was made a static point on the X-axis meaning after Red walked past it Red would always trigger the squirrel’s approach.

forrest prototype

– Jessica Sanchez

Author: Destiny Colon