投稿記事

2023年 11月の記事 (4)

上顎 2023/11/25 18:00

ロボット少女は夢を見る - 制作記その39- ダメージ計算

ロボット少女は夢を見る の39回目の記事はダメージ計算についてです。

戦闘のあるゲームとダメージ計算は切っても切れません。
攻撃力や防御力、技やスキルなどゲームならではの要素をいくつも併せて
ダメージが計算されます。

今回はそんなダメージ計算についてです。


まずダメージと言ってもゲームによって色々あります。

ライサント島やそのリスペクト元のマリオストーリーのように
単純計算で1~2桁ほどの計算しやすいもの

ポケモンのような乱数や急所でダメージが変動するもの

リアル調なゲームではダメージの数字は表示されずに
出血量やヒット音である程度のダメージ量を把握するものもあります。

表現は様々ですがこの辺りは製作者の好みで、
私は乱数などの運要素が少ない、計算結果が分かりやすいものが好みです。


では、今作っているロボット少女はどのようなダメージ計算をしているか?

簡単に説明すると敵を攻撃する「技」に
(基礎ダメージ) と (パラメータの参照値) が設定されています。

例えば腕力が100で
威力: 30 + [腕力 50%] の技を使用すると

30 + 100 x 50% = 80ダメージ を相手に与えます。

しかし実際のダメージはこれだけではなく、
威力を上げたり下げたりするスキルによってダメージが変わります。

その計算は複雑になりやすく、
正直、開発している側ですらよく分からなくこともあります。

自分が過去に複数人で開発をしたときには
この計算を深く考えずに設計してしまい、
細かい計算が分かりにくくて
ゲームバランスを調整する企画の方に迷惑をかけてしまったこともあります。


そこでロボット少女では
ダメージ計算にマウスオーバーすると
そのダメージがそのように計算されたかを確認できるようにしました。

細かい計算を常に画面に表示すると画面がうるさくなりますが、
マウスオーバーならその心配もありません。

たとえゲーム中に表示しなくても
デバッグやバランス調整に便利なので
ゲームを作る人はこうした表示ができるように作るのがオススメです。


↑私は DamageCalc クラスを作成して
ダメージ計算のすべてやその途中式の出力を出来るようにしています。

またこの計算クラスは戦闘以外でも使えて
装備画面で今使える技がどのくらいの威力が出るのか仮計算結果を出したりもしています。

ゲームを開発するときは
最初にこの辺りをきちんと整備しておくと後々楽になるかもしれません。


さて、ダメージの計算式を可視化して
数値に間違いがないかを確認しやすくしましたが、
ゲームを作っているとそれでも計算がうまく合わなくなることがあります。

今回起こったのは「多段ヒットの技」でした。

回転切りで相手を5回切りつけるのですが、
微妙な割り切れないダメージ…例えば 136ダメージとすると

ヒットするたびに 136 / 5 = 27.2ダメージ を与えると
微妙な誤差が出てしまいます。

しかも少数を画面に表示すると
見にくくなってしまうためあまりしたくない…

というわけでプログラム上では先ほどの DamageCalc クラスに
・ダメージ計算結果のn%の四捨五入した値を出す処理
・ダメージ計算結果からnの値を引いた値を出す処理
を実装し

1~4ヒット目→ (136 x 20%) =四捨五入=> 27
5ヒット目  → (136 - 27 x 4 ) => 28

のダメージが発生するようにしました。

これなら計算結果に少数が出てこないので
計算がズレる心配もありません。

プログラムをかじった人なら分かるかもしれませんが
この少数はすごく面倒なんですよね…


ダメージ計算のお話、いかがでしたか?

ちょっと開発者目線の話が多かったかもしれませんが
数字の不具合は気付きにくいので
開発者としてはとても気になってしまうんですよね。

もし、ゲーム開発者の方が見ていましたら参考になれば幸いです。

それでは、また次回!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

上顎 2023/11/18 18:00

雑談回 描くことを意識する話

今回の雑談回、内容は描くことを意識する話です。

私はTwitterで絵がうまい人をフォローして見るのが好きです。
それに自分でも絵を描くのですが、
その大半が女の子のキャラクターのイラストです。

なので女の子のイラストを描く技術ばかり伸びるのですが、
ゲーム用の素材を描いているとそれ以外の絵を描く機会も多いです。

背景なんかは自分のこれまでに行ったり見たりしたことが参考になる…と思うかもしれませんが、
描こうとしてみると意外とちゃんと描けないものです。

今回はそうならないように描くことを意識する話です。


まずは背景…例えば住宅街の背景を描こうとします。

こんな感じ
家のステレオタイプなイメージだと三角の屋根に窓がある感じですよね。

でも実際の家はこんな感じではありません。
屋根はこんな三角に見えませんし、窓も十字な窓ばかりではありません。
しかも日本の一軒家は2階建てが多く、その辺も踏まえて改良するとこんな感じ

ちょっとそれっぽくなりました。
さらに実際の家にはベランダ、エアコン用の室外機、水を排出するパイプなど意外と色々なものが付いています。

これで家単品はかなり様になりました。
後は奥にも家を配置して、前後関係を出すためにちょっと色を付ければ…

十分な住宅街の背景になったと思います。


背景のような絵を描くうえで自分が大事にしていることは
無理がない範囲で情報量を増やすこと」だと考えています。

描くことを意識しなければ一番最初の絵になりがちですが、
家を描くことを意識して見てみると
・屋根の形は意外と種類がある
・室外機は複数あり、そこからパイプが伸びている
・1階部分と2階部分で色が分かれている家もある
etc…
などなど意外と気づくことがあります。

こうした気づいたことをいくつも積み重ねることで
絵に説得力が出ると考えています。


私はこのような気付きを得るために
散歩したり用事で遠出をするときは周りを広く見るようにしています。

ぼーっと目にするのではなく、
「あの看板、通行人の目を引くけどなんでだろう?」
「この建物、独特の形をしてて好きだなぁ」
「一度も行ったことないけど、
 このお店昔から潰れずにすっと営業してるな」
などちょっと試行しながら見てみると意外な発見があります。

そしてその意外な発見や
自分の好みがゲーム制作に限らず色々な創作の役に立つと考えています。


最近役に立っとというか
以前から使ってみたいネタとして「グラフィティ・アート」がありました。

よく壁やシャッターに落書きされているあれです。

日本では大抵、高架下や人目につかない壁に
勝手に描かれた落書きで良いイメージはありません。

でも不思議と魅力があると言いますか…目を引くものがあるんですよね。

そんなグラフィティ・アートですが、
現在制作中のゲームで戦闘画面に移動するフェードとして採用しました。

戦闘前にシャッターが落ちてきて
そのシャッターにこれからバトルが始まるということを描きました。

派手な彩色にしつつ、ポップなフォントで
Robot の文字をロボットの顔っぽい絵に見立てているのも
グラフィティ・アート感があってなかなか満足の一枚です。

橋の下の落書きを汚い・不良っぽいと一蹴するのではなく、
これはこれで面白い、何かの形で使いたいと意識していたからこそ
この1枚が描けたのではないかと自負しています。


今回の雑談いかがでしたか?

家・店・看板・道の装飾なんかでも
それを作った人の趣向や実用性が込められたりします。

そういったことに思いを馳せると
何か自分にとってプラスになる発見があるかもしれません。

それでは、また次回!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

上顎 2023/11/11 18:00

ロボット少女は夢を見る - 制作記その38- キャラクターの紹介④

ロボット少女は夢を見る の38回目の記事はキャラクターを増やす話の第4弾です。

過去)
https://ci-en.net/creator/16087/article/815862
https://ci-en.net/creator/16087/article/887861
https://ci-en.net/creator/16087/article/949520

このゲーム制作の残りの作業の大半がストーリー追加・キャラ追加で
どんどんキャラは増えていくのでちょこちょこ紹介していきます。


さて、まず今回追加したキャラは
最近書いたメインビジュアルの左下にいたこのキャラです。

私の絵柄もあって男女の区別がつきにくいですが男性キャラです。

今までは男性キャラも書いてはいましたが、
がっつりロボットだったり、おじさんだったりしたので
若い男性キャラは珍しいです。

このキャラのコンセプトは正義感の強い警察官で
フィクションではよく見るけど現実ではほぼ見ない剣+マントのスタイルです。

調べてみると
憲兵という警察と軍隊の役割を併せ持つ仕事だとこうした格好があるみたいです。

このゲームではパラメータに「善悪」があるので
善に寄ると仲良くなり、悪に寄ると戦うことになります。

警察官は既にいたりしますし今後も増えますが、
それらのキャラとの横の繋がりも沢山書きたいです。


続いては警察官と対をなす…ということで怪盗キャラです。

警察官が青マントなのでそれに対をなすように赤マントで
とりあえず顔を気持ちばかり隠すようなデザインです。

こちらも悪の道に行くか善の道に行くかで関係が変わりますが、
もう一つやりたいのが「変装していない時に出会う」話です。

創作物でこうした変装しているキャラは
視聴者視点では正体バレバレだけど作品内のキャラは気づかない…
ということが多々ありますが、

本ゲームでは「賢さ」のパラメータがありますので
一定以上の賢さがあれば正体を見抜く選択肢が選べる…みたいな話も書きたいです。


キャラクターの紹介、いかがでしたか?

だいぶキャラがバラエティー豊かになってきましたが
それぞれのお話はまだ登場くらいまでしかできていません。

プレイした人にも彼らが気に入ってもらえるように
これからもゲーム制作に励んでいきたいです。

それでは、また次回!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

上顎 2023/11/04 18:00

ロボット少女は夢を見る - 制作記その37- 戦闘アニメーションの話

ロボット少女は夢を見る の37回目の記事は戦闘アニメーションのお話です。

本ゲームでは基本ノベル形式でシナリオを進めつつ、
戦闘では画面が切り替わって戦闘画面に入ります。

今週は色々あって
戦闘用の絵ばかりは描いていたのでそのお話をします。


まず本ゲームで私がやりたかった事は
「2D」で「装備が見た目に反映されて」で「ちゃんと動く」ゲームでした。

何故このような目標なのかと言いますと、
私がこういうゲームがもっと世の中に増えてほしいと思っているからです。

しかしこれらを満たすゲームが少ない…
というか労力が大きすぎるためあまり作られません。

「装備が見た目に反映される」
「ちゃんと動く」
これらを満たすのなら3Dの方が向いていますが、
私は2Dのアニメ調の可愛い系の絵柄が好きだし…

そんなわがままもあって
他人に苦労や迷惑をかけない個人制作で本ゲームを作っています。


ではロボット少女ではどのように装備差分を用意しているか?

それはゴリ押しです。

画像は腕パーツのフォルダですが、
こんな感じでアニメーション毎に差分を描いて
それが全ての部位・種類毎に存在する感じです。

さらに2Dには基本奥行きがないためゲーム中では
・腕_前
・腕_中
・腕_後
と腕の中でも3階層に分けていて
これによって画像の前後の整合性をとっています。

正直、作りが厄介すぎて
複数人で作業したら高確率で何かしらの問題が発生すると思いますが、
個人制作のおかげか今のところ何とか無事に動いています。

先に「労力が大きすぎるためあまり作られません」
と言いましたが、
こんな厄介な作りになるくらいなら
確かに企業とかは作りたがらないよなぁ…と思いました。


こんな作りでは新しい素材を組み込むたびに
膨大な作業が発生しそうですが、

その辺りは後々苦労しないように
きちんと確認用のデバッグ機能を作っておいたので
意外と何とかなっています。

ゲームを作るたびに思いますが、
デバッグ機能を最初にしっかり作るのは本当に大事です。

ただ、やっぱりちょっと見た目が特殊な装備…
例えば背の高さが変わるキャタピラーなんかは、微調整が必要なので大変です。

でも足装備は動きも変わって面白そうだから
もっと変なの増やしたいなぁ…


戦闘アニメのお話、いかがでしたか?

ゲームを作るだけなら
わざわざこんな作りの難しい事をする必要はありません。

最終的に「ゲームを完成させる」事が一番大事なので
上手に手を抜くこともとても大事です。

ですがそれでも、
せっかくの自作ゲームなのですから
こだわりの1つや2つは入れたいというのもクリエイターの性です。

というわけでエタらないよう今後も頑張っていきます!
それでは、また次回!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

月別アーカイブ

記事のタグから探す

限定特典から探す

記事を検索