2016-04-02 10 views
0

私は非常に単純な二プレイヤーターンベースのマルチプレイヤーゲームを作成したいと思います。ゲームの仕組みは、ロックペーパー・ハサミタイプのゲームとして最もよく説明されています。試合開始時に、プレイヤーは自分の機器を選択し、その後試合が始まります。 1つは攻撃し、もう1つは防御し、両サイドを切り替えると、そのうちの1つがHPを使い果たすまで続きます。プレイヤーがターン制限内で自分の行動を選択しなかった場合、サーバーは彼のためにランダムな動きを行い、プレイヤーが何らかの理由で切断した場合、彼はそのゲームにのみ再参加できなければなりません。エンジン

私はクライアントサーバーアーキテクチャを使用します。私はランダムなマッチメイキングの仕組みが必要になりますが、友人と一緒に遊ぶという選択肢は、すでにエンジンに実装されていれば始動にはOKです。オンライン統計はある時点で実施されなければならない。

私は、多かれ少なかれ、オブジェクトパスカル(デルファイ、ラザロを)知っているが、絶対的にゼロのものでネットワーキング関連の、およびこれらのプラットフォームは、サーバーのために絶対に不十分なようです。クライアントのために耐えることができますが、依然としてたくさんのことが望まれます。私はサーバーのためのnode.jsを推奨し、それを少し遊んで、途中でいくつかのJavaScriptを学んだが、それは複雑すぎるようだ。全体として、私はプログラミングに関しては即興をするのがひどく、誰かのよく書かれた例だけで複雑な概念を学ぶことができます。グラフィックスやGUIデザインは問題ありません。

上記の要件と背景を考慮して、控えめで、合理的な時間枠で私のアイデアを実装するために、ゲームエンジン/ IDEをお勧めします。

+0

など、機能もゲームのハイスコアを保存する問題を解決するための復元&を保存TNetworkCommand私はObject Pascalののファンです、私はその偉大な言語だと思います。誰がJavaScriptを推奨するのかは正しかった。このタイプのゲームは、JavaScriptとPHPのビットで簡単に作成できます。これは2人のゲームですか?私はプレイヤーが交代したJavascript/phpで3Dチック・タック・トー・ゲームを作った。プレイヤーがコミュニケーションをとるために、ネットワーク上を行き来する簡単なコミュニケーション方法を実装しなければならなかった。この方法に興味がある場合は、JavaScriptコードを投稿してお手伝いすることができます。 –

+0

ありがとうございました!それは2人用ゲームです。私は間違いなく興味があります。コードの例を投稿してください、それは非常に感謝されます! – NCI

答えて

0

JavaScriptが分かっているかわかりません。

しかし、単純なゲームを書く方法を知っていて、JavaScriptに慣れているのであれば、
とJavaScriptで複数のプレーヤーを処理する方法が必要です。 次に、ネットワーク部分について書いた小さなコードを使用できます。

をネットワークを介して複数のプレイヤーとゲームを作るには:
OKを開始できます。 JavaScript + phpで非常に簡単です。

基本的にはあなたが必要がある最初の事は、プレイヤーとネットワークを介して通信するための簡単な方法です。

私は人々に自分のコードを使用させることで簡単にします。 3dtic tac toe(www.dominicanvoice.com/caps3d)のHTML5リメイクのためのコードを書く必要がありました。 私は書かなければならなかったコードを再利用することができます。

私は、2つのオブジェクトTNetworkCommand、およびTFindPlayersを書きました。
TNetworkCommandは、基本的なネットワーク通信を設定します。
そしてTFindPlayers、あなたがで遊ぶことができるように、ネットワーク上の他のプレイヤーを見つけることTNetworkCommunicationを使用してコードのビルドのビットがあります。そして、あなたがこのようなネットワーク接続を確立することができます

<script src="http://www.dominicanvoice.com/js/communication.php"></script> 

var comm = new TNetworkCommand('game_name'); // setup a communication with the network 

、あなたはそれをこれを行う他のプレイヤーを見つけるために、それを含め、JavaScriptのゲームでコードを使用する

way:

var player = new TFindPlayers(comm,60); // find a player to play with. 

あなたはお互いにやりとりし、お互いにコマンドを送信します。

comm.send(player.player,"MY MOVE","{down:'7',up:'3'}"); 

とコマンドデータ使用ポーリングを受信するために、この方法:受信

command = comm.receive(); 

データはJSON形式です。

====================================
オブジェクトTNetworkCommand

function TNetworkCommand(App) { // App is an unique game name 
    function send(user,command,data); // send, send data to a specific user 
    function broadcast(command,data); // broadcast, sends data to all the users 
    function receive(); // receive, gets data sent to you from other users 
    function save(variable,value); // saves, saves data in a variable to be shared by all 
    function restore(variable,value); // restore, gets the value of the data saved in variable 
} 

==================================
オブジェクトTFindPlayers

function TFindPlayers(comm,timeOut) { // comm = the establish connection, timeout = tie to spend looking for a player. 
    var player;      // player = 'COMPUTER', if no player was found, or it returns an unique string, identifying the other player. 
} 

===============

あなたが探していたものかどうか不明ですエンジンではなく、
JavaScriptを使用してインターネット経由で他のプレイヤーと通信する方法の単なるソリューションです。
はまた、「sが