質問: Androidでオンラインゲームを作りたいのですが、サーバーを使用しないで作ることはできますか? ゲームはとても簡素でトランプのようなものです。
回答: サーバーなしで通信させることをP2Pと呼びます。 P2P通信は想像する以上に大変なプログラミングでして遭遇する苦労を紹介しだすとキリが無いのですが、最大の問題点は「相手を見つけることができない」ことです。サーバーがあってそこがホスト名を持っているなら、ゲーム端末はみんなそのサーバーにつなぎに行けば通信できます。サーバーがなくてゲーム端末しかないなら、どうやって世界中に存在する他のゲーム端末を見つけます? 昔流行ったP2Pのファイル共有ソフト(GnutellaだとかShare、Winnyなんか)も、最初の通信相手を見つけるために掲示板でお互いのIPアドレスを交換するなどしていました。最初の通信相手とつながったらあとは端末同士が自分の知っている他の端末のIPアドレスを教えあってどんどん接続先が入手できていくんですけど。 とまあ、はじめの一歩がとにかく大変なわけです。 家庭内のLANでだけ対戦できるようにするだけならわりと簡単で、UDPブロードキャストで相手を探せます。