ひよこバトル1.1.0更新しました
題名の通りです。なぜか徹夜しました
肝心のゲームはこちらでござい。
天井のスキマ!ひよこバトル | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
更新内容
ゲームの修正
unityroomに記載の更新内容を流用していきまっす。
メニュー画面の追加
メニュー画面を追加しました。経緯は以下の記事にざっくりと書いているので割愛。
以前はオプションからオンラインたいせんのチェックをオンオフ切替させていましたが、1画面噛ませて選択式に変更しました。某ピンクの玉のゲームで見たことあるような形の扉を足したので、新たに上キーで選択する操作が追加されています。
あと、ここの画面にきた時点でPhotonのロビーに入室まで進めており、現在オンラインになっている人(メニューより奥にいる人)・オンラインたいせんの対戦待ち・オンラインたいせん中の人数をこんな感じで取得・表示しています。
// オンライン人数 int count = PhotonNetwork.countOfPlayers; // 対戦待ち人数 int waiting = 0; // 対戦中人数 int battling = 0; // Photonのルーム一覧を取得 var rooms = PhotonNetwork.GetRoomList (); foreach (var room in rooms) { if (room.IsOpen) { // ルームが開いている=対戦待ち waiting += room.PlayerCount; } else { // ルームが閉じている=対戦中 battling += room.PlayerCount; } } if (PhotonNetwork.connected) { // 出力 GUILayout.Label ("オンライン:" + count, style); GUILayout.Label ("募集中:" + waiting, style); GUILayout.Label ("対戦中:" + battling, style); }
Photon通信が完了していない、または通信できていないときはこのようになります。バツ印がついているときは入れません。
オンラインたいせんの修正
ラウンドが進むにつれて、天井がずれるわ1回のプレスでライフが2個減るやつがいるわそのせいで先に勝敗ついちゃう人がいるわで酷かったので、同期周りを見直しました。
また、対戦中に誰かが切断すると、その人が操作していたひよこが消えていたのですが、そちらも修正しました。
そちらを直した過程で、1Pが切断した際に進行不能になっていたのも(おそらく)直りました。ただし、もともと1Pをマスタークライアント(ゲーム進行のホスト)にしている仕様であるため、マスタークライアントの接続が切れる→マスタークライアントを切替えるまでの間が少し固まります。
上の選択肢がデフォルトでFixed(GameObjectのコントロール権を引き継ぎしない)になっているので、Takeover(コントロール権を自動で引き継ぐ)に変更した後、ルームに入室する前に以下の設定を入れてやればいけました。
※PhotonViewを使っている前提です。
// ルームに入っているときは変更できない! if(! PhotonNetwork.inRoom) { // trueの時、退室時に自身がコントロールしているGameObjectを破棄する PhotonNetwork.autoCleanUpPlayerObjects = false; }
ゲームパッド対応
ゲームパッドでも遊べるようにしました。
ただ、どうやらゲームパッドやWindowsかMacの違いで対応キーが全然違うとの記事を見かけたので、環境によってはまともに動作しないかもです。
なので、(4ボタンパッドの)右側に想定するボタンを全部ジャンプボタンにしました!なーに考えてんだこいつ
今後操作を追加するまでには対策考えます。
オプション画面も含めて基本的には全画面ゲームパッドでの操作が可能になったはずですが、唯一「結果をつぶやく」ボタンに関してはマウスクリックオンリーです。というかつけたはいいものの正直いらんよねこれ
ゲームフォント変更
美咲フォントだと特にタイトルのようなでか文字の時にドットが目立ちすぎてたので、PixelMplusに変更しました。同じくフリーフォントです。
キャプチャ更新
今回の更新でgifアニメとキャプチャを更新しました。
キャプチャは毎回画面の表示物が変わるたびに取り直しています。めんどくさい
わちゃわちゃ感を出したかったけど、逆にごちゃごちゃしてる気がしないでもない…。
4人のプレイヤープレートの色がカラー(人間が操作)だけど、決して録画時にグレーにする処理をコメントアウトしてるわけではないぞ!
アセット追加
あと、今回の更新に合わせてアセットを3つ追加しました。
ちなみにこれらはすべてunityroomで行われていた アセットバウチャープレゼントキャンペーン(現在は終了済)でもらったバウチャーで購入しました。お買い得!
Editor Console Pro
ソースを開かなくてもログ周辺の記述が分かる優れもの!タブ出した状態でコンパイル走ると若干遅くなる気がするのでそこだけは避けねば。
Asset Hunter
主にアセットに入っているデモ用のシーンとか掃除しました。そこまで容量自体は変わらなかったけどスッキリしました。
Panic Button
無限ループをはじめとしたソースのハマリでEditorがフリーズした時にコマンド入力で無理矢理抜けることでフリーズを回避するものらしいです。
ただ触ってて一番助けて欲しかった「Photon通信中にブレークポイントを通過する際にEditorがフリーズ」した時は反応しなかったのでそこは残念。でもまぁ無限ループがないわけでもないので残しておきます。
次何するか
来週参加予定(枠取れれば、かつ仕事が休日なければ)のイベントのために仕込みたいものがあるんです…。
間に合うかどうかはわかんないというか仕事始まったら多分時間取れないから実質今週末までにできないと無理っすね!
以上です。