Building Lunch Siege: spin, wind and falling chefs
Lunch Siege started as a simple question: what if a siege game felt like a street food rivalry instead of a castle war?

A swipe becomes a throw
The game runs on a 2D physics engine. Every block, plank and chef on a truck is a physical body with its own weight and bounce. When you swipe, the length of the swipe sets the speed of the throw and the direction sets the angle. That is all the game needs to launch the food.
Why spin bends the shot
The fun part is spin. A curved swipe gives the food spin, and spinning food gets a small sideways push while it flies, the same effect that makes a football curl. A topspin throw dips; a backspin throw floats. Each food reacts differently: pizza spins the hardest, melons hardly at all.
Wind every turn
A new wind is rolled every turn and shown at the top of the screen. It is gentle enough to read, strong enough that you cannot throw the same shot twice. Most of the skill in the game is matching power and spin to the wind.
Damage and falling chefs
Every collision is checked for how hard it hit. Hard hits damage blocks and chefs; enough damage breaks a block. Often the best shot does not touch a chef at all: it knocks out the block underneath and lets gravity do the rest.
Playing with a friend
For online matches we did not want a heavy game server simulating physics. Instead, the player whose turn it is runs the physics on their own device and streams compact frames to the other player through a small relay. The relay only pairs two players by a six-digit code and passes messages along. At the end of each turn the full state is sent again so both screens always agree.