Blob

Game Design Document: Blob

The game and its source file can also be found here

 

Level 1.
Level 2.

 

 

 

 

 

Overall Vision

Summary

Red color variation.

This game centers around a walking paint blob that can change pigments after picking up drops of differently colored paint. There are simple puzzles that rely on the character cycling through these colors, as well as platforming and minor scavenger hunt elements. There are also a variety of enemies to contend with, which can be defeated by shooting them with paint bubbles.

Genre

Blob functions as a very simple, cute puzzle-platformer.

Target audience

Blue color variation.

This game is well suited to young kids, and would likely be rated E for everyone. All that is needed to play is a mouse and keyboard, and the ability to tell certain colors apart. Unfortunately, there are some forms of colorblindness that would make the game more difficult to play in its current state.

 

Mechanics

Character Goals

Yellow color variation.

The main objective of the game is to collect the colored key that corresponds with a locked door, which will complete the current level and transport the player to the next, after being unlocked. The secondary, but equally important goal is to survive any encounters with the enemies, and avoid falling into water. The paint will dissolve in water, after all!

Character is able to press the button once they are the same color as it.

Abilities

The character is able to move left and right, as well as jump and double-jump. Additionally, the player is able to climb up and down any ladders. All of these movements are controlled by using the arrow keys. The player can also shoot paint bubbles by clicking with the left mouse button anywhere on the screen. After collecting new colors of paint drops, the player can cycle through alternate paint colors in order to change their body color by scrolling with the middle mouse wheel, allowing them to interact with buttons of the same color. Lastly, you can collect items and interact with puzzle elements by running into them. Interactables include locks, buttons, and doors.

Obstacles

Yellow key hidden at the top of a tree.

The character must navigate through a variety of obstacles in order to find the key that unlocks the next door, all while avoiding or defeating various animals and ghouls that would harm them. There are colored wall blocks that cannot be passed through until the player finds the correctly colored key and interacts with the corresponding lock, as well as buttons that can only be pressed while the character is the same color as the button. A variety of rewards, keys, and paint drops can be obtained by pressing buttons, and some buttons don’t appear until locks have been successfully unlocked. There are minor visual obstacles as well, with the player participating in a scavenger hunt in order to find keys hidden throughout the second level. Finally, the player must avoid falling into water.

Items

The player is able to collect keys, paint drops, hearts, and coins. Hearts add health back to the character, which can be tracked in the upper left with the heart gauge, and coins add to your total score, which can be found in the upper right. Coins are bronze, silver, and gold, with bronze being the least valuable, and gold being worth the most. All of these items can be either found throughout the world, or from unlocking locks or pressing buttons. Coins are an extremely common drop from buttons, and generally scale up in value as the levels progress. Hearts are less common, but appear most near the end of a level. Keys and paint drops are evenly distributed for the player to find in the world and through pressing buttons.

Resources

Players must manage their total health in order to prevent a Game Over, the heart gauge ticking up or down depending on heath regenerated or damage taken. The player starts with five hearts, and heath can be taken away in half-heart intervals or greater. Red, blue, green, and yellow keys and paint drops must be collected in order to complete puzzles, all of which can be tracked at the top of the screen. Whichever paint color is currently active will be shown clearly, while inactive paint drops will be greyed out.

 

Dynamics

Instructions displayed at start of first level.

User Interaction

Players control the game with a mouse and keyboard. Arrow keys allow the player to move around, jump, double jump, and climb and descend ladders. Left mouse button shoots paint bubbles, and scrolling with the middle mouse wheel cycles through character paint colors once they have been collected. When the player begins the first level, movement and shooting controls display above the character’s head, allowing the player to test them out and move forward immediately. Instructions for managing paint color are displayed next to where the player collects their first paint drop.

Instruction after player collects first paint drop.

Proficiency

Players need not have a great amount of skill to complete the game. A basic amount of dexterity and hand-eye coordination are needed to navigate platforms and avoid enemies while players search the levels for potentially hidden items.

 

Game-play Data

Health, total coin value, keys, and paint drops can all be tracked at the top of the screen. Health is indicated by five hearts at the top left, which empty as health depletes. The total value of the coins players collect is displayed at the top left next to the coin icon. Any keys or paint drops collected can be found between these two, in the upper middle of the screen. All keys and paint drops that have yet to be collected are indicated by a white, blank outline, which fill with the collected item after it has been picked up.

Controlling the game

The game starts at the title screen, where the player can left click the blue play button to proceed to the first level. From there, the player is controlled with arrow keys and a mouse. Once the game is completed or lost, the player may restart the game by refreshing the page.

Game Won end screen.
Game Lost end screen.

 

 

 

 

 

Aesthetics

Overall

Blob is a simple, cute game with bubbly, cartoon-like elements.

Game Art

Transition effect

Blob uses bright and vivid 2D graphics, with a combination of smooth and stop-motion-esque movement animations. The title, game complete, and game over screens all display animated bubble text, and a white-background closing circle effect transitions from one level to the next.

Sound

A cheerful and bubbly song titled “Caketown,” provided by Matthew Pablo, plays in the background of this lighthearted game. Hovering over the “play” button produces a ‘tick’ sound, and ‘clicks’ when it is pressed. Paint bubbles make a ‘popping’ sound, while enemies ‘crunch’ upon defeat. Collectables ‘clink’ once picked up, and buttons produce a satisfying two part punch-in noise when pressed. Short downward or uplifting tunes play upon losing or winning the game.

Plot

Blob follows the adventures of an animated, walking paint blob that is searching the world for color over the course of a year. Currently, the game follows our friend through spring/summer and autumn, with a partially constructed winter level not yet playable.

Emotional State

The purpose of the game is to create a happy, positive, pleasant experience that puts the player into a cheerful state of mind, avoiding any truly difficult elements and working more towards easy satisfaction.

Fun

Players may enjoy bright and enjoyable art and music with satisfying sound effects, while collecting ever increasing values of rewards, and solving simple puzzles through exploration and discovery.

 

Credits

Unless otherwise specified, all assets used in this project are licensed under a Creative Commons Zero 1.0 Universal License (CC0 1.0), and are in the public domain. I found all of my visual and audio assets through itch.io, OpenGameArt, and Kenney, which are excellent resources for finding free or name-your-own-price game assets. I’d like to thank everyone whose hard work made this project possible!

Art

The animations for the player paint blob character, as well as the trees, water animation, and backgrounds, were all originally taken from Bayat Games’ Platform Game Assets, with minor editing on my end in Adobe Illustrator. I recolored the character animation frames in order to make blue, green and yellow versions, and somewhat fixed a visual glitch in the water animation. Bayat Games is a game development studio that hosts some of their assets on itch.io, and the pack was released under a Creative Commons Attribution 4.0 International License (CC BY 4.0). The play button that displays on the Title Screen was provided by Hamaza Trabelsi, who elected to use an open source alternative to Adobe Photoshop and Illustrator called Inkscape, so that developers could use and edit their UI assets for free. I personally made the colored, animated bubble text that can be seen on the title and end screens, as well as the tutorial text and images that appear in the first level. All of my other visual assets came from Kenney, a game design and audio studio based in the Netherlands, which provides all of their high quality assets on their website for free. I found a consolidated pack of all the elements I wanted to use on their OpenGameArt profile.

Music and Sound Effects

The metallic sound effects that I used for when the player picks up coins and other collectables were provided by Jan Schupke (Vehicle), whose personal page, with contact information and links to their other projects, can be found here. The crunching sound effects that play when an enemy dies were made by TokyoGeisha, and the popping noise for shooting paint bubbles was provided by Arral (wubitog), both of whom have small collections of sound effects on OpenGameArt. TokyoGeisha also makes pixel art, and Arral creates top-down game art of spaceships. The sounds for pressing and activating the colored buttons throughout the levels, hovering over the play button on the title screen, scrolling though character color variations, and clicking the play button were all found here, and were made by OwlishMedia. OwlishMedia is run by a talented 3D artist and animator named Ashe Kirk, who has been working on a solo game project named Olive Branch since 2015. The short tunes that play when the player wins or loses were created by wobbleboxx, a German web developer who creates and publishes music in their downtime, as well as posts occasional videos to YouTube. You can find all of their other work on their website.

Last but certainly not least, I’d like to give a special thank you to Matthew Pablo, who produces absolutely incredible music and shares it whenever he can for free with the community! Matthew is a freelance composer, sound designer, and audio producer for television, film, and video games, with much of his work being featured by IGN, Apple, and Touch-Arcade. If you ever get the opportunity, I would highly recommend you check out some of his amazing music, or take a look at his website in general! I fell in love with his work while looking for background music, and am definitely saving his information for future reference!! The specific piece that I used for this game’s background music is called Caketown, which Matthew wrote and produced for a cute cake decorating game on iPhone. His music is distributed under a Creative Commons Attribution-ShareAlike 3.0 Unported Liscence (CC BY-SA 3.0).

Once again, I’d like to give a huge thank you to all of these wonderful artists! This project could not have been made without their hard work and generosity!

 

Reflection

The entire process took a considerable amount of time, which I expected,  though I severely underestimated how much time would be eaten up by debugging and troubleshooting. I remember reading from one of our articles that debugging and fine-tuning takes about a third of the time to produce a game, so I probably should have expected it! I had a lot of issues throughout the process, most of which I was able to fix, with only a few minor things still unresolved. As there were so many, I’ll just focus on the major ones here. One of the biggest problems I had was with music and sound effects, though the solution was one of the most frustratingly simple to solve. As a test, I had implemented music about halfway through the project, and for whatever reason one song would work, but another would not. Also, from the very beginning, trying to do anything in the event sheet with sound effects would crash the page, or cause the game to fail to run. Near the end of the project when I tried putting music back in, none of the music would work, even though I had left, and was using, the exact same code from the first test which had worked. Oddly enough, the solution was to simply change which browser I was working in. Taking a suggestion from Harrison, I transitioned from Firefox to Chrome, and every issue I ever had with audio disappeared. I also made sure to pay extra attention to the type of music file at that point, making sound effects .wav and music .ogg, as was suggested in chapter five of “Game Development with Construct 2” by Lee Stemkoski and Evan Leider. I had trouble with UI elements drifting as the character moved around, which was fixed by setting the parallax to zero, as well as graphical glitches with the water animation that I went in and fixed in Adobe Illustrator (though, unfortunately, a frame jump still remains). With how I coded to allow a character to climb up and down staircases, platforms would temporarily turn off their Solid behavior for the character to pass through, and reactive once they no longer overlapped with it. This worked very smoothly, but when a character would go off the side of a ladder mid platform they would get stuck. This was a quick fix with invisible boundary boxes that stayed solid while climbing and fit snugly in the platforms on either side of the ladder, allowing the player enough space to move around comfortably, but keeping them from going too far and leaving the ladder early part-way through a platform. I also edited the original character animations to have three extra color variations, which, apart from being a cool learning experience, also taught me just how time intensive implementing character customization could be! So I’ll definitely want to be judicious about how I work that in to projects in the future! The files I was working with were .png files, so I converted them to path-based images in Illustrator that I could use with the smart paint bucket tool by using Image Trace under the Object tab, selecting Make, then choosing the appropriate option in the Presets drop-down (in my case, 6 Colors), and finally clicking Expand. Another unexplained issue I had was with displaying instructions. When clicking buttons for instructions or credits on the title screen, only one button would click, though neither would display. This was particularly odd, as I wasn’t using anything fancy or new with the effect. It was simply meant to make a specific info screen sprite become visible once clicked, and return to being invisible after it was clicked again. I much prefer my work-around with permanently displaying controls in place on the first level, as that had actually been my original intention, but I’m still none the wiser for why there was a problem to begin with. Other persisting issues include incomplete transitions, flashing on contact with enemies no longer triggering after character color variations were added, and the inability to make the game properly restart and refresh at the press of a button.

For Construct 3, I still feel as though I have only scratched the surface of what it can do, as well as for considering what I may eventually like to be able to do with it, so it’s hard to pick what I’d most want to learn going forward. Honestly, I’d like to get a basis in everything Construct 3 has to offer. Issues I still want to resolve would be figuring out how to successfully produce two-part transitions, so that objects can have separate fade in and fade out events, and for page transitions to run the second half. Ultimately, I think it’d continue to be best to have more practical experience, especially with open-ended prompts that allow us to explore whatever game concepts come to mind, or at least with a wide variety of projects. It’s partially for this reason that I’m so excited to begin working on our final project. I’m essentially going to be trying to implement a huge swath of my favorite game mechanics and qualities, most particularly crafting, skill trees, and story integration. If I can fit everything in, it will serve as a cohesive demo of a relaxing crafting game that is specifically tailored to my interests. Outside of that, I’d eventually love to explore resource management and strategy based games. The sky’s the limit, really, and I can’t wait to start experimenting!

Leave a Reply

avatar
  Subscribe  
Notify of