開発日誌

すべての記事

[ サイト情報 ] 記事一覧を設置した

2020-07-24 08:44:33

このサイトを開設してから、来月でなんと10周年を迎えます。

開発日誌の記事の数も200本近くとなりました。これだけ増えると、過去の記事を見返そうと思った時に、延々と「古い記事 >>」を押す必要があって面倒です。

そこで、「記事一覧」のページを設置しました。

右側の「最新の記事」の最下段に設置してあります。記事の投稿日、タイトル、カテゴリーをリストにしているので、目的の記事がある場合はそこからどうぞ。

小さな大冒険』をリリースして間もない頃は、それなりにサイトも賑わっていたような記憶がありますが、その後2013年頃から更新頻度が激減して、サイトを訪問してくださる方もすっかり減ってしまいました。

しかし、それではもったいないということで、『RPGツクールMZ』の発表を機に、記事の投稿頻度も増やしていこうと思います。そんな宣言して大丈夫か……。

まあ、制作の上で意識していることとか、応用できそうな技術なんかを少しずつ紹介していければと思っていますので、どうぞよろしくお願いいたします。

[ ツクール情報 ] RPGツクールMZ、プレオーダー開始

2020-07-23 16:19:02

今週の木曜日は、今となってはもはや存在意義が分からない4連休の初日。ということで、恒例の『RPGツクールMZ』新情報公開はどうなるのかと思っていましたが、フライングで火曜日の7月21日に、予約販売の受付開始が告知されましたね。ちょうど1ヶ月前ということか。

プレオーダー版は定価の1割引で購入できるほか、以下の特典が付くそうです。

  • キャラクタージェネレーター素材集
  • MV&MZリミックス楽曲素材集
  • RPGツクールMV製品版

キャラクタージェネレーター素材集は、子供と老人をテーマにしたパーツ素材という触れ込みですが、その割にイメージ画像は子供と老人っぽくないのが謎。

楽曲素材集は、一部のMVとMZのデフォルト楽曲をリミックスした音楽素材が26曲と、新規楽曲4曲の、合わせて30曲の素材集だそうです。リミックス楽曲は、うまく使えれば同じテーマで雰囲気の異なるシーンが演出できたりするので、便利かもしれません。うまく使えれば、ですが。だけど、4曲の新規楽曲って、そのくらいならけちくさいこと言わずに、デフォルト素材として含めてくれてもよかったのに。

最も謎なのは、前作のRPGツクールMVが付いてくる点。

いったいどういうニーズに応えたものなんだ?

MVとは素材規格がほとんど共通なので、MVを持っていなかった人がMVの素材を流用できるようになる、という利点はありますが、それだったら素材集のみでいいはず……。既にMVを持っている人は、Steamのフレンドにプレゼントできる(ツクール公式ストアで購入した場合も可能)そうですが、今さらMVをもらっても、という気が……。

あと、公式ストアかSteamでMVを購入していた人には、1割引(プレオーダーと合わせて2割引)で購入可能だそうですね。これって、MVの発売当初はエビテン(ebten)が公式ストア相当だったと思いますが、そこで購入したのもカウントされるの……?

またプレオーダー版とは別に、バンドル版、バンドルS版という、別売りの素材集が10〜15%オフで付いてくるバージョンも販売開始されているようですが、これは今のところSteamでしか購入できないようです。今後もSteamのみでしか販売しないのか、そのうち公式ストアでも販売を始めるのか、ちょっと様子見予定。

バンドル版で付いてくる、MV Trinityの素材集と3Dパーティクルエフェクト素材集は欲しいですね。逆にパッケージキャラクター素材集はあまりいらない気がするので、無理にバンドル版を購入するよりは、前述2つの素材集を単体で購入した方が、トータルでは安く済むことになりそうです。

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 重要語句の色を変える

2020-07-21 01:19:33

メッセージの中でキーワードとなる言葉――人名やアイテム名などは、色を変えて目立たせてやると、プレイヤーが見落としにくくなるので親切です。

特殊文字の\C[n]で文字色の変更ができるので、キーワードの手前で特定の色に変更し、その後で元の色に戻してやれば、標準でも特に難なく実現可能です。

しかし、何番が何色なのか分からなくなったり、後で色を戻し忘れたりで、実際にやるとなるとけっこう面倒くさいし、間違えやすいです。

というわけで、特殊文字を拡張して、重要語句の文字色変更を簡略化するスクリプトを作りました。

相変わらずRPGツクールVX用ですが、VX Aceでも多少の修正で動くようになるはずです。やっていることは単純なので、MVでも同様にプログラムを組めば動作すると思います。

「文章の表示」の中で、 <●テキスト> のようにテキストを <● > で囲むと、その部分の文字色を手軽に変更することが可能です。

●には語句の種類に合わせてアルファベット1文字が入り、以下に対応させています。

<N > 人名
<P > 地名
<E > モンスター名
<I > アイテム名
<S > スキル名
<K > その他の重要語句(なんでKにしたのかは忘れた)

これによって、人名は赤色、アイテム名は黄色のように、タイプに応じて色を変えることができるので、よりいっそう分かりやすくできます。

色はスクリプトの中の\x01[3]などの数字を変えればOKです。また同様にすれば、新たな語句タイプを設定することも可能です。

質問やアドバイスなどはコメント欄まで、お気軽にどうぞ。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。

[ 天下御免!からくり屋敷 ] [ テクニック ] ツクールでルビを振る

2020-07-19 23:16:37

RPGツクールMZ』が発表されてから、その新情報関連と制作関連の記事とで、週2本ペースで記事を公開しております。年2本だった時もあったのに、奇跡じゃなかろうか。

もっと記事を出していきたいのですが、制作過程の記事はあまりネタバレしすぎるのもどうかという説があります。そこで、これからは技術的な話題も積極的に取り扱っていこうと思います。

さて、『天下御免!からくり屋敷』では、スクリプトを組んで漢字にルビを振っています。詳しくは「RubyでRubyを…」の記事をご覧ください。

ルビ振りを可能にするスクリプト素材はいくつかありましたが、画面構成全体や文字表示など根幹の部分に関わってくるため、自力で実装したという経緯があります。そういう経緯があるため、私もスクリプト素材という形で提供はしていませんでした。

ただ、どのようにルビ振りを実装しているのか、注意する点や苦労した点はどんなところかを公開して、制作者の方の参考にしていただければと思います。RPGツクールVXでの実装ですが、基本的な考え方は変わらないはずです。

最初に大変なのは、上でも書いた通り、画面構成全体をいじる必要がある点。

ルビの分の高さを確保する必要があるため、テキストの1行の高さをデフォルトの24から32に拡大しています。

通常の文章表示では、4行あったメッセージウィンドウを3行にすれば、ちょうどいい感じに収まります。ただし戦闘メッセージの場合は、2行ある物理スキルの発動メッセージ→会心の一撃→敵のダメージ→敵のステータス変化のように、最大で5行を要するケースがあるので、既に3行表示されていたら最後の1行を消して上書きする、といった処理を加える必要があります。VX Aceからはメッセージログ形式になったので、意識する必要はないかもしれませんが。

また、メッセージ表示以外にも、アイテムやスキル、敵の選択ウィンドウやステータスウィンドウ、店での購入ウィンドウなど、ほとんど全てのウィンドウのレイアウトを調整する必要があります。ウィンドウレイアウトはスクリプトやプラグインでデフォルトから変えている場合も多いと思いますが、まずルビには対応していないので、自力で調整しなければなりません。

さて、ルビの入力は、{漢|かん}{字|じ}のように、ルビを振りたい文字を{ }で囲んで、|の手前に漢字、後ろにルビを入力すれば、ルビ付きのテキストとして表示されるようにしました。

文章の表示だけでなく、アクター名、職業名、スキル名、アイテム名、敵キャラ名、およびスキルやアイテムの説明文や、使用時メッセージなどでも、有効にしています。

表示部分のスクリプトはこんな感じ。

1文字ずつ取り出して、漢字部分とルビ部分に分けて出力しています。

ここで問題は、ルビが多いとテキストボックスの横幅に収まりきらない点。

文章の表示のテキストボックスは、横幅を超えると勝手に改行されてしまいます。そこで、ダミーのアクターをいくつか作って、長いルビ付きの言葉をアクター名に設定し、文章の表示の中で\N[n]として用いています。こうすれば、ルビが多くても横幅に収めることができます。

ただし、アクター名の入力欄にも文字数制限があるので、ルビの量が多いとダミーのアクターがいくつも必要になります。1文字微妙にオーバーする!といった苦労は日常茶飯事で、このあたりの調整は都度やる形になるので、テキストの入力は通常時よりもかなり時間がかかります。これが、制作がなかなか進まない原因でもあります(ということにしておこう)。

また、ルビは漢字1字につき3文字までが限度で、4文字以上だと文字が潰れてしまってさすがに読めません。

だいたいは3文字に収まるのですが、隼(はやぶさ)とか亥(いのしし)とか、作っているとけっこう4文字のルビが登場します。こういう場合は、{亥の|いのしし  }{足|た}{袋|び}のように、次の文字と組み合わせています。

ただ、鉞(まさかり)はこれ1文字だけしかないので、前後に半角スペースを入れて{ 鉞 |まさかり}としました。また、狼男(おおかみおとこ)も漢字2文字に対してルビ7文字なので、{狼 |おおかみ}{男|おとこ}と間に半角スペースを補っています。一番悩んだのが、石川五右衛門の方術の金鯱(きんのしゃちほこ)で、仕方ないので間に全角スペースを挟んで{金 鯱|きんのしゃちほこ}としました。今後、源順(みなもとのしたごう)とかを登場させることにならないか不安。

最後に悩ましい点としては、どこまでルビを振ればいいのかという点。

さすがにフリーゲームを小学生とかがプレイするとも思えないので、小学校レベルの漢字にまでルビを振る必要はないと思います。

とは言え、漢字自体は小学校で習うけど、熟語としてはあまり馴染みがなかったりすると、読みが自信ない場合もあり得ます。

実際、実況プレイ動画を見ていても、普段使わないような語句の読みで間違っていたり、詰まっているのをよく見かけます。

初めは固有名詞や常用漢字以外のものに限ってルビを振っていましたが、だんだんとルビ振りの基準レベルを下げていき、最近では「見る」「思う」とかのレベルでも、たまにルビを振ったりしています。そこまでするならいっそ全部に振ってしまえば、悩む必要もなくなるとは思うのですが、それはそれで作業が大変すぎるので、難しいところです。

ルビは日本語だけの特殊事情なため、海外展開にシフトしつつある現状のツクール事情では、今後もデフォルト機能として組み込まれることはないと思いますが、格調高い言葉を使いつつも、難しくしすぎないというバランスを取るのに、ルビ振りのシステムは欠かせないものだろうと思います。

最初に述べたように、ルビ振りシステムは画面全体の構成などに関わるため、なかなかプラグインとして素材化することが難しいですが、今後も必須レベルで組み込んでいきたいと思います。

[ ツクール情報 ] RPGツクールMZ、発売日決定

2020-07-16 22:47:30

今週も木曜日、『RPGツクールMZ』新情報公開の日がやって参りました。

今週はついに、RPGツクールMZの発売日と販売価格が発表されました。

発売日は約1ヶ月後の8月20日、価格は7,980円(税別)とのことです。

8月下旬あたりかなという先週の読み通り。しかし価格は、1万円を切ってきたということで、これは意外でしたね。ネガティブにはMZに対するアップデート版的な位置付け、ポジティブにはMV以降、国内よりも海外での販売に力を入れており、それが成功しているからこその、この価格設定ということでしょうか。独身貴族にはあまり関係ないですけど、買いやすい値段なのは良いことですね。

その他、今回公開された新機能としては、こんなところです。

  • コモンイベントの上限数が1000→2000に
  • システム設定で画面解像度やフォント、フォントサイズの設定が可能に
  • MVからの移行機能(プラグインは除く)
  • デプロイメント時に上書き防止
  • 音楽素材はoggファイルのみでOKに(既報通り)
  • イベントモードではマップチップの代わりにイベントリストを表示(既報あり)
  • スマホでのUIを改良
  • オートセーブ機能の追加

大きいところでは、MVからの移行機能でしょうか。MVで作られたプロジェクトをMZにコンバートすることができるようです。基本仕様はほとんど同じなので、まあ当然とも言えますが。ただし当然のことながら、プラグインについては移行は不可。明記されていませんが、今回から仕様の変わったアニメーションについても、移行はされないと思われます(名前とか、あとSEやフラッシュの設定などは移行されるかもしれませんが)。

また、MVではスマホでの操作に難ありだったので、それが大きく改善されたと思われるのは良いことですね。

まあ自分ではMVで制作したことがないので、これらの機能や改善点はあまり関係ないですが。

マップエディターでイベントモードの際、マップチップの代わりにイベントリストを表示するのは、風の噂や既存の公開画像で既に分かっていましたが、果たしてそこまで使いやすいのかどうかは謎ですね。ちゃんとイベント名を付けていればともかく、自動開始イベントや移動イベントなどは名前を付けないことも多く、デフォルト名の「EV001」「EV002」……とかが一覧に並ばれても、どれがどれだか分からないという……。

とりあえず、発売日も発表されたし、細かい機能まで公開されたし、これで週刊情報公開も打ち止めでしょうか?

記事数稼ぎができたのはとてもありがたいですがw、正直言ってそこまで出し惜しみするほどのモノはなかったような……。

それよりは最初に全部公開してしまって、その後の話題づくりには、初心者向けの制作講座と上級者向けのコアスクリプト解説なんかを週イチで公開していった方が、ずっと盛り上がったのではないかと思います。さすがにそこまでの手間はかけていられないですかね?