ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

2024年5月の Unreal Engine マーケットプレイス無料コンテンツ

https://www.unrealengine.com/ja/blog/featured-free-unreal-engine-marketplace-content-may-2024
gamemakers.jp
Unreal Engine の今月のマーケットプレイス無料コンテンツが更新されていた。
東京をイメージしたアセットは文字がAIで生成された変な文字みたいで気になってしまう。

デリバー アス マーズ

www.deliverusmars.com
デリバー アス ザ ムーンの続編のアクションアドベンチャーゲーム
前作では宇宙飛行士が一人で問題解決に奮闘するというものだったが、今回は仲間と行動し、人間ドラマのシーンが増えている。
ただ、人間のモデリングやアニメーションがいまいちだったり、キャラクターの言動に納得できなかったりして、あまり魅力を感じられなかった。
キャラクターのアクションも操作しにくかったり判定がよく分からなかったりとストレスが溜まることが多かった。
前作をけっこう楽しめたので期待していたのだが、悪くはないけど前作を超えられない感じ。もう少し作り込んでブラッシュアップされていたらなぁと思う。

アサシンクリードヴァルハラ

ubisoft.co.jp
アサシンクリードヴァルハラをプレイしてクリア。
クリアしたのは本編のみ。とはいってもかなりのボリューム。
主人公は男女どちらも選択でき、しかもボイスもちゃんと収録されている。
無料アップデートでストーリーも追加されているし、メインのワールド以外にも複数のワールドがあるし、
さらに登場人物も大勢。武器や装備も種類が豊富だし、スキルもすべて覚えきれないほどの数。
アセットの量は膨大でどう管理しているのか気になってしまうほど。
次のシリーズはミラージュ。どうやらヴァルハラにも出てきた重要人物が主人公のようだ。これは気になる。
もちろん、プレイするつもりだが、とりあえずは、他のプレイ中のゲームをクリアしてから。

障害物

やっとステージ上の障害物を1つ描画することが出来た。
本来ならゲームをだんだん難しくするために障害物の大きさや個数などをプレイ時間に応じて変化させたいところだが、とりあえずそこまでは考えずに、まずは描画から。
ただまだプレイヤーとの当たり判定が入っていないし、さらにこれを複数出しても問題ないようにするのも実装しなくては。

乱数

JavaScriptで乱数を扱うには、Math.random() を使う。
これは 0以上1未満の値を返す。
min から max までの整数が欲しければ、小数点以下切り捨ての関数(正確には与えられた数値以下の最大の整数を返す)Math.floor() を使って、

Math.floor( Math.random() * (max+1-min)) + min;

となる。
と書いたところで、JavaScriptの場合、シード値ってどうなるのかなと調べてみたら、指定できないらしい。
ゲームプログラミングの場合、バグのチェックで乱数を再現することがあるので、別で乱数生成器を用意したほうが良さそうだ。

複数の位置情報ゲーム

www.4gamer.net
複数の位置情報ゲームをプレイしてみたという記事。
たしかに位置情報ゲームを複数プレイするのはけっこう大変。
実際自分も今はほぼIngressドラクエウォークだけプレイしている。ポケモンGOやモンハンNowは立ち止まってプレイしなくてはいけないのでやらなくなった。
基本的にドラクエウォークのウォークモードで歩きながら経験値稼ぎをし、目的地に到達したら、ストーリーやバトルを開始。
そのときに、Ingressを起動して周辺のPortalをHackするという感じでプレイしている。
まあ、わざわざプレイしなくても良いのだけど、運動するためのモチベーションというのが一番の目的かな。

コードの品質

automaton-media.com
news.denfaminicogamer.jp
コードが汚くてもゲームが完成してちゃんと動けば良いという話。
元Unityの大前氏とReturn of the Obra Dinnのルーカス氏の対談の中でも似たようなことを話している。
たしかにいくら綺麗でも動かないコードよりも汚くても動くコードのほうが大事。
綺麗にコードを書こうとしてなかなか完成しないよりも、とにかく動くものを作ってブラッシュアップしていくほうが重要。
とはいえ、あまりに汚く乱雑に書いてしまうと、自分のコードでも後から見直して分からなくなってしまうことがあるから、適当で良いというわけではない。
トリッキーではなく、泥臭くても分かりやすいコードにすることは意識するようにしたい。