2020 ソフトウェア設計及び演習用の班Wiki

20::gr03::発表

プロジェクト名

Prison Break

プロジェクト説明

  • 脱出型パズルゲーム
  • 主人公を動かして仲間を救い出し、ゴールへ向かう。(仲間を回収しないとゴールできない)
  • 主人公は特殊能力を持っており、いくつかのブロックを動かすことができる。

スタート画面

スタート画面.PNG

ストーリー画面

story.png

コース選択画面

course.png

プレイ画面

プレイ画面.PNG

メニュー画面

menu.png

個々人の感想

渡邉拓真

私はコース選択画面とプレイ画面のステージ3を担当した。コース選択画面の製作自体は一つ変数を割り当てて、その変数の値によってシーンの切り替えを変更してやるだけだったので容易であった。プレイ画面のステージ3も他の班員のおかげでプログラムのひな型があらかじめあったので容易に製作することができた。
しかし、それぞれの画面のデザインが中間発表までの製作でずっと満足していなかった。ユーザーがより興味を持ってプレイしてくれるのかを考えたときにやはりデザインがカッコよくなくては試してみようとも思ってくれないと感じた。中間発表以降、デザインを他のプレイ画面とギャップが生まれないようにしつつ改善を試みた。正直満足とまではいかなかったが、全体的なデザインとしてはかなり良くなったと感じている。今後は画像の編集ソフト等を使いこなし、理想のものを製作できるようなスキルを身に着けていきたい。
また、今回私は班長として班の活動の進行を主に任されていた。チームでソフトを製作するのは想定していたより困難であった。活動をしていく中でどうしても授業時間外での時間を個人で儲けてもらうのは必須であったし、何より今年は例年とは違いリモートワークでの活動になったため情報の伝達がかなり困難であった。その中でスケジュール通り活動を進め、皆がイメージに合ったものを製作できたので良かったと感じている。

神一輝

私はメニュー画面を担当しました。最初はjavascriptやenchant.jsについての知識がなく、どうしていいか分かりませんでしたが、他の班員達の支えもあり、なんとか形にすることが出来ました。中でも最も苦労したのが、メニュー画面は他のシーンに重ねて表示させ、前のシーンを残して独立で操作できなければいけないので、前のシーンの文字とメニュー画面の文字が重なってしまったり、メニュー画面が切り替わらずに前のシーンの画面が真っ黒になったりなど、目的とは異なる動きをしてしまうことが一番苦労した点でした。問題点が分からずに長い時間問題箇所を探したり悩んだりしましたが、こうして成功させられたことで全て今後の糧になればいいと思いました。さらにストーリー性の込んだゲームになると、セーブ機能がついていたり、獲得したアイテムを表示させたりなど、今回作成したメニュー画面よりもさらに難しい機能も必要になってくると思うので、今回学んだ基礎知識を活用して、今後はさらに難しいプログラム作成に尽力していきたいです。
今回はコロナウイルスの影響で、初めの頃は遠隔での活動をしていて、意思の疎通に苦労しましたが、こうしてゲームを完成することが出来て、とても嬉しいです。初めて扱う言語でのプログラミングは大変でしたが、一つ成功する毎に達成感も感じることができ、今後のプログラミングへのモチベーションを上げることが出来る良きポイントだったと思います。今回の班活動で複数人で行う規模の大きいプログラムについて学び、プログラミングの知識が少しずつ身に付いてきたので、今後もさらに成長していけるように頑張りたいです。

若月大生

今回ソフトウェア演習を行うにあたり、JavaScriptとenchant.jsを組み合わせて作ることを事前に知り、どちらも触ったことがなかったので、実習の前にゲームを作って練習することにしました。コロナの影響で時間はたくさんあったので、アクションゲームを1つ作ることができました。しかし、完成したものの初めてだったということもあり、かなり長く、見づらく、効率の悪いソースコードになってしまいました。そこでどうしたら効率良く、コードが書けるのか調べたところクラスというとても便利な機能があることを知り、実習の時は、クラスを上手く使って書いていこうと思いました。

[プログラムについて]
私が主に作成にしたプログラムは、ステージを効率良く作成するためのクラスです。ゲームにオブジェクトを配置するとき、1つ1つのオブジェクトに動きを記述していくとかなり長くなるため、引数だけ渡すだけで任意のオブジェクトを作成できるようにしました。 そうすれば、他の班員でも簡単にステージが作成できるので効率が良いと思いました。プログラムを作る際大変だったのが、当たり判定と、壁の動きです。当たり判定は、ぶつかった際に位置をずらさないようにしてあげるのですが、fps中に動く幅が、判定対象の幅を超えるとすり抜けてしまいます。キャラクターの場合、すり抜ける値を超えないようにすれば良いのですが、マウスで動かす壁の場合、遅すぎると操作がしづらくなるため、調整と操作性の工夫に苦労しました。また、クラス中に当たり判定の記述をするため対象をグローバル変数の配列に格納することにしました。このやり方は、ステージを作る度に配列に当たり判定の対象を格納しなければならないため、効率が悪い気がしましたが、特に良いやり方が思いつかなかったので、妥協しました。他のゲーム制作者はどのように記述しているのか気になりました。クラスの記述は大変でしたが、トライ&エラーで2日程度で終わりました。そのおかげで、ステージの作成はとてもスムーズになりました。
構想段階で工夫した点として、画像読み込みが多い事が予想されたので、読み込むページをまとめました。また、各自画面サイズなどの設定が、バラけているとバグの原因になると思ったので、最初に統一しました。
各自がシーンを作り、統合用のスクリプトでまとめるというやり方を最初からイメージできていたので、統合はスムーズにできて良かったです。
タイトルロゴがダサかったので作り直しました。タイトルがダサいと第一印象が悪くなるので良くないと思いました。

[苦労した点]
自分1人でゲームを作ったことはありましたが、複数人で1つのソフトウェアを作る経験がなかったので、連携して作る難しさを痛感しました。全員のモチベーション維持や、それぞれが何を作るか把握することが重要だと感じました。また、プロトタイプの時点で かなり完成してしまっていたので、そこからモチベーションが低下してしまいました。1人で作る場合、勝手に遊び感覚でアップデートしていけば良いのですが、複数人で作る場合、情報共有など、めんどくさい点がいくつかあるので、だらけてしまいました。 モチベーションの大切さが良く分かりました。
ゲームオーバー画面とステージクリア画面まで、作り込ませられませんでした。ゲームの印象が悪くなってしまうため、作るこむべきだったと反省しています。

日影浩也

自分はストーリー画面を担当した。自分がとある海外ドラマを見た事があるという理由でストーリー画面をつくることになったのだがあんまり良い内容が浮かばなかった。ゲーム全体のクオリティを上げるためにもプレイして最後までクリアしたときにより達成感があるようなストーリーを描きたかったのだが簡単なものでは無かった。
最初はenchant.jsをどのように扱って良いか分からなかったので画像を表示させるのも一苦労だった、手探りで進めていき試行錯誤していくにつれて、また対面で班活動を行い分からないところを話し合ったりするにつれて扱い方が分かってきてやれることが増えていった、一人でずっと悩むよりも班活動を行い分からないところを補い合うほうが明らかに理解するスピードが速かった、独学で学ぶということの難しさが今回で改めて分かった。
今回つくった作品は自分が普段遊んでいるPS4のゲームなどに比べると極めて規模は小さくモジュール分けの数、制作する人数も違うが規模が大きくなればなるほど統合や完成するイメージの共有などが難しくなることが分かった。ゲーム会社でゲームを作る人のすごさ、ゲーム作りの難しさを感じた。
今回の活動で自分はまだまだプログラムを作成する能力が足りないということ、そしてものづくりの大変さがわかった。一つのアイデアで簡単なプログラムで面白い作品を作ることもできるし、その逆もあるだろう。またデザインの工夫で荒削りな作品のクオリティが著しく高まる。今回の講義で得た経験はあらゆる作品づくりで生かすことができるので自分で何か作品を作ってスキルを磨いていきたい。

加藤俊哉

自分はスタート画面とステージ4を担当した。スタート画面はゲームの最初の画面なのでゲームの雰囲気とタイトルを伝えられるようにした。BGMを入れたり、テキストを暗いものにしたりすると、PrizonBreakの暗い雰囲気が一気に出たので、やはりゲームにはBGMや引き込めるような画面が大切だと感じた。
最初はコマンドが分からずテキストや画像を表示させるのも大変だったが、メンバーがいろいろ教えてくれたのでなんとか良いスタート画面ができたと思う。
ステージ4は大生君がブロックやプレイヤーオブジェクトなどは作ってくれていたのでブロックの配置や、刑務官の速さなどを設定した。難しく作ってくれとのことだったので、割と考えないとできないように刑務官の速さをプレイヤーと同じにしたり、刑務官を増やしたりして、難しくした。
工夫したところは、統合するときに苦労すると言われていたので、それぞれがシーンを作って移動させるということを最初から考えて作った。そのため、統合がスムーズにできて良かった。
今回のプロジェクトで最初は本当にゲームができるのかと不安だったが、割としっかりしたゲームができたので良かった。反省点はコロナのせいで、あんまり集合してやることがなかったので、モチベーションを上げるのが大変だった。そのためビデオを見て終了という週があり、もうちょっとクオリティ上げられたのかなと感じた。スタート画面を動くのにしてみたかったが、技術が足りなかったので,次にゲームを作る機会があったらもっとクオリティの上がった作品を作りたい。
今回、大人数でのプログラム作成を通して一通りの流れというのが理解できたので、今後ももっと成長していきたい。


最終更新日:2020/08/07 14:07:54