Monthly Archives: December 2013

New iPhone Game Mix It Up!

Download Mix It Up! Here :!/id774218971?ls=1&mt=8

Mix It Up! is a unique liquid physics based iOS puzzle game. Players cut wood blocks, which releases colored liquid through an obstacle course of wind, rocks, odd shaped walls and elevator shafts. Most levels have multiple solutions. The game uses realistic liquid physics and advanced mixing effects.

Update: short gameplay video, not a trailer : 

Mix It Up! Should be released on December 12 (if all goes well). This game is different from other liquid based games because it uses cutting physics as its main game mechanic.

Players slice blocks of wood to mix the colored water to get it into the right pond. By slicing these blocks, players are able to maneuver the colored water into its container. Failing to mix the water into the correct water means no points are gained. The level is won by mixing the correct color of water into the corresponding pond. The player can earn up to three stars by filling the ponds with more water than needed.

This game is different from other games as it combines slicing physics with fluid physics and mixing. The biggest problem this game brought was getting the fluid to collide nicely with the blocks and to keep it running fast. It took a while to finally figure out how I wanted to use the liquid physics I created but I was finally able to come up with an original, interactive and fun game.

If you have any comments or question please feel free to ask, I would love to answer them.



Mix It Up! Tech Post

So I started working on this game in February of 2013. It started out as a simple liquid demo but became more when I thought of the things I could do with it. Anyway, the game uses Smoothed Particle Hydrodynamics for the water and it stores the particles in a grid for optimization. The cell size of the grid is equal to the smoothing length in the SPH equations. This grid is purely for optimization. I attempted to use the accelerate framework provided by Apple but that provided no performance boost for me.

I used box2d for the physics engine. The particle body interaction is handled in one step each frame. The collision is handled by performing a circle sweep against the body from the particle’s previous position to its current position. The particle is then moved to the position where it collided along its path. It’s velocity is then adjusted due to the collision.

The mixing is done by looping through each particle and it’s neighboring particles. The colors of the particles are then calculated by averaging its color with the neighboring particle colors and adjusting the mix rate by calculating how fast the particles are going relative to each other.