1. このサイトではcookie (クッキー) を使用しています。サイトの利用を継続した場合、cookieの使用に同意したものとみなさせていただきます。 詳しくはこちらをご覧ください。

代替案で大体OK

くろうど2017-08-07に開始した「ゲーム制作」の中の討論

  1. くろうど

    くろうど ユーザー

    このスレッドでは、あるやりたい事(要件)を実現するために、当初検討していた案が使えず(技術的な理由など)、代わりの案を使ったら、案外上手く行った……という事例を書き込んでもらえたらと思います。

    困難な状況というのは、何かと応用力が試される場面でもあります。
    基礎知識の他にも、事例があると応用の幅が広がると思います。
     
    #1
    神無月サスケ, メルサイア, チョコワ部他1人 がいいね!しています
  2. くろうど

    くろうど ユーザー

    ついこないだの事です。

    ■事象
    CordovaでAndroidアプリ化すると、OSのフォントサイズ設定によって、ゲームのフォントサイズが変わる。
    これにより、特大フォントだと、メッセージが画面の右端で見切れてしまう事象が発生するので、なんとかしたい。

    ■要件
    文字サイズが特大でも、文章が画面内に収まる。

    ■当初案
    スキル名などは縮小表示されるので、通常のメッセージにも適用出来ないか、コアスクリプトを見る予定だった。
    (ただし、ユーザーが大きい文字を望んでいるのに縮小表示するのはどうかという気もする)

    ■代替案
    YEP_MessageCoreプラグインに、WordWrapという文章を自動で折り返す機能がある事を発見。
    コレを使うと行数が増えるものの、画面右側で見切れる事がなくなった。
    (行数が増えるため、ヘルプウィンドウは3行に増やし、他のレイアウトも調整しましたが、コアスクリプトを見てもたぶん分からなかったので、早く解決しました)

    こんな感じで、よろしくお願いします。
     
    #2
    jiro, ツクール開発部, 神無月サスケ他2人がいいね!しています
  3. 神無月サスケ

    神無月サスケ ユーザー

    代替案ですか。
    プラグインをいくつも作っていると「ここはこうしたほうがスマートに出来るんじゃない」という
    ケースには何度も出くわしています。

    今作っている、とあるプラグイン(守秘義務あり)でも、「これ実現するなら、イベント自動生成が
    必要だな」と思っていましたが、実際にはアニメーションを使えば簡単に実現が可能でした。
    もちろん、アニメーションも、データベースじゃなく、JSONフォーマットで自動生成でしたが、
    何倍も楽になりました。

    また、RGSS3の話になりますが、「Hero and Daughter」というゲームで、
    「部屋に自由にものを置ける、壁紙と床を自由に変更可能に」というシステムの構築を頼まれました。
    前者はイベント自動生成が必要でしたが、問題は後者。壁紙も床も、一つのタイルに16個しかないんですよね。
    「もっと種類がほしい」という要望に応えるために、昼夜悩みましたが、
    「タイルセットのA3だけ、別のファイルに置き換えてしまえばいい」という案が思いつきました。
    幸い、ひとつのへやに壁紙や床は1種類なので、これでうまくいきました。

    この「マイホームシステム」と名付けられたシステム、結構評判でしたが、
    「発想の転換で代替機能をばんばん利用する」のがうまくいったみたいです。

    やはり、頼まれてスクリプトを作る人は、「いかに、難しそうな機能を代替機能で楽をするか」が、
    コツになりそうですね。
     
    #3
    鈴ノ箸, 8787&クラウ, トリアコンタン他5人がいいね!しています
  4. アリヒコット

    アリヒコット ユーザー

    VXAceでは、敵グループに実際に出てくる敵キャラをランダムに選出するスクリプト素材がありました。
    これのお陰で敵パーティーの組み合わせを考える大変さから解放され、設定すべき敵グループの数も少なく済むようになりました。

    しかしMVには同じ様なプラグインがありません。
    ですが考えてみれば、イベントコマンドだけで事足りたのです。
    ダミーキャラを、0ターン目のバトルイベントで、ランダム変数に基づいて変身させれば良いのです。

    但しこの場合の注意点は、ダミーキャラの最大HP・MPをMAXにしておく必要がある事。
    でないと実際に戦う敵のHP・MPが少なくなってしまうのです。
    (変身後のHP・MPは変身前の値だが、変身後の最大値オーバーなら最大値に切り詰められる)

    尚、先制攻撃判定は、素早さが高くても低くても極端でも僅差でもあまり変わらないので、気になりません。
     
    #4
    神無月サスケ, 8787&クラウ, チョコワ部他1人 がいいね!しています
  5. 開拓者

    開拓者 ユーザー

    VXでゲームを作っていた頃の話です。
    フィールドの山や森を大きくしたい、綺麗なフィールドを作りたい
    そう思っていたけど素材がなくて技術的に難しかった頃がありました。

    その時、地面タイル8マス分をフィールド1マス分に圧縮して
    フィールド上を歩くキャラクターの大きさを半分にすると
    クロノ・トリガーのように周りの物が大きく見える事に気がつきました。

    それに加えて同じタイルの半透明バージョンを準備して
    遠景床スクリプトの遠景床をスクロールさせてフォグスクリプトと一緒に使う事で
    雲が流れて草原と波が揺れるフィールドを作る事ができました。

    星空の遠景をフォグにも使って同時にスクロールさせると
    闇夜に光の雨が降ってくるフィールドなんかも作れます。

    VXAceやMVでおなじ事ができるかどうか分からないけど参考までに
     
    最後に編集: 2017-08-22
    #5
    しぐれん, オヤジ狩り, RTB他2人がいいね!しています
  6. アリヒコット

    アリヒコット ユーザー

    VXAceの頃の話です。

    対応顔グラの無いホコグラ素材をメインキャラに使う事を決めた私は、顔グラに代わる発言者明示としてホコグラをメッセージウインドウに表示する事を思い立ち、顔グラの箇所にホコグラを表示するスクリプト素材を希求しました。
    …が、すぐにその必要はないと気付きました。

    ホコグラをトリミングして、Iconsetに貼る
     ↓
    \I[n](アイコンを表示する特殊文字)を入力


    これで良かったのでした。
     
    #6
    くろうど神無月サスケ がいいね!しています

このページを共有