sound sepher's PASTIME

ゲーム開発で思ったことや、趣味などの話を書き綴っていきます。

ゲーム作りは時間と根気が必要

 などとそれっぽいタイトルにしましたが、Twitterでも書いたことのまとめなおしです。あんまりまとまってないですけど。今回は素材作りの話題がメインです。

 いま作っているスマゲビ用ゲームと箱庭セレナータは、明確な目的のもと作っています。スマゲビゲーは「一切素材を自作せず作ったらどのくらいで完成するか」。箱庭セレナータは「持てる時間とアイディアをすべて注ぎ込んだら何年かかるか」。

 ちなみにスマゲビゲーは90%完成しているのですが、だいたい2週間。箱庭セレナータは完成度50%で5年くらい。やばい。

 ゲーム作りはちまちまとしか進んでいかないので、諦めない根性と執念が必要になってくるなーというのが、まず結論。

作るものに限界はないけど時間は有限

 時間をかければある程度の質にすることは不可能ではないです。たくさんの人に見てもらったり、ある時間を注ぎ込んで質を上げていけば、割と見れる程度にまでは行けるみたい。

 でも、ひとつのゲームに数年かけてしまうということは、その人の作品はその数年でひとつしか出ないということなんですよね。それで構わないなら良いけど、その期間、その人は(ほぼ)存在しなかった扱いになってしまう。

 もしかすると時代が変わって、ツールがOS非対応になってしまうかもしれない。作り続けていくほどに過去の遺物になるかもしれない。他者の作品が自分が考えたアイディアを先に使ってしまうかもしれない(考えることは皆一緒)。それらに遭遇したり、遭遇する可能性に怯えながら作り続けていくことになる。

 作れるものに限界はないけど、物理的・精神的な限界はある、ってことかな~と。

 ほんとうに自己満足が目的の趣味だったら、そんなことどうでもいいと思うんですけど。遊んでもらうことを考えたら…。

素材作りは時間が果てしなくかかる

 ノウハウがないところから始める場合、使いやすいツールはどれか、作りやすい方法は何か、いろんなことを模索しながらやっていくことになります。

 ドット絵にしろ、ゲームエディタに最適化して、効率よく、うまく表示できるチップを作るには、エディタの仕様を完全に理解しないと作れない。

 立ち絵にしろ、ルールを何も決めずに依頼すると実際にゲーム画面に落とし込むときに苦労する。

 デザインフォーマットを何も考えずに作っていくと、最終的に全部作り直しになる。

 ちなみに作り慣れ始めた去年年末に時間をとってじっくり作り込んだ箱庭セレナータですが、チップ10000パーツを作るのに2ヶ月、UIワイド化に1ヶ月、スクリプト部のシステム修正に1ヶ月かかっていて、それでもまだ素材が足りないという状況。

 「見た目の違うマップを数種類以上作る」=「短編数作分の物量になる」と思って良いです。

 これが多人数でドットチップを作ることになったら…キャラ絵担当が複数人になったら…UIデザイナーが分担することになったら…。ノウハウ共有、クオリティバランスを保つために何をする、そういう問題が追加されていくことでしょう。

質を上げれば上げるほど、大量生産に不向きになる

 例えばマップパーツ。最終的に一人の人間がイラストを書いて、そのままゲーム中に落とし込むのがクオリティ的には最高なんですが、そのフォーマットでマップを作る=その人に頼りっきりになる→複数人で作る→絵柄のバランスをあわせるには……? 個人規模で作るには無理がある状況になっていきます。

 それに、いちど決めてしまったらレベルデザインができなくなるので、トラブルを避けるためにマップギミック的な要素を避けて作ったほうが完成する確率が上がる。単純なマップにせざるを得なくなる。単純なマップで問題ないゲーム内容にする必要がある。設計に関わってくる。

 既存チップでマップを作ったら、その上に手作業で書き足す…という手法も、若干難易度は下がるけど同様の問題をはらんでる。一度試しに作ってみましょう。そして、その作業をすべてのマップで行う気合と根性はあるか? 自分に問いかけてみましょう。

 自分の場合はこれから、ドット絵1万パーツ+αを組み立てて更に上から軽く修正することを想定しているのですが……気が遠くなりそう。

 個人規模で作れるものの限界値を学びましょう

それらを想定して、じゃあ何を作るか

  • 作れるものに限界はないけど、物理的・精神的な限界はある
  • 「見た目の違うマップを数種類以上作る」=「短編数作分の物量になる」
  • 質を上げれば上げるほど、大量生産に不向きになる

 結局のところ、実際作ってみないとわからないなぁといった趣があるので、実際作って痛い目を見るのが一番よさそう。もちろん一人で。

 なので、めちゃめちゃキレイなゲーム画面が作れて、かつ面白くて、複数作品作れてる人は、たぶん神です。普通の人が見つけられないものを見つけた人です。God Like。

 個人的には、初めてゲームを作る人が考えたゲーム内容は、その1/10作りきれれば御の字かなあ……って思います。いや、ほんとうに。

補足

 僕は音楽畑の人間なんですが、こうしてゲームを作りながら思ったのは、1日に10曲くらい作りたい……ってことでした。1日1~2曲じゃ遅すぎだなあ……と。音楽は効率が悪いなあ。なんとかうまい解決方法を探したいところ。

テストプレイのフィードバックで感じたこと

 箱セレの感想や、今作ってるスマゲビゲームのテストプレイのフィードバックから受けた印象と、何を直すべきで何を直さないべきか的なことをまとめた自分用のメモ。

(1)開始10分がすべて

 ゲームをはじめて10分、そのあいだのプレイがつまらなかったら多分プレイヤーはゲームを削除します。具体的には、自動イベントをなるべく減らして、プレイヤーがたくさん介入できて、かつサクサク進めるようにするのが一番よさそう。バトルがあるRPGなら、スタート直後にバトルが起きるといいみたい。

(2)ソロプレイゲームで起きたミスは全部ゲームのせいになる

 例え操作ミスで落とし穴に落ちたり、コマンド入力ミスをしたとしても、それはすべてプレイヤーの責任ではなく、ゲームの責任になります。

(3)難しいゲームはよほどノウハウがない限り避ける

 ギリギリのバランス、例えばギリギリジャンプしないと届かない地形だとか、ギリギリの手数でしかクリアできないパズルなどの難易度の高い要素については、初心者は避けておいたほうが無難です。前述の話題に繋がりますが、プレイヤーのミスは全部ゲームのせいになります。具体的に書けば、レビューで★が1つになったりします。

 あとは、暗記系のイベントもなるだけ避けたほうがいいかも。

(4)プレイヤーの言う「楽勝」は喜びの反応

 勝負ではないので、楽勝と言われたからって難易度を上げないように。プレイヤーをうまく勝たせるのがソロプレイゲームの作り方みたいです。

 これは個人的な意見ですが、ハードコアがウリなブランドでない限りは、すごく簡単でサクサク気持ちよく進むゲームで良いんじゃないかなーと考えています。

 プレイヤーが悩んでいるところを目の前で見ると、けっこうつらいものがあるんですよね。ストレス溜めてるのが空気で伝わってくるので、申し訳なくなってしまいます。

(5)バトルの長期戦はダレる

 50ターンとか100ターンかかるような戦闘はけっこうソロプレイゲームではきついです。10ターン、長くても20ターン程度で決着がつくようにしたほうがいいかもしれない。20ターンって物凄く長いですが。

 パターン攻略で操作ミスを誘発させるみたいなやり方もあるにはありますが、アクションゲームではありでも、ターンバトルでは決められたコマンド入力を行うだけになるので、若干作業になるかもしれません。

(6)要素はプレイヤーに気づいてもらえるように組む

 作り手が本気で隠した要素は、プレイヤーは絶対気付きません。説明していない要素はないものと扱われます(そもそも気付かない)。

 箱セレだとグリモア装備ウィンドウ上で、装備したグリモアを選択してサブキーを押すと装備が外れるだとか、そういうウディタデフォルト要素とかでも、知らない人は気付かないということです。

(7)救われない悲劇は大人用

 全く救いのない作品は反応もかなり重いです。それが狙いならアリですが、そうでないなら最後に救いは用意したほうがいいのかなあ……と。大人向けですね。

(8)テキストは読み飛ばされることを前提に

 一度しか表示されないシステム表示テキストや、一度しか表示されないヒントなどは、飛ばしたら詰みます。

 また、会話ウィンドウの横に立ち絵、更にマップでもキャラ演技があった場合はプレイヤーの視線誘導に注意したほうがいいです。立ち絵やキャラ演技が多く入る場合、たぶん会話ウィンドウの内容はうわのそらになります。

 ゲーム画面の情報量が多ければ多いほど、ひとつひとつの要素が希薄になって、受け取る側は気付きづらく、うわのそらになっていく印象を受けました。

(9)重要なイベントは素通りできないように

 自由度を上げたい等の理由で重要イベントを素通りできるようにすると、気付かず素通りして詰むプレイヤーが多発します。

(10)作り手が「詰まるかな」と思った箇所でプレイヤーは100%詰む

 「ここは難しいかな、気付くかな? 詰まるかな~。でもわかるよね」みたいなノリで作ったイベントはほぼ気付いてもらえません。(9)と合わせて注意したいです。

ウディタの仕様簡易まとめ

 ウディタをふつうに使ってるぶんには大して気にならないけど、作り込んでくるとぶつかってくる仕様を簡単にまとめておきます。

(1)ゲームの動作が重いなら

 たぶんソフトウェアモードで動いてます。ハードウェアモードに切り替えましょう。Config.exeでいじれます。

(2)1ピクチャの描画限界は8192x8192px

 Intel HD系のビデオカードの最大テクスチャサイズが8192x8192pxだから。ピクチャは2048x2048pxより大きくしないほうが安全。

 更に、これはマップサイズやマップチップセットのサイズにも適用されます。マップサイズもこのサイズを超えたあたりから、エディタが正常に動作しなくなりますし、ゲーム側でもロードが激重になったりします。避けたほうが無難。

 1グリッド40x40pxなら204x204グリッドくらい。画面サイズ1280x720pxなら、横6画面、縦11画面まで

(3)イベント起動条件

 これは憶測ですが、優先順位は並列実行>自動実行>プレイヤー接触>イベント接触。マップ座標(0,0)に近いイベント・座標ほど優先順位が高い。(0.5マス移動時)

 新しいマップへ場所移動した際に並列実行イベントでマップ環境を設定し終わったあと、自動実行イベントが起動したため。

 ランダムエンカウントを接触範囲拡張で指定した際に階段に触れると何が優先されるか検証したところ、ランダムエンカウントをプレイヤー接触で判定した場合、階段イベントより先に戦闘が発生し、発生後は階段イベントが起きず階段の上で立てる。これを両方イベント接触にすると、階段イベントで場所移動したあと、エンカウントが起きる。

 なお、0.5マス判定の場合、座標(0,0)に近い座標ほど優先される都合、「左から近づいて接触した場合」と「右から近づいて接触した場合」、「上から近づいて接触した場合」と「下から接触して近づいた場合」の判定タイミングは後者が優先され、ナナメから近づいた際も同様に判定される模様。「左上から右下に向かって接触」が一番優先順位が高い。接触判定を0.5マス判定でチェックするときは、この仕様もあって若干複雑に(同じ接触方法でも内部の判定が偶数座標と奇数座標で違う、奇数座標はバグの原因)。

(4)複数のマップイベントが重なっている場合の優先度

 マップイベント1とマップイベント2が同座標にいる場合、イベントID番号が小さいほう(1)が優先される。ただし、描画はイベントIDが大きいほう(2)が上に描画される(多分)。これを避けたいときは、イベントIDが小さいほうのオプション「主人公より上」チェックをオン。

(5)大きな画像は読み込みがかなり遅い

 高解像度でゲームを作るときに大きな立ち絵を出したり、大きな敵を出すとすぐにわかりますが、ある程度大きい画像(1024px程度)を表示すると、ビデオカードによっては結構大きな負荷がかかります。

 これはエフェクトアニメーションを1枚画像のアニメしかできないウディタデフォルト仕様では致命的で、派手なバトルエフェクトを作ると毎回ロードで停止します。対策は事前ロードとエフェクト倍角化。ゲーム開始時やデータロード時、もしくは戦闘開始前に必要なエフェクトだけロードするなどの対策が必要。

(6)繰り返し使う処理はコモンイベントでまとめる

 場所移動時の移動前処理・後処理。宝箱処理。エンカウント処理。繰り返し使うイベントはコモンイベントから読み込むようにしたほうが後々ラクに。

 ウディタの隠し機能のひとつに、コモンイベントからは呼び出しイベントのセルフ変数を参照することはできないが、マップイベント上で指定したセルフ変数分岐やセルフ変数格納をコピーしてコモンイベント上でペーストすると機能する。なお、これをコモンイベントで修正しようとするとエラーが起きる。

ペチコートデュエル

 ……ペチコートデュエルズ。何かに使えそうなので、メモ。やっぱどの時代にもセンスいい単語選びってあるな~。

画像の合成ルールについて(メモ)

 RPGを作っていると、なんとなしにゲーム画面に陰影をつけたい…となることもあります。例えば真っ黒の画像に穴を開けて、ドラクエ1のたいまつのようにマスクっぽい処理を加えるとか、そういうのであったり、それにグラデーションをつけてもっと自然にしたり。くらいマップに明かりを灯してみたり。

 これってカンで作ってると、どんどん色がくすんでいくのですが、その理由を自分用にメモっておきます。これ、すぐ忘れるんですよね。

実際に合成してみる

f:id:Ashtarte:20170417143050p:plain

 というわけで、実際に試してみたものをまず用意しました。グレー(#4d4d4d)がもとの色合いです。まずレイヤー1で減算合成します。さらに、その上から加算合成で重ねます。すると、だいたいですが、もとの色合いに戻る…という結果になります。

戻る色と戻らない(くすむ)色がある

 スポイトツールでチェックしてみるとわかりますが、戻っている色もありますが、すこし色合いが飛んでるものもありますね。色が飛ぶものは、元画像の暗い色合いの部分です。

なぜか

 これは簡単で、色の値のRGBのどれかが減算時に失われているからです。

 例えば、樹の5段の葉っぱ部分の中心(3段目)のベースカラーは、元が#389531(56,149,49)に対して、#4d4d4d(77,77,77)で減算すると#004800(0,72,0)、その上で加算合成を行うと#4d954d(77,149,77)になっています。

 もうわかりますね。減算合成した時点で、赤と青の色値が失われているんです。色の値がマイナスになったら、その値はどこかに消えてしまい、加算したときには加算に使った色の値がそのまま与えられ、色が明るくなってしまうんです。

不具合の例

f:id:Ashtarte:20170417144552p:plain

  先の事例通りのことが起こっています。僕のゲーム「箱庭セレナータ」では、もともとキャラクター付近には「背景透明+白グラデ円」加算(透明度あり)の明かりが灯っていて、ギリギリ近づくと隠し通路が見える…という仕様です。

 詳細を書くと長くなるので省きますが、この仕様のレイヤー下に「視界」という、白減算画像をベースにした処理を加えたことで、もとの壁(黒部分#131314)の色合いが#000000になってしまい、せっかくの隠し通路の色が飛んでしまい、見えなくなっている上に、全体的に画像がくすんだよう(#303030)に見えてしまいました。

 これを解決する方法は、今のところウディタではない様子なので、「視界」は完成版ではなくなるかもしれません。それに、凄まじく処理が重いですしね…。

まとめ

 画像合成処理で色値RGBのうちどれかの値が0になった場合、その色を上から加算合成などで戻そうとしても色飛びが起きているため戻せない。明かり関連を使うときは、この問題に注意すること。です。

ゲーム作るときに用意しておくもの(自分用メモ)

 これがあるとはかどるよ~みたいなものをざっくりまとめておきます。主に自分用。PC再インストールしたときに、何が必要か思い出すのに少し手間取ったんですよね…。

ないと困る

  • GIMP (ドット絵もUIデザインもこれでできちゃう。Edgeはアルファ値保存不可)
  • mp3tag (BGMのループを取る。VXA、ウディタ、スマゲビ用。日本語化)
  • foobar (MVのループはこれで取るのが一番効率よさげ。Columns UI)
  • oggdrop (ドロップするだけでoggに)

あったら便利

調べておくといいもの

  • 色について (補色とかそういうやつ。暗記必須っぽい)
  • javascript (覚えておくと物凄くできることが広がる)
  • SoundCloudとかyoutubeとかの使い方

まだできないこと

  • 動画編集 (AviUtlがラクっていうけど、まだよくわからない)

メモ

 mp3tagでループポイントを取るときは、「ツールオプション→タグパネル」で”LOOPSTART”、"LOOPLENGTH"を追加。フィールドはそれぞれ"LOOPSTART"、"LOOPLENGTH"。複数行フィールドチェックは外す。

 右カラム(リスト部の"ファイル名"…とか書いてるとこ)を右クリック「カラムの表示項目を編集」。ここで名前「LOOPSTART」値"%LOOPSTART%"フィールド"%LOOPSTART%"、同様にLOOPLENGTHも追加。必ずすべて大文字にすること。mp3tagは小文字も受け付けるが、ウディタやスマゲビは小文字と大文字の区別をするようで、小文字にするとループ指定が無視される。あとは、「数値を使う」もチェック。

 既存oggを放り込んで追加した表示欄にループポイントが表示されたら成功。ループポイント保存時はファイル選択して右クリック「フィールドすべてを保存」もしくは、「ファイル→フィールドすべてを保存」。後者はリストにあるすべてのファイルのフィールドが保存される。

絵描きさん募集、締め切ります

 募集からまるまる2週間ほど経ちましたが、ありがたいことに約40名様ほどからご応募いただきまして、そのなかから若干名様とお話を進めさせて頂いています。

 今月いっぱい募集するつもりでしたが、予想を超えた方々からご連絡いただけたため、これ以上募集し続けても僕のキャパシティ的にきびしいだろう……と思いますので、本日で絵描きさん募集を締め切らせていただきます。

 ご応募やTwitter等でのRTでの宣伝協力、ありがとうございました。

 - - -

 ありがたいことにキャラクターイラスト以外にも、背景メインの方や、塗り・デザインなどもこなせる方など、たくさんのスキルを持ち合わせた方々からご協力のご連絡もいただきまして、もちろん自分の手が届く範囲内でやることを前提にしたプロジェクトではありますが、お陰様でゲーム画面に関わる要素なら制作資金さえあれば自由にものを作れるようになりそうな予感でワクワクしています。

 今後の予定ですが、今回お話させている若干名の方々から今月末までに一緒にゲームを作りたい方を確定しまして、実際に細かい打ち合わせなどを経つつ、「箱庭セレナータ」の次の企画を作っていく……という流れになります。

 今回おつきあい頂きます皆様には、引き続きどうぞよろしくお願いします。

- - -

 実際に募集するかはまだわからないのですが、もしかすると声優さんも募集する可能性があります。というか、ゲーム内容によっては声が載ってたほうが楽しいよね~的な雰囲気程度の段階なのですが、もし今の段階でも興味ありますよ~という方がいらっしゃいましたら、メールやTwitter等で坂本のほうまでご連絡いただけますと幸いです。(こちらも絵描きさんと同様に、この方なら…という方のみにお返事差し上げます)