Right below is the diagram of what a bubble is. I’ll explain each variable.
Voice : well. speak and see how that goes! Like we said before, we’ll use three main parameters for voice input : pitch, volume and duration. Like FX suggested, we could have use crescendos and decrescendos, but we preferred sticking to a more simpler set of rules for the time being.
Influence strength : bubbles will be able to interact with their environment, just like our voice in real life can influence our surroundings. However, this influence has a strength. Per example, to be able to “capture” a certain emitter, you’d have to have a certain strength. Or to the contrary, some emitters could be destroyed if your influence strength is too strong. In a way. this is the “output” parameter of the bubble itself. It is controlled by volume.
Inflence radius : this is the outer circle of the bubble. Sometimes, you want it to be big to have a broader “appeal”. Sometimes, you want it to be smaller, to be “quieter”.
Thickness : this is the actual thickness of the bubble, which is determined by pitch. A lower pitch means a thicker bubble, which is pretty intuitive if you actually make the sound. The thickness is, in a way, the bubble’s input recepient, meaning that it determines how the bubble will react to the environment’s different outputs.
Velocity : this is the speed at which the bubble travels. This applies to when the bubble is dragged as well as when the bubble is flinged. It is pretty intuitive to think that a small, sturdier and thicker bubble will travel at a smaller speed than a more “agile” one.
Stretchability : each bubble can be stretched via tactile input. This will let the player fine-tune the bubble’s pitch and volume if he made a mistake while creating it (up to a certain degree). A thicker bubble is harder to stretch, because its surface tension is stronger.
Burst level : this is a treshold after which a bubble will burst, thus forcing the player to create another one. We could say it is the most punishing aspect of our game. The thicker the bubble is, the harder it is to pop. If the player screams in his iPad, it will also burst.
Size : well…this is the size of the bubble. The longer the player speaks, the bigger the bubble is. However, there is a but…
Maximum size : there is an actual size after which the bubble will burst. This maximum size is determined by the thickness of the bubble. The thicker it is, the harder it is to get it bigger.
Lifespan : each bubble will have a lifespan. With that, we create 1) a challenge for the player 2) a way to manage the quantity of bubbles on-screen at the same time. The bigger the bubble is, the smaller its lifespan will be. This creates a nice balance between having large and useful bubbles and having smaller but more durable bubbles.
Manipulation : each manipulation would result in a small-to-great reduction of the bubble lifespan. By manipulation, we mean either stretch, move or absorption and moving of objects.
OTHERS VARIABLES (these are not on the diagram, but should be taken into account for programming or gameplay purposes)
Created : is the bubble created or not.
Coordinates : the position of the bubble on the screen. The bubble emerge from the avatar’s position
Touched : is the bubble being touched? Is it being dragged? Is it being stretched?
Color / alpha : both of these properties could give new properties that are yet to determined to the bubbles. However, it would be great to be able to play with these variables if we can.
It think it is all we need for early prototyping purposes, but if you think of anything else, don’t hesitate to tell us!
***Note : the actual visual impacts of each of these variables are still not decided. However, we feel that what is the most important right now is to get the bubbles working on a pure gameplay-level. After that, it should be easier to associate each of these properties to a visual cue (if there is a need to do so)***