見出し画像

グラフィックスの最初の一歩 | Crystalled Bullets - 開発日記

この記事はこちらの動画の台本を日本語に翻訳したのをNoteにアップロードしたものです。
(ちゃんと動画に日本語字幕もついてるよ!)

興味があるなら、Discordサーバーにもぜひ来てね!




はじめ

よく、グラフィックはゲームにおいて重要ではないと言うけど、ゲームのスクリーンショットや映像を見たときに、そのゲームの第一印象を大きく左右する重要な要素の一つであることは否定できないだろう。
例えば、ゲームのスクリーンショットが付属のペイントツールで描かれた稚拙なものだったり、フリーのストックアセットばかりのものだったりしたら、おそらく開発者はプレイする価値があるほどの手間をかけたとは思わないだろう。

というわけで、今回は私のゲーム『The Crystalled Bullets』のグラフィックについて、どのようにスタイルを選択し、ゲームのビジュアル面でどのように独自性を表現したかについてお話ししよう。
このDevDiaryシリーズの最初として、まずこの話題を選びました。なぜなら、A:コアとなるゲームプレイのループやユニークなゲームメカニクスなど、私のゲームの他の重要な要素には改善の余地があるから。なのと、B:ゲーム内のスプライトのクオリティは後々改善されるかもしれないが、アートスタイルは開発を通じてそれほど変わることはないことと、C:というプログラミング言語は1972年に発明されたものだ・・・という冗談はさておき・・・

スタイルの種類


ゲームのビジュアルには複数のスタイルがある。特に小規模なチームや個人が開発するインディーゲームではね。その中でもピクセル2Dアートスタイルが最も一般的だろう。なぜなら、まともな見た目にするために必要な労力が最も少なくて済むからだね。これが一概に悪いとは言えないよ。グラフィックにかける労力が少なければ少ないほど、よりよいゲームプレイのデザインに多くの労力を割くことができるからね。

他によく使われるスタイルとして、手書きのグラフィックもその一つ。『Spiritfarer』, 『Castle Crashers』, 『Cuphead』がその著名な例でしょう。
中にはドット絵と手書きグラフィックの両方を組み合わせたゲームもあります。OMORIがその著名な例でしょう。そして、後者の方がもっと有名だと思います。なぜなら手書きグラフィックを用意するのはピクセルアートよりもさらに手間がかかるからです。場合によっては、ゲームの世界に応じてスプライトを拡大縮小する必要がありますし、特にGPUのVRAMによってはパフォーマンスにも影響することがあります。

さらに最近では、先に述べた方法に比べて新しい手法としてローポリ3Dモデルを使用したゲームが、インディースペースで一般的になりつつあります。例として 『Compound VR』、『Dusk』、『Neon Rain』などがあります。
これは、ピクセルアートが人気の理由と同じで、「悪くない!」というクオリティに到達しやすいからかもしれません。
そして、人気のあるスタイルのほとんどをカバーしたと思う。少なくともインディーゲームではね。
大した数ではないけど、セルシェードのものやリアルなグラフィックのものもあるけど、どちらも作るのは手間の面から見て難しい。特に独立した小さなチームや、僕のようなソロの開発者にとってはね。

とにかく、『Crystalled Bullets』では、手描きのアートスタイルと3D環境を組み合わせることにしました。第一に、大半がピクセルアートで描かれているインディーゲームの世界で、私のゲームが目立つようにしたかったことと、次に、ローポリ3Dスタイルを作るのに必要なBlenderは本当に使い方を理解するのがほんとに難しいことと。最後に、ペンタブレットをお金の無駄だと思いたくないからだよ!

時間の節約術 (悪く言えば、手抜き)

というわけで、グラフィックのスタイルを決めたけれども、まだいくつか問題がある。前にも言ったように、スプライトを描くのには時間がかかる。
だから、時間を節約するために、いくつかの手抜きをしなければならなかった。昔の偉い人が言うように、「Work Smarter, Not Harder.(ひたすらに取り組むのではなく、要領よく働け)」スプライト用の絵を描くだけでなく、コーディングやオーディオ・デザイン、アニメーションなど、ゲームを動かすためにはあらゆる作業をしなければならない。



たとえば、この武器ビュー・モデルのスプライトを見てほしい。よく見ると、手袋がやけに凝って見えるのが分かるだろうか、実を言うと、自分で描く代わりに実際のグローブの写真を使ったんだ!
僕は決して優れた絵師なんかではないからね。大抵の場合、手を描こうとすると、たいていスパゲッティみたいになってしまうんだ。




もう一つの手抜きの例は、この女性魔道士と男性兵士の敵キャラのスプライトです。よく見ると、手は再利用されてることがわかるだろう。しかし、これや他の要領のいい方法を使っても、描くのにとんでもなく時間がかかることに変わりはない。
そして、「時間を節約するためにAI絵を使うのはどうなんだ?」と思ったかもしれない。


3つの問題点がある、
まず1つ目: 著作権に関する様々な問題を抱えている。
2つ目:大抵の場合、魂のない微妙な印象に見えてしまうこと。
最後に3つ目:AI絵ツールの使い方がほんとに分かんねぇ!
僕は一度自分のパソコンでStable Diffusionを動かそうとしたんだけど、あれこれの使い方がわからなかったんだ!だから、自分の手で絵を描くことにしたよ。
原始人みたいにね! ガオー!

最先端の技術なのだから、学んだほうがいいのは確かだけど、技術が安定してからでも遅くはないと思う。「最先端」というのは僕をナイフのように刺す危険性も秘めているのだからね。

それでも、3D環境のマップの見た目を少し良くするためにBlenderを学ばなければならなかったよ。ランタンや木々、(たぶん、3Dモデルの見た目を良くするためにBlenderをもっと学ぶべきなんだろうけど)しかし、ほとんどの時間はスプライトを描くことに対処しなければならなかった。

技術的な話


ここで、技術的なことを語るにはいいタイミングだと思う。敵のスプライトはすべて4K解像度で元々描いているんだけど、それらをすべて読み込むと、ゲームのファイルサイズが余計に増えて、スタッターやパフォーマンスの悪化に繋がってしまう。そこで、すべてのスプライトの解像度を4Kの20%にサイズダウンする必要があった。796x700の解像度にすることで、ファイルサイズはそれなりになり、パフォーマンスも安定する。
「なら、その解像度で絵を描けばいいじゃないか、毎回スプライトの解像度を下げるのは時間の無駄じゃないのか?」と思うかもしれない。いえ、そんなことはありません!




「ダウンサンプリング」という言葉をご存知ですか?そうだ!僕はDLSS、FSR、PBR、その他技術関連の3文字の単語をたくさん知っている技術オタクだから、話しているときに他の人を酷く退屈させることができるぞ!ハハハ!
とにかく、ダウンサンプリングとは、簡単に言うと、画像をはるかに高い解像度(多くの場合、モニターの解像度よりも高い解像度)で準備し、それをはるかに低い解像度で表示することで、ジャギーのとれたスムーズな画面になるテクニックなんだ!

まとめ


では、現在のゲームの現状を見る限り、これらすべてについて僕はどう感じるか?僕の答えは... イエス?確かに、僕のゲームの見た目は、他のゲームのビジュアルとすぐ見分けられるほどには十分だ。そういった意味では成功しただろう。
その一方で、最初にコアとなるゲームプレイのループのデザインにもっと時間をかけるべきだったかもしれない。特殊属性を持つ銃や、銃と敵の属性を活用したユニークなゲームプレイもセールスポイントにしたかったからね。他の『Hi-Fi Rush』や『Portal』といったゲームは、まずコアなゲームプレイのループを作り、それからユニークなアセットを作っているからね。

まあ、僕の言い訳としては、最初にゲームのビジュアルがどのように見えるか、ある程度把握しなければいけなかったし、プレースホルダーのアセットをわざわざ作って時間を無駄にしたくはなかったんだ。
しかし、この件で最も皮肉なことは、後で敵や銃のアセットをいくつか描き直さなくてはならなかったことだ!そう、結局、しょぼいアセットで時間を浪費してしまったのである。

私からの教訓: まずプレースホルダーを使おう、グラフィックは後で。

あとがき


そんで・・・。以上、本日の開発日記、開発メモ、開発エッセイ、その他何でも好きなように呼んでくれ。今回、人生で初めて1000単語以上の動画の台本を書いたよ。それも俺の母国語ですらない言語で。(最初は英語で書いて、後から日本語に翻訳した。)とにかく、僕のゲームに興味があるなら、お約束ごとの「いいね!」を押したり、チャンネル登録したり、Discordに参加したり、なにしたり、あれしたり、べらべらべらべらべらべら・・・!

この記事が気に入ったらサポートをしてみませんか?