【制作実習】Node.jsでゲームサーバーを構築する。その6

やっとサーバー側の実装が完了した。

上図は、ステートレスかつ、経路がクライアントからサーバーへの一方通行のネットワークで、ターンベースのカードバトルを実装した場合の状態遷移図だ。

もっとスマートな方法があるかもしれないが、いちおうこれで動いたので、今回の検証モデルはこれで行こうと思う。

一応、1人でも遊べるように、サーバー側で常時接続しているNPCも実装した。

ただし、NPCにAIは搭載していないので、ランダムにカードを選んでくる。

ゲームサーバー側のAPI(REST風)は以下のとおり。

//ステータスチェック
"http://<HOST>:<PORT>/checkStatus"

//コメント送信
"http://<HOST>:<PORT>/sendComment"

//メンバ一覧
"http://<HOST>:<PORT>/findMemberList"

//対戦要求
"http://<HOST>:<PORT>/challenge"

//カードを引く
"http://<HOST>:<PORT>/drawCard"

//カードを選択する
"http://<HOST>:<PORT>/selectCard"

//相手のリアクションを待機する
"http://<HOST>:<PORT>/waitReaction"

//ターン結果要求
"http://<HOST>:<PORT>/resultTurn"

//ゲーム終了
"http://<HOST>:<PORT>/closeGame"

Node.jsでの開発はIDEが無い分、タイプミスが多かったり、デバッグが面倒だったりする。

しかし、それを補うように、コマンドラインモードで、モジュール単位で動かすことが出来る。

ちょうどJSファイル単位で単体テストをするような感じだ。

残るはクライアント側のバトル実装のみとなった。

明日は休みだー!

4年前

コメントを残す

メールアドレスが公開されることはありません。