ちょっと前から作ってる3分のゲーム、割と形になってきた。
コードネーム何処かで書いたような書いてないような・・・?
とにかくレガシス内部では『dal仮題』として開発が続けられている。
内容はオーソドックスな横スクロールシューティングなんだけど
この3分のゲームシリーズでは品質よりも1アイデアを重視する形で
取り組んでいるので、これもまた他には無い独特な要素を含んだ
ゲームとなっている。
とは言え類似するアイデアはどれも過去作にあるので新機軸ではない。
開発で色々と苦労した事の一つに「文字を横幅に合わせて配置する」
と言うものがある。
ネーム入れのランキング表示でフォントの横幅が全て一緒ならば
高速ループで作成時にループインデックスに横幅分かけてやれば
綺麗に横に並べる事が出来る。
しかし横幅が違う場合はどうするか・・・
画像はWARNING表示中のスクリーンショットだが、WとIは横幅が他の文字と
異なる(出現時エフェクトの関係で一部表示がされていないけど)。
これを一文字ずつアクティブオブジェクトで、しかもイベントエディタ上で、
一行で実行させる(ループ開始含めると二行)にはどうするか?
答えは簡単で作成時に自身のX座標に各文字の横幅を足したものを
ループ処理の末尾で別のオブジェクトの変数に写し取って二文字目以降は
その変数の座標に置いていく・・・と言うだけである。
ただこれはホットスポット(全オブジェクトが持つ基準点)が
左端にある時だけしか使えない。
作成した文字オブジェクトに動きやXYスケールの変化を付け加えたい時に
ホットスポットが中心に設定されていないと都合が悪いのでもう一工夫欲しい。
そこを考えるのに俺程度では一週間ほどを要した。
分かってみれば簡単だったが・・・下の画像のようにすればいいのだ。
まあ具体的な手法の解説は省くとしよう。
Cf2.5を使用していない人にはあまり関係ないし使っていたとしても
習熟度に見合わぬ余計な情報を得るのは必ずしもプラスに働かない。
この画像を見て解る人だけ「ああ成程ね」と思ってくれればいい。
こう言うの実際の効果に対してかかる手間の方が大きく、
腕のある人でもあえてやってないケースが多い。
ただ、自分のような人間には
「面倒をやっているゲームとやっていないゲーム」が二別されて
見えてしまうのでどんなに止め絵が美しくても出し惜しみした作品に
あまり良い印象は持てなかったりするのである。
海外のゲームでランキング表示の文字がぐるんぐるん踊っていたり
グラデーションをギラギラと変化させてたりするのを見ると、ふと
開発者の「どうだ?」と言う声が聞こえて来る。
日本ではそう言うのを「ドヤってる」などと小馬鹿にする事がある。
そんな時「競ってるのは技術なんじゃないの?」など思ってしまう。
センスで勝っているならともかく、表面上の美しさで対抗してたら
必ず負けるよ、金の力に。