Tsum Tsum App is a pretty interesting game and I am wondering how the main play area's data structure is, erm, structured?

Characters are stacked, disappear as the player swipes over matching ones, causing the ones above to fall down and replace them.

Tsum Tsum screenshot Tsum Tsum ⓒ Disney, via games.disney.com

Initially, it seems that it is a 2D hex grid? But I see a lot of physics going on (Tsum Tsum bounce and roll off of each other). In fact, it seems that even as you try to connect them that the chain can be interrupted while the Tsum Tsum are falling away from its closest neighbor. Also, if you connect enough Tsum Tsum, a power-up bubble appears in the chain, which pushes the Tsum Tsum out of the way. So I'm doubting that this hex grid is constantly updating with the position of the Tsum Tsum given that the Tsum Tsum rarely stops moving.


1 Answer 1


Examining this gameplay video, it looks like a physics engine, not a hex grid.

At the beginning, 0:11 :

start of a game of Tsum Tsum

There is no obvious grid. The lines are uneven and there's even a gap left in the top center as pieces settle.

To me, the results look typical of an iterative physics solver. For example, note how everything "rises" slightly after settling, when the engine corrects placement of things that ended up slightly overlapping. See also the green eye ball center second row from bottom, which gets erroneously pushed into intersecting with the one below, but which the engine slowly retreats back out. None of this would happen with a grid. I'd guess it's Box2D with small iteration constants, low restitution, and high damping.

I think what you're seeing as a "hex grid" is simply A2 lattice circle packing, the most efficient packing that uniformly-sized circles affected by gravity tend to fall into. In fact, I think the bottom surface of the play area is lightly curved to prevent the circles from always falling into that packing.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .