「バックエンド」エンジンを分離します (ボードの状態を追跡し、フロントエンドから移動命令を受け取り、戦闘を解決するための乱数を生成し、フロントエンドに更新を送信し、特定のゲームの保存と復元を処理します...)基本的にこれらすべてのユーザーインターフェイスを提供する「フロントエンド」のものから。
PyGame はクライアント側のフロントエンドに適したテクノロジの 1 つですが、複数のフロントエンドを実装することもできます (PyGame のフロントエンド、ブラウザ ベースのフロントエンド、デバッグ用のテキスト ベースのフロントエンドなど)。もちろん、バックエンドは PyGame やその他の UI テクノロジをあまり気にしません。Python は、ほとんどのフロントエンド (ブラウザ、Flash などのフロントエンドを作成する場合に Javascript、Actionscript などを使用する必要があるものを除く) で問題なく、3 つのバックエンドでも間違いなく問題ありません。
バックエンドとフロントエンドを別々のプロセスとして実行し、可能な限り簡単に通信します-ターンベースのゲーム(これはそうだと思います)、XML-RPC、またはさらに単純なバリアント(JSONペイロードが戻ってHTTP POST を介して送信し、それらに応答するなど) が最適と思われます。
私はバックエンドから始めます (おそらくペイロードに JSON を使用します) -dirt デバッグ コマンドライン クライアント。各ステップで、サーバー側(バックエンド)またはクライアント側(フロントエンド)のいずれかを慎重に強化し、大きすぎるまたは同時の「ステップ」を回避します。私は、「重い」テクノロジーも、背後で魔法のようなことを行う大きなフレームワークも使用しません (ORM、Django、SOAP などは使用しません)。
適切なソース コード リポジトリを使用していることを確認してください (1 人で行うことがわかっている場合は hg や svn など、既に知っている場合は bazaar や git など)。