In this post I'm going to dive right into the mechanics of Stretchy Dash, my upcoming mobile runner game. I'm going to keep these introductory posts concise to give you a quick-and-dirty idea of how the game works.
Stretchy Dash is based on a few core concepts: Stretching, Obstacles, Pickups, and Lane Bonuses.
Let's start with the core mechanic of Stretching. On top of switching lanes left and right, which comes standard in most runners, you can stretch yourself both "forward" (making you skinny and long) or "backward" (making you wide and flat).
Stretching will allow you to interact with various situations in different ways. Want to fit between two wide obstacles without hitting them? Stretch skinny! Want to grab two pickups at once that happen to be in different lanes? Stretch wide! The rest of the game's systems have been designed with this base concept in mind, making stretching and movement decisions more interesting.
Stretching "wide" to grab two pickups at once.
Stretching "skinny" to squeeze between two obstacles.
It was incredibly important to me to get the feel of stretching right. In the original prototype, you could hold down the stretch controls as long as you wanted, providing you had enough energy. This worked fine on a keyboard using the arrow keys. However, this type of input turned out to be very awkward on a touch screen. Swiping and then holding felt pretty unnatural, and caused your finger to cover important parts of the screen for an extended period of time.
To solve this, I ended up using a swipe input to start the stretch, and then simply end the stretch after a few moments by returning to the default ball shape. This felt great and also made stretch controls consistent with movement controls (in that they both used a simple swipe). As a result, the final product will have a simple four-directional control scheme that gives you a surprising number of options while playing.
In the next few posts I'll be describing how the rest of the game's mechanics support the core stretch mechanic.
Thanks for reading!