コンテストはjava/cでコーディングしてAIやゲームプレイを設計する必要があります。ゲームにはビジュアルシミュレーションが必要なので、プレイヤーはグラフィックやデザイン(AIやゲームプレイ)を楽しむことができます。Java/CでのAIデザインのシミュレーション
可能な例は、競技者が選手のAIを設計し、チームプレーを決定する必要があるサッカーである可能性があります。また、他のプレイヤーとの試合でネットワーク上で遊ぶ。
どうすればいいですか?
コンテストはjava/cでコーディングしてAIやゲームプレイを設計する必要があります。ゲームにはビジュアルシミュレーションが必要なので、プレイヤーはグラフィックやデザイン(AIやゲームプレイ)を楽しむことができます。Java/CでのAIデザインのシミュレーション
可能な例は、競技者が選手のAIを設計し、チームプレーを決定する必要があるサッカーである可能性があります。また、他のプレイヤーとの試合でネットワーク上で遊ぶ。
どうすればいいですか?
さて、クライアントにはプロトコル、サーバー、理想的にはヘルパーライブラリが必要です。
あなたのネットワークインターフェイスはまたはProtobufです。どちらの言語でも、クロス言語のデータを無料でエンコードできます。サーバーコードとクライアントコードの両方のスタブを取得してください。私はprotobufにあまり慣れていないが、私はあなたがそれから似たものを得ると信じている。
サーバーは、権限のあるゲーム状態を格納し、ゲームを調整し、誰もがルールに従っていることを保証する、実行するものです。また、サーバー上にHTML5視覚化レイヤーを作成することもできます。あるいは、ゲームの状態をループで把握して表示するノンプレイヤークライアントを作成することもできます。
サポートされているすべての言語で実際のAIがないスタブアウトされたクライアントをクロスプラットフォームで提供したい場合もありますビルド手順。サーバーに接続し、ゲームの状態を照会し、単純なアクションを実行する方法を知っています。そうすれば、参加者はネットワークコードを心配する必要がなくなり、AIの内容に集中することができます。
最後に、何らかの種類の提出システムまたはログインシステムが必要になります。あなたはソースコードの提出を受けて、自分自身でAIをビルドして実行することができます(CPUとメモリの使用を制御することができます)。これには、これらの提出物を処理して構築するための独自のツールを構築し、利用可能なライブラリの種類、ファイルの数と送信可能なサイズなどを決定する必要があります。コード。また、ルール適用のゲームサーバーを公開して、クライアントに提出したことを伝える方法を提供することもできます。これにより、プレイヤーは異常な解決策を試したり、独自のライブラリを使って仕事を終えたりすることができ、実装が簡単になりますが、多くのCPUとメモリを持つ競合他社にソリューションを提供する利点があります。
同様の競争力のあるシミュレーションプログラミングパズルのFacebookのテイクについては、Dino Islandをご覧ください。
JavaHispano JavaCupコンテストを確認してください。それはほぼ正確にあなたが求めるものですが、残念ながらそれはスペイン語です、あなたはGoogleと翻訳しようとするかもしれません。
これらは、人々が戦略を構築するためのフレームワークを提供します。その後、構築された戦略は他の開発戦略と競合します。 Strategy development tutorial
NetBeans Project with the framework
私は人々が彼らの戦略をコードする必要があることを忘れて、開発者のコンテストです。 – jhurtado
最も一般的なケースは、シンプルなネットワークソケットベースのインターフェイスを提供することです。それはAIに必要な知識を与え、AIが実行する行動を受け入れるべきです。シリアライズとデシリアライズが容易な形式を使用してください(XMLなどは避けてください)。消費されたCPUや経過時間にタイミング制約がある場合は、これを何らかの方法でプロトコルに組み込むか、モニタプログラムにプロセスを計測させる必要があります。
このテストの終了時には、参加者の半分がSony PS3 FIFA 2011をコーディングすることに気付かないのですか? :) – Osw