The server will need to handle calculations like players bounding, velocity, acceleration and simple gravity.
I think elixir/erlang would be able to calculate that. But something more involved would require using a NIF probably.
I would model each player as a process (maybe a gen_statem) that would keep all information about itself (its position, current velocity and acceleration, life-cycle status). Gravity could probably be expressed as some callback functions acting on these processes’ states called after each process action.
I think it’ll mostly be simple arithmetics, so erlang should do fine.
btw, I think the miniclips’ ios app for agar.io used erlang on the backend, but c++ for the original browser version. Don’t remember how I learned this, but after a little bit of googling I found these “proofs”:






















