上下左右がつながっている二次元の座標で、複数の点の重心を求めるにはどうすればいいでしょうか?

http://www.dotup.org/uploda/www.dotup.org4852808.png
黒、赤、茶、緑、というプレイヤーがいて、全てが敵同士とします。開始地点は全てランダムです。
黒、赤、茶は近くで交戦中、緑が画面端左下から右上へと向かわせたいのですが、
こういう場合はどういうふうに処理すればいいでしょうか。
また、どんな概念を勉強すればいいでしょうか。
(極端に離れたキャラが居ると全体が引っ張られる恐れがありますが、そこは何らかの重み付けなどで解決しようと思っています)

最終的にはこれを3次元でやりたいと思っています。
(現状のイメージとしては、ドラゴンボールの海王星での戦闘です。直径数10mでオンライン、逃げ回りつつ対戦できれば面白いかな?と
http://blog-imgs-61.fc2.com/d/o/r/doragonbollmatome/p23.jpg )

フィールドの広さ、人数等まだ全然決まってないのですが、
漠然とこんな感じで作りたいと思っています。
頑張りますので何卒アイデアを教えて下さい。

また、valueserverでレンタルサーバーを借りてみたのですが、
cronというものが1時間に1回、3分が限度なのですが、
これはオンラインゲームには全く向いてないのでしょうか。
ご存知でしたらオンラインゲーム向けのサーバー・技術なども教えていただけるとありがたいです。よろしくお願いします。