Lume.使用方法、感想等(講義レポート)

162 Views

October 02, 23

スライド概要

情報システム開発演習で制作したネットワーク対戦型3DFPSゲーム「Lume.」に関する講義レポート。

profile-image

和歌山大学システム工学部システム工学科メディアデザインメジャー3回生(25卒)です。 ゲームやWebアプリの開発、各種デザインを行っております。

関連スライド

各ページのテキスト
1.

情報システム開発演習 演習レポート 所属:システム工学部メディアデザインメジャー 学生番号:60266047 氏名:大倉千波 提出日:2023 年 2 月 9 日 1. ソフトの名前 ソフトの名前:Lume. 読み方:ルーメ 由来:イタリア語で「灯り」を意味する単語。 2. 実行画面のキャプチャ ①名前と IP アドレスの入力 ソフトを起動すると、名前を入力するポップアップと IP アドレスを入力するポップア ップが順に開く。講義で行ったオセロと同様である。 図 1 名前入力画面 図 2 IP アドレス入力画面 ②メイン画面 実際にプレイヤーキャラクターを操作して対戦が出来る画面。先に相手に 5 回銃撃を当 てた方が勝利となる。勝敗が決まると結果が画面に表示され、操作が出来なくなる仕様と なっている。 図 3 プレイヤー①視点のゲーム画面

2.

図 4 プレイヤー②視点のゲーム画面 図 5 勝敗表示の画面 3. プログラムの機能一覧表 ①プレイヤーの操作 ・WASD キー または矢印キーでプレイヤーの移動が出来る。 ・QE キーで視点の回転が出来る。 ・スペースキーでジャンプが出来る。 ・FPS 視点のカメラになっている。カメラは自動追従である(むしろ移動位置はカメラを 主体として判定している)。 ・マウスの左クリックまたはエンターキー(もしくはリターンキー)で射撃および灯りの 設置が出来る。灯りはプレイヤーが射撃したときのプレイヤーカメラの座標の位置に設 置される。 ・プレイヤーが操作するキャラクターやフィールドは自作しており、フィールドには透明 の壁を設置しているため、エリア外に落下してしまう危険性をなくなっている。 ②オンライン機能 ・リアルタイムでお互いのプレイヤーの座標が共有され、それぞれの画面で相手キャラク ターが相手の操作に従って移動するようになっている。 ・なお、通信が双方接続されるまではプレイヤーの移動可能範囲外に相手のキャラクター オブジェクトが配置されているため、プレイヤーがそろうまでに一方のプレイヤーが他 方を射撃して勝敗が決まるということは起こらないようにしている。 ・お互いの現在の得点についても共有され、確認できるようになっている。

3.

・どちらかが合計 5 点獲得した時点で先に 5 点獲得した方の勝ち(同時の場合は引き分け) となっており、勝敗決定後は結果が変わらないように操作が出来なくなる。 ③射撃 ・キーまたはマウス操作で相手に対して射撃をすることが出来る。 ・レイキャストを利用した判定となっており、射撃方向はカメラの前方、当たり判定は最 初にレイに衝突したものとなっている。相手のキャラクターオブジェクトに衝突すると 自身に一点入り、逆に相手に当てられると相手に 1 点入る。 ・射撃時には自身が射撃した位置にライトが設置され、周囲が明るくなる。ライトの設置 位置はプレイヤーカメラの位置を基準としている。ライトの設置に関してはソフトが重 くなるため共有されない。 ・射撃時の発射方向については画面上に「+」を置き、示している。 ・プレイヤー自身もそれぞれライトを持っているため、若干ではあるが相手の捜索がしや すくなっている。プレイヤーに設置されたライトは自動でプレイヤーに追従する。 ④音源再生 ・常に BGM が流れる仕様となっている。 ・SE については自身が射撃を行った際に再生される。 4. アピールポイント ・3D モデル(フィールド及びプレイヤーキャラクター)を自作し、外部のライブラリも 取り入れて 3D のオンライン対戦型 FPS ゲームを制作した。 ・音源とフォント以外の素材はすべて自分で用意した。 ・jMonkeyEngine や LWJGL など複数のライブラリを試し、限られた時間内でよりクオリ ティを上げられるように努めた。 ・通信部分以外はオセロのコードは活用せず、リファレンスなどを参照しながら自力でコ ーディングした。 ・初期の光源をプレイヤーキャラクターにのみセットし、フィールド上にプレイヤー自身 が光源を設置していくことで、独自のシステムらしさを出すと同時に徐々にプレイヤー 自身の手で世界の雰囲気を作り上げることが出来るようにした。 ・音源やフィールド、キャラクター、ライティングにより、不思議さのあるおしゃれな雰 囲気を演出した。 ・マウスカーソルを非表示にすることでゲームの妨げにならないようにした。 ・VBScript による実行ファイルを用意し、コマンドプロンプトを非表示にした状態でダブ ルクリックのみでゲームを起動できるようにした。

4.

5. 演習の感想 今回の演習では、無謀だとは思いながらも 3D ゲームを作成し始め、気になる部分はや 追加したい機能などは残っているものの何とか完成にこじつけることが出来たことが第一 として非常に嬉しい。Java でのゲーム制作経験はなく初めてのことばかりで、リファレン スを読んだり、リファレンスのままの方法ではバグが発生する部分やリファレンスにない 内容については自分で考えたり調べたりして試行錯誤を重ねたことで、プログラミング力 が以前に比べ身についたと思う。特殊な形式のモデルやテクスチャでないと読み込めな い、ソースコード自体は正しいはずがバージョン問題によりエラーが発生するなど、コー ディングの面やそれ以外についても大量のエラーや問題に直面したため、それらの対処の ためにかなりしんどい思いはしたものの、その分プログラミングへの自身にもつながった と感じた。 6. 特筆すべきこと ①コンパイルと実行の確認作業に際して コンパイルと実行を確認する際は、PC 上の Java 実行環境を整えた上で「コンパイルと 実行用」フォルダ内にあるバッチファイルをダブルクリックするとスムーズに行うことが 出来る。「compileClient.bat」でクライアント側、「compileServer.bat」でサーバ側のファ イルをコンパイルすることが出来る。実行する際はコンパイルを済ませた上で「runServe r.bat」でサーバを立ち上げてから「runClient.bat」を実行し、IP アドレス入力画面で使用 するサーバの IP アドレスを入力することでゲームを開始することが出来る。 なお、バッチファイルを利用すると、「runServer.bat」以外のファイルについてはコマン ドプロンプトの黒画面は表示しない仕様になっている。runServer.bat に関してのみサーバ を閉じる際に講義内で制作したオセロと同様の操作が必要になるため表示する仕様になっ ている。もし全てプロンプトの表示が必要である場合は、各バッチファイルの 1 行目を削 除すると表示することが出来る。 ②ビルド済みファイルについて 遊ぶだけの場合は、「ビルド済み」フォルダ内にビルド済みのものを用意してあるた め、こちらを利用するとよい。ただし、Java の実行環境が整っていない場合は起動できな いため、環境変数設定なども含めて Java の実行環境を整えた上で実行する必要がある。 「GAME\bin\ゲーム起動.vbs」が基本的なゲーム実行ファイルである。このファイルを ダブルクリックするとゲームを起動できる。ただし、サーバがない場合はエラーが発生す るため、事前に「Server\runServer.bat」でサーバを立ち上げておくか、別の接続したいサ ーバを起動しておかなければならない。

5.

「GAME\bin\ゲーム起動.vbs」でうまく起動できない場合は、同ディレクトリ内の「G AME.bat」が本来のビルドファイルのためこちらからでも実行することが出来る。 また、「入力行が長すぎる」というエラーでソフトを起動できないことがある。その場 合は「GAME」フォルダをまとめてデスクトップや C ドライブ直下に移動させるとよい。 ③ゲーム自体について ・ゲーム中にマウスカーソルが非表示になるが、仕様であり不具合ではない。 ・勝敗決定後にゲームの操作が出来なくなるが、勝敗の結果を分かりやすくし変更できな いようにするための仕様であり、不具合ではない。Esc キー(画面タッチできる PC で あればゲーム画面外をタッチしてマウスカーソルを表示し×ボタンを押してもよい)に よりゲームを終了することが出来る。ゲーム終了後に再度「ゲーム起動.vbs」をダブル クリックするとまた遊ぶことが出来る。 ・対戦相手の認識がうまくできないバグの原因となるため、同一サーバに接続するのは常 に対戦する 1 ペア(2 人)のみにすること。同時に 3 人が同一サーバに入ると勝敗判定が おかしくなってしまう。なお、対戦を終えたペア 2 人が完全にゲームを閉じた後であれ ば、次のペアが同一のサーバで対戦することはできる。また、別のサーバであれば被る ことがないため問題ない。あくまでも 1 つのサーバに対して接続するのは対戦するプレ イヤー2 人のみとし、その 2 人が接続を切断してから次のプレイヤー2 人が接続するよ うにするものとする。 ・あまりに多くの射撃をしすぎるとライティングの都合により PC の性能によっては処理 が重くなることがあるため、注意が必要である。 ④動作確認について 本ソフトは Java 実行環境を整えた Windows10、Windows11 にて通信を含めた動作確認 を行い、2023 年 2 月 9 日時点で正常に動作することを確認済みである。 7. お借りした素材について 今回の制作において、以下のサイトより素材をお借りした。また、素材に対し、利用規 約を遵守したうえでファイル形式の変換を行った。 <お借りした素材> ・フリーBGM DOVA-SYNDROME (音源名:宵露洞窟 ・効果音ラボ https://dova-s.jp/ 制作者:かずち 様) https://soundeffect-lab.info/ (使用音源:鈴を鳴らす) ・ノスタルドット(M+) https://logotype.jp/nosutaru-dot.html