UE4の勉強記録

UE4の勉強の記録です。個人用です。

「Unreal Engine 4.xを使用してRPGを作成する」の足りない部分を作成する MyCombatEngineの作成4

f:id:kazuhironagai77:20200705204636p:plain

<前文>

保守派の論客について

と言っても日本の話ではなくてアメリカの話です。私はずっと前から思っていたのですが、Fo〇ニュースなどに代表されるアメリカの保守派の言っている事は突き詰めると「聖書に書かれている事を守れ!」に帰結すると。それを踏まえて今回のBLM運動を観ると興味深い考察が出来ましたので、ここに書き残しておきます。

聖書とは何なのかが、平均的な日本人は知らないので、私なりの非常に簡便な解説をすると、聖書は人間と神との契約書です。死後、天国に行きたければ神と契約しろ。と言うわけです。そしてその契約書には現世において守らなければならない事が書かれています。キリスト教徒がこの事を日本人にあんまり言わないのは、日本人を勧誘する時に「法律を守っている上に更に戒律まで守らなければならないのか!そんな事はやってられない。」となるから黙っているんです。

それでアメリカの保守派の話に戻りますが、私が見るに、彼らは彼らの先祖がその聖書に書かれている契約を守ったから、神は自分たちに祝福を下さったと考えています。この場合の祝福とは、世界で最も強く、最も豊かで、最も自由であるアメリカの支配階級の一員でいる事です。なので聖書に書かれている契約を破れば神からの祝福は無くなってしまうと考え「聖書に書かれている事を守れ!」と激高するわけです。

BLM運動でデモしている人に、保守派の人が銃を構えている映像を見たんですが、余りにも銃が場違いな気がしたんです。銃を持ったことが無い人は知らないかもしれませんが、銃に使われている鉄は滅茶苦茶頑丈なんです。鉄パイプ何かとは全然質が違います。弾なんか入っていなくても銃だけで十分凶器になるんです。そこから実弾が発射されるわけですから、デモしている人達が暴動に繋がるかも知れないと思っていたとしても、余りにもオーバーキルな武器なんです。

それで、あくまでその映像が本物である前提ですが、ある仮説を思いつきました。彼らはBLM運動でデモしている人と戦っている訳ではないんだと。何か別な物と戦っているんだと。ここで分かったんです。アメリカの保守派の言っている事の真実が。彼らは「聖書に書かれている事を守れ!」と言っていますが、「聖書に書かれている事を守る!」とも「聖書に書かれている事を守っています!」とも言っていないんです。自分の事は棚上げなんです。白人至上主義者の奥さんがアジア人なのを見て我々日本人は?と成りますが、彼らも同じで自分の事は棚上げなんです。しかしそんな保守派の人もふと我に返る時があるはずです。そしてその時に己の罪と神からの罰に恐れおののくはずで、その結果、取った選択が銃を持つだったんです。あの銃は決して国家と戦うためや自衛のためのモノじゃなかったんです。自分を罰しに来た神を殺すためだったんです。

BLM運動でデモしている人に銃を向けた保守派の人には、BLM運動でデモしている人達が、彼らから権力と富と自由の返却を迫る神の軍隊に見えたんです。だから彼らに銃を向けたんです。

幼女戦記と言うアニメがあって、このアニメで主人公が神に対して銃をぶっ放すシーンがありますが、この主人公はハナッから神を神と認めていません。全知全能ならこんな問題を最初から起こすわけがないと。つまり神を、神と名乗る偽物であると断じて神に対して銃をぶっ放す訳です。更に科学文明に根差した現代を生きる我々にとっては、むしろ神を殺すと言う行為は人間性の真なる自由を得る儀式として必要なものである可能性すらあります。

しかし今回の保守派の銃はネガティブな神殺しで、アメリカの保守派の精神世界ではある程度整合性が取れているかもしれませんが、私には精神を病むタイプの神殺しに思えます。しかもこの考えはアメリカ人の心理を非常に深い所で縛っている気がします。権力と富の返却を迫る神の軍隊に銃を向けたアメリカ人は二度と、元の地位に戻る事は出来ないと自分で自分を縛ってしまうかもしれません。ひょっとするとアメリカは衰退するかもしれませんね。しかも10年や20年ではなく100年とか500年単位の衰退と停滞の始まりかもしれません。

それでは今週の勉強を始めます。

<本文>

今週はカメラを動かします。

1.カメラの移動

このサイトに複数のカメラを配置してそれぞれのカメラから撮影する方法が説明されています。一見便利な方法ですが、カメラの位置をキャラクターに合わせて動かす事が出来ないので今回はこの方法はパスします。ただし戦闘用の別なマップを作成してそこで戦う場合は非常に有効な方法だと思います。近い将来、戦闘用の別なマップを作成する場合はこの方法に切り替えます。

このサイトに複数のカメラを使用するのではなく、一個のカメラの位置をコントロールする方法が書かれていました。これならばキャラクターに付属の一個のカメラの位置を変更するだけで出来そうです。試してみます。

f:id:kazuhironagai77:20200705204732p:plain

これで自分の姿が映るはずです。

試してみます。

f:id:kazuhironagai77:20200705204753p:plain

バッチリ映っています。今度はカメラの位置を元に戻します。

f:id:kazuhironagai77:20200705204818p:plain

先程操作したカメラの逆の操作をカメラに対して行いました。

行列の計算ならばこれで元の値に戻るはずです。試してみましょう。

f:id:kazuhironagai77:20200705204846p:plain

戻りました。

うん。普通に出来ましたね。これを戦闘中に出来るようにします。

EventReportBeginExecuteActionの

f:id:kazuhironagai77:20200705204904p:plain

IsPlayerがTrueの場合に

f:id:kazuhironagai77:20200705204926p:plain

カメラが切り替わるようにします。

f:id:kazuhironagai77:20200705204942p:plain

そしてアニメーションが終了したらカメラの位置を元に戻します。

f:id:kazuhironagai77:20200705204959p:plain

テストします。

f:id:kazuhironagai77:20200705205016p:plain

f:id:kazuhironagai77:20200705205024p:plain

f:id:kazuhironagai77:20200705205032p:plain

折角なんで魔法も試してみます。

f:id:kazuhironagai77:20200705205048p:plain

中々迫力があります。

今週やりたい事は出来てしまいましたね。

うーん。やっぱりゲームエンジンだけあってゲームを作成するに必要な関数は一通り揃っているんですね。先週のアニメーションの追加にしても今週のカメラの位置の移動にしても基本的には一個の関数を呼ぶだけで出来ましたから。

2.UIの改良

余った時間何をしようか考えたんですが、UIを改良します。

f:id:kazuhironagai77:20200705205123p:plain

元々の戦闘時のUIは上記に示したようにする予定でした。

f:id:kazuhironagai77:20200705205144p:plain

現在のUIは予定していたのと比べるとかなり見にくいです。改良します。

f:id:kazuhironagai77:20200705205201p:plain

こんな感じに作り替えました。

f:id:kazuhironagai77:20200705205218p:plain

こんな風に表示されます。

f:id:kazuhironagai77:20200705205235p:plain

f:id:kazuhironagai77:20200705205243p:plain

f:id:kazuhironagai77:20200705205254p:plain

ボタンが後ろのイメージから浮いていますね。それ以外は即席で作成したにしては中々いいデザインだと思います。

f:id:kazuhironagai77:20200705205314p:plain

コメント欄にはずっと前にビジュアルノベルを作成した時に作成した木の模様図(以下に示した)を使用しました。

f:id:kazuhironagai77:20200705205347p:plain

こういう図って著作権あるんでしょうか?単純な模様の繰り返しに著作権が存在するんですかね。この絵、描くのに6時間くらいかかった記憶があります。単純な模様の繰り返しには著作権が存在しないならどっかからコピーしたいですね。

3.これからやる事の整理

ちょっとゴチャゴチャして来たのでこれからしなければならない事を整理します。

3.1 ターン制の戦闘の改良について

これに関しては大体は出来たと考えています。敵のモンスターとそのモンスターの動作を追加する必要があります。

3.2 Ch2で追加した機能について

Ch4_3ではch2に追加した機能はほとんど作っていません。例えば道具の購入や武器の装備です。これも追加する必要があります。

正直どんな機能を追加したのか覚えていません。ブログを見直して見ます。

去年の10月から教科書にない機能を追加し始めていました。

うーん。思えば結構やっていますね。

  • メインメニューの作成
  • セーブ機能の追加
  • マップの追加とワープ機能
  • 道具屋とそのUIの作成
  • モンスターのAIの追加
  • 所持している道具を表すUIの作成
  • 武器屋の作成
  • 所持している武器、防具と装備している武器、防具を表すUIの作成
  • 装備した武器や防具の値がATKなどに反映されるようにする。
  • ワープしても武器や防具が外れないようにする。
  • 装備した武器や防具をキャラが実際持っているようにする
  • 移動のモーションは武器によって変更する。ワープしてもモーションが変わらないようにする。

今年の3月9日までやっていますね。その日から戦闘部分の作成に代わっています。

3.3 教科書に書かれている内容で作成していない部分の追加

Ch4_3では教科書のサンプルの最低限の部分しか作成していないので戦闘のダメージなどが一律10で計算されたりしています。戦闘が終了しても経験値もゴールドも得られません。

教科書を軽く見直して見た所、4章のポーズメニューから先は全くやっていません。全部追加する必要があります。

4. RPGのストーリー制作

今週も時間が余ったのでもう少しだけプログラムをやろうと思ったのですが、やらなければならない事を整理してみると簡単には出来そうもないのと、BLMと保守の論客の議論を通じて新たな思想を得る事が出来たのでRPGのストーリー制作と題して、前文にまとめているような内容をもう少し深く考察してまとめてそれをここに載せる事にしました。

4.1 人種差別とアニメ

ゲーム自体は娯楽ですからやってもやらなくても良いはずです。プログラマーとしてゲーム制作に携わる場合、北米やヨーロッパの発表を見ると平均のサラリーが他のプログラマーと比較してかなり低い結果になっています。マネージャークラスになってやっと同じ位になるらしいです。そのデータに日本のゲーム制作に携わるプログラマーの推定年収も載っていましたが、生きていけないレベルと断定されていました。現状ではビジネスとしてゲームを制作するメリットは全くないわけです。

ではゲームを制作する事自体無駄なのかというと、私は違うと思っています。それは人種差別とアニメの関係がゲームにも言えると思うからです。

どの人種にも良い人もいれば悪い人もいます。人種でその人を判断するのは道義として間違っているだけでなく事実に基づかない考えだから間違っている訳でもあります。しかし実際問題として全く知らない人を判断する場合、その人の見た目しか判断基準がないので人種で判断せざる得なくなってしまいます。所が、これは今のアメリカで実際に起きている事ですが、好きなアニメのキャラのTシャツを着ていると、そのアニメのキャラが好きな人とは、それだけで人種を超えた信頼関係が築けるんです。勿論、アメリカの事ですので、その事に気が付いた狡い奴がそのアニメを見た事もないのに人気のキャラのTシャツを着たりする事例も出て来ていますが。

問題のある白人警官だって自分の好きなアニメのキャラのTシャツを着た黒人は簡単には撃たないですよ。話し合いで解決したいと思うはずです。アニメは人種差別を解決出来でしまうんです。今、アメリカ全体が人種差別の問題で崩壊寸前ですが、日本のアニメはそれを解決出来るんですよ。勿論、全てのアニメにそれだけの力がある訳ではなく、本当に人気のあるごく少数のアニメに限っての話ですが。これは優れたゲームも同じ事が言えると思います。だからこれだけでもゲームを制作する価値はあるんです。

4.2 優れたゲームを制作するには

問題はゲームを制作するのと優れたゲームを制作するのが同じではない事なんです。我々が知りたいのは優れたゲームの作成方法なのに、今あるのはゲームの作成方法だけです。昔、シイタケの栽培は切ったクヌギの木に傷を付けてほったらかすだけだったそうです。そうすると空気中に漂うシイタケの菌がくっついてシイタケが生える場合もあるし生えない時もある。単なるギャンブルです。今は菌糸をクヌギの木に植え付けるので必ず生えるそうです。

このシイタケの栽培方法が改善された例に従えば、優れたゲームの制作方法だって必ずあるはずなんです。

RPGに限って言えば優れたストーリーこそが優れたRPGを作成するはずです。しかし我々はどうすれば優れたストーリーを作成出来るのか知りません。しかし、前文で書いた保守派の論客のようなキャラをゲームに登場させたらストーリーが抜群に面白くなると思ったんです。ここが大事なポイントです。その保守派の論客が理想とする社会をゲーム内に忠実に再現するのではなく、その保守派の論客のようなキャラをゲームに登場させたらストーリーが抜群に面白くなるんです。

良く映画や大作のゲームでポリコレのためにマイノリティーを無理やり重要な役に入れますが、そうじゃなかったんです。面白いストーリーを作成するためには、ポリコレを守れと叫ぶおばちゃんを重要な役に入れる事だったんです。そのポリコレを守れと叫ぶおばちゃんが一緒の船に乗っているLGBTなおっさんが女子トイレを使用する時に、どんな態度を取るのか?これが面白いストーリーの作成に不可欠だったんです。

そう言えば9条絶対主義を実現したような世界観のJRPGをやっているアメリカ人がこんなつまらないゲームは初めてだ。初めてゲームを憎むほど嫌いになった。と言っていたのを思い出しました。そのゲームで悪い帝国軍かなんかが侵略を開始しているのに誰も戦争して止めようとしないシーンがあって、そのアメリカ人は登場人物全員に戦争すべきかどうか聞いて回るんです。そしたら全員が、「戦争反対。」と答えるです。これは平均的なアメリカ人には結構衝撃的な解答なんですが、これがJRPGの洗礼なのか?と衝撃を受けながらもその理由を聞く訳です。きっとアメリカ人には想像もつかないけど納得出来る凄い日本的な哲学が出てくると期待して。そしたら全員が「戦争は悪い事だから。」しか答えない訳です。ポカーンとなったそうです。しかしそのアメリカ人はそういうアホな選択をした人達が悲惨な結果を迎えるかもと、一縷の望みを託して最後までプレイしたそうです。そしたら9条絶対主義を実現したような世界観が現実を曲げに曲げて戦争反対を言った人達は勿論ゲーム内ですが何事もなく幸せに過ごしたそうです。

このゲームだって9条絶対主義を実現したような世界観にしたからつまらなくなったんで、9条絶対主義の左翼のおっさんを登場させたら面白くなったはずです。日本が外国から侵略された時に、このおっさんが人間の盾となって全世界で中継される中で真っ先に犠牲になっても一人だけちゃっかりとアメリカなんかに逃亡しても超絶面白いです。

4.3 ちょとだけアメリカの政治について

BLM運動と保守派の論客との議論でちょっとだけアメリカの思想に詳しくなりました。結構、びっくりしたのですが、保守でも革新でもないアメリカ人でも結構BLM運動に反対している人達がいる事を知りました。最初は革新のふりをした保守なんだろうと思ったのですが、よく話を聞いてみると結構重要な問題がBLM運動にある事が分かりました。今回はちょっとだけその事について記しておきたいです。

保守でも革新でもないアメリカ人でBLM運動に反対している人達の理由を私なりにまとめると、共和党は黒人と敵対しているが民主党は黒人に寄生して私腹を肥やしているので民主党が主体のBLM運動を支持しても貧困層にいる黒人の助けにならない。と言う意見です。データと統計学を駆使して説明していてかなり説得力がありました。特に民主党が歴史的に黒人を助けると称して黒人に寄生して私腹を肥やしているのが丸わかりになるのが面白かったです。

こういう蜀に取り立てられる前の諸葛孔明みたいな人もRPGに登場させたら更に面白いストーリーになると思いました。

5. まとめと感想

今週はこれだけです。来週は教科書に書かれている内容をCh4に追加します。