「ふにゃさん」に関する日記(10)

<前 次>

BGM切り替えで止まる

今日、ふにゃさんのプレイムービーを録るためにプレイしていて、ふとクリアした画面のときに音楽の設定をちょこちょこ切り替えて遊んでいると、突然ゲームが止まってしまいました。
BGMを、なし→ユーザー定義(WMA)→標準(MIDI)の順で切り替えたら突然動作停止です。
だけどこの現象はそれっきり再現しないし、データとの相性もあるかもしれないので、ちょっと検証しにくいです。
一応、録画した動画はアップしておきました。

微妙な拒絶感

浮き沈みリンク集を改良してみました。
タグがリンクの入れ替わりに応じてくるくる入れ替わってしまってタグをつけても探すのが面倒ということになってしまっていたので、リンクは従来通りスコア順の表示にして、タグはそれとは関係なく五十音順で表示するようにしました。
ただ、前のバージョンのほうがいいという場合もあるかもしれないので、一応これはオプションにしていて、何も設定していない場合は従来の方法で表示するようにしています。

バナーを追加しました。
コネコベーダーを使った白黒の極小バナーで、うちの画像にしては珍しくGIF形式です。
ついでにバナーのアドレスを変更しました。
まずリンク集にある各サイトのバナーの置き場を/links/banners/から/banner/に、それに伴ってうちのバナーもその中に入れて/banner/tgws01.pngと/banner/tgws02.gifです。
この名前の変更は管理上の理由もありますが、うちにリンクしてくれるという人がバナーをダウンロードしたときファイル名に困らないようにするという意味も持っていたりします。

で、そして、ふにゃさんのステージセレクトの改良なんかもしたりしていました。
難しそうな気がしたもんでずっと先送り先送りにしていたのですが、改めてよく見てみると、ステージセレクトでのマップの表示処理はたった3行のコードで書かれていただけであり、結局ちょこっと手直ししただけで開始面を表示できるようになってしまいました(以前は何面まで進んでいても表示されるのは常に1面だった)。

そんでもって、今日は辛口イモ天カレーなんぞを食べてました。
何のことはない、レトルトの辛口カレーに昨夜の残りの芋の天ぷらを乗せただけのものです。
スパイシーな辛口カレーに芋の天ぷら油が微妙な拒絶感を醸し出していました。

曲率

ふにゃさんのプレイムービー5~10面をアップしました。
11面以降も録画しようと思ったのですが、あいにく11面でゲームオーバーになってしまったので録画は先延ばしです。
そうそう、現在ふにゃさんのシークレット機能の空を飛ぶふわふわふにゃの動きを考えています。
別にふわふわふにゃそのものの動きでもかまわないのですが、やっぱりふにゃさんなんだから、空気の抵抗を受けたり、くるくる回してみたり、色々やりたいわけですよ。
くるくる回すというのがよくわからないかもしれませんが、やってみればわかるかもしれません。
曲率を利用することも考えてます。

Bomber丸World開発室のWikiへの移行は順調です。
本当はプログラムの深いところをどんどん追記していきたいのですが、やっぱりキャラとかストーリーを書くほうが楽しいので、そっちのほうばかりが充実していきます。

キャラセレクト?

ふにゃさんのキャラセレクト機能、いい加減に作ろうかなと思って、肝心の入れ替えるべきキャラの絵がうまくできなかったんだということを思い出しました。
あんことサングラスをつけたふにゃが必要なのですが、あんこはふにゃとは違う表情のところが、サングラスのふにゃはサングラスそのものがうまく描けないのですよ。

Bomber丸Worldでは昨日ふにゃでやっていたような整理をやっていました。
yaneSDKの中にはいらない部分が多くてそれによりファイルサイズやメモリ使用量が増大しているという部分があるので。

メモリリーク?

ふにゃさんのソースファイルのうち、ふにゃさんを実行するのに不必要な部分を取り除いたりしていました。
とりあえず全く使ってなくてしかしなぜか必須だったスプライトキャラ関連を取り除いたら一気にファイルサイズが644KB→628KBに減りました。
メモリ使用量も思ったより多かったので削減しようと思ったのですが、こちらは思ったように減らず、メモリリークを調べようとしてもよくわからないし、とりあえず深刻な状態ではなさそうなので放っておくことにしました。
newで確保してdeleteしてなさそうな場所があるようだったのですが、どうにも起動中1回だけする初期化でできたメモリが残るようなので、deleteするまでもなくプログラムの最後まで残り、そして終了時に自動的に解放されるような気がします。

1~4面

ふにゃさんのプレイムービー、1~4面までをアップしました。
やっぱりどうにも背景の岩の模様がうまく処理されないようで、動いてるとほとんど模様が見えなくなります。

そういえば、日記に書き込んだとき、日記書きこみフォームに表示されるカテゴリ一覧のためのデータファイルを更新する機能をつけるのを忘れていたので、今日付けておきました。

ジェノサイドキャノン!

VB小ネタを更新してみました。こっそり。
ダブルクリックのタイミング調整についてです。
ふにゃさんのエディタの改良に使ったもので。

で、今日はふにゃさんのバージョン1.04をアップしました。
YouTubeで動画を公開していた操作説明のほか、先ほどのダブルクリックでエディタを便利に使えるようになりました。
これに伴い動画のほうも正式公開として、ダウンロードページから見られるようになりました。
ちなみに、ダウンロードできるファイルのサイズが小さくなっているのは、アーカイバを変更したためで、中身は当然増えてます。

地球防衛軍1のインフェルノを全部クリアしました。
二人協力プレイで。
インフェルノだとダロガがなかなか強いです。
まあ、2だとバゥがイージーですら強かったりするんですが。
というわけでジェノサイド砲ゲットです。
4丁ジェノサイドなんてなかなかクレイジーです。

そして今日は、メテオスオンラインでも始めてみました。
まあ、オリジナル版と比べて、色々感じることはあるのですが、ポイント購入さえしなければただだし、よかろうと思います。

操作説明のBGM

今日も引き続きYouTubeで色々試していました。
今日わかったことは、

  1. 動画アップロード時にコメントに日本語を記入するとエラーになる。
  2. アップロード後の修正では日本語が使える。
  3. コメントに改行は使えない。
  4. コーデックMicrosoft Video 1は高品質時には最も画質が良いが低品質時のデータの間引きが極端で使いにくい。
  5. 今の録画環境では音声付きだとまともな録画結果が得られない。
などなどなど。

今日はふにゃさんの操作説明に専用音楽を作っていたのですが、そんな関係で録音できませんでした。
操作説明用音楽は、通常版プレイ音楽から作ったもので、テンポが遅く、楽器はほぼ木琴だけになっています。
ちょっとユーザー定義BGMの設定プログラムに反映できていないので、今のところはユーザーBGMにしていると操作説明では音が鳴らなくなります。

YouTube

YouTube始めてみました。
前々から自作ゲームのプレイ動画を配信してみたいと思ってまして。
登録はわりと簡単で、メールアドレスさえあれば後は適当に入力してもいけるみたいです。
登録後のチャンネルの設定は特にせずともアップロードはできます。
ただ、ファイルの種類によってはアップロードできないこともあるようで、この日記に載せてあるのがうちにあるもので唯一アップロード成功したものです。

そこで死ぬ人珍しいですよ

土日で従姉の結婚式と祖父の喜寿祝に行ってきました。
うちには従姉が二人おりまして、片っぽは前に結婚してもうすぐ二歳になる娘がいて、土曜日はもう片っぽの結婚式でした。
式はキリスト教の方式でやったのですが、神父さんが日本語も英語もカタコトで、新郎新婦は緊張のためかぎこちなく。
披露宴では、蟹のパイ包み、アンキモムース、プチシューチキンクリーム、七面鳥とフォアグラのガランティーヌ野菜のブーケット添え、花野菜のクリームスープ ポロネーズ、鱸とオマール海老のポワレ 冬野菜と共に、金柑のソルベ、和牛のフィレステーキ ラディッシュソース クリスマスの雪に見立てて、ヨーグルトムースとイチゴの取り合わせ フレッシュフルーツ添え、を食べました。
食べるのに精一杯でお話聞いてませんでした。ごめんなさい。
最後は盛大に花火で締めくくりとなったのですが、どうにも雨が降っていて式場始まって以来の中止になるかもしれなかったとの事です。
まあ、ともかく、そんなに豪勢でいいのかと思うほどの、式と披露宴だったということです。
二次会で出された料理なんてもう食べられませんよ。

日曜日にあった祖父の喜寿祝のほうはというと……いや、失礼ながら……先に結婚したほうの従姉の娘のほうが主役だったような雰囲気がありました。
いや、かわいいんですもん。
鼻水娘ですけど。

んで、月曜日の本日は、家に帰ってきまして、ふにゃさんの操作説明を一通り作り終えました。
基本的に、操作方法を説明して、その通りの操作をしたら先へ進むのですが、想定外の操作などもあるので、想定外の操作をできなくしたり、した場合の分岐を作ったりもしてました。
例えば、バナナを取る場面でとげとげにぶつかってしまった場合とか。

操作説明

唐突にふにゃさんの話でも。
ちょっとね、今ゲーム説明をゲーム内で行えるようにと、そういうのを作ってるんです。
でも、いや、作るのが手間取っているとか、そういうのではなくて、ただ手をつけていないというだけでどんどん先送りになっちゃってるんですね。開発が。
でまあ、いつまでも先送りにしておくわけにも行かないので、次の次の、そのまた次ぐらいの更新でアップしようかなと思っています。
追加ステージもそれまでに作っておきたいところです。

むしゃくしゃしてやった。今では後悔している。

ふにゃさんの新ステージを作ってました。
とにかく無茶苦茶なステージばかりで、一見するとクリア不可能そうに見えて実はバグに近い仕様、すなわち裏技を使えばクリアできるというステージが多くなっています。
吊天井式に上からとげとげが一度に落ちてきたり、アイスゾーンもバナナもびっちりヒートゾーンに囲まれていたり、ブロックで完全に行く手が遮られていたりします。
中には逆に簡単にクリアできそうに見えてものすごくシビアだったり、ただネタだけで簡単だったりするステージも紛れ込んでいます。
ギャラリーには一部のステージの写真を載せておきました。

ギャラリー

PHPでのギャラリーページの書き換えが完了しました。
JavaScriptに依存しないブラウザに優しい形式で、コンテンツ管理もしやすく、画像一覧だけでなく別の場所でランダムイメージとして利用したりもできます。
とりあえずふにゃさんとBomber丸Worldのページに使ってみましたが、音楽も混在しているパネルγでは別の配慮が必要そうです。

ハーモニック

新しいラインブレイカ、早くもダイアログ作成の段階で手間取ってます。
グループボックス(VBでいうフレーム)の中にコントロールを入れてもグループ化されないんですよね。
それにエクスプローラからのドラッグ&ドロップの方法もわかってませんし。

ふにゃさんの13面の攻略ページが出来上がりました。
最難関ステージだけあって画像点数もトップクラスです。
そうそう、ふにゃさんのページのギャラリーとトップを改装中です。
JavaScriptに依存せず画像表示ができて、ギャラリーページの内容を他にも使いまわせるように、PHPで書いてみようかと考えています。

Bomber丸Worldのバトル2の曲をハーモニックマイナースケールにしてみたら暗い曲から怖い曲になりました。
特に出だし部分の印象が激しく変わるのですが、逆に後半部分は何も変わりませんでした。

1162911365.mid

帯に長し、たすきに短し

昨日に引き続いてふにゃさんの標準ステージ16面の攻略を書きました。
最難関の13・14面は後回しです。

今日レーザーの実験をやっていたらレーザー装置が壊れました。
どう考えても予想とはかけ離れた結果だなと思っていたら、レーザーのクセに切れかけの豆電球にも劣る弱々しい光しか出していなかったのです。
しかもなぜか替えのレーザーまで不発。
他の種類では成功していたので、結局問題のレーザーはデータとして使わないことになりました。

そうそう、Bomber丸WorldのためのHTML表示クラスを作り始めました。
なんせギャルゲーに特化したyaneSDKのHTML表示だと、RPGに使った場合、どうでもいいところばかりがパワフルで、ちょっとしたことに使おうとすると酷く不便なのです。

美文の愛した数式

ふにゃさんの攻略ページを更新しまくりました。
13~16面のページを用意し、うち15面を完成させました。
後残りは3つだけです。

スクリプトの続きを昨日の勢いがあるうちに書いてます。
インタープリタを作る前にまだ一つやり残したことがありましたよ。
字句解析の方法をまだ論じていなかったではないですか。
それが終わったらそれらの実装方法を書いて、そこではじめて「簡単な数式のインタープリタ」が作れるわけです。
最近は少し更新ペースを速めているのですがそれでも一回に一箇所の更新では先が思いやられます。
ActiveBasicでゲームを作る企画のときみたいに一回に数箇所一気に更新してしまうぐらいの勢いが無いと少しつらいかもしれません。
一応年内に完結させるつもりではいますので。

そしてリンクは神になる

ゼルダの伝説ーふしぎの木の実のところを更新しました。
ふしぎの木の実に限定した話ではなかったのですが、これが中心となっている話だったのでふしぎの木の実の場所に収まりました。
衝撃の事実、ハイラルを沈めたのは○○○だった…!

サイト全体のスタイルシートを改良しました。
改良箇所は一箇所、thです。
特別な例外を除いて自動改行が入らないようにしました。
なぜかというとテーブルの列が多くなると一つ一つの列が狭くなってしまって滅茶苦茶縦長のページになってしまうので列の最低幅確保のために使うのです。
もちろん横幅の広いthは自動改行するような設定に戻して幅の広がりすぎを防ぎます。

これをやった理由というのが、ふにゃさんのバージョン比較ページの書き方です。
NeoMuplのバージョン比較ページも同じようにしようと思っていて、そうするとNeoMuplは更新回数がかなり多くなりますから、画面より広いテーブルになりやすいのです。
それで上記の設定変更を行ったのです。
そして、そうすると右側が切れてしまって最新バージョンの機能がわかりにくくなってしまうので、新しいバージョンを右側にするのではなく逆に左から新しい順にすることにしたのです。

爆ボンのきょくのページを分離しました。
それに伴ってずっと作り続けていたブルーリゾートのMIDIも公開です。
とはいえまだハープの打ち込みが最後まで済んでいないのですが。

掲示板全面リメイク計画

ふにゃさんの操作説明ずいぶんできてきましたよー。
とりあえず基本操作は全て完了です。
走って歩いてジャンプしてバナナ食ってとげに刺さって場外に落ちるところまでできています。
今後はギヤバネなどのいろんなキャラクターの紹介ですよ。

掲示板の全面的なリメイクをしようと考えています。
まだどうするか煮詰まっていないので行動を起こすのはまだ先になりそうですが。

ファイルイメージ

ふにゃさんの操作説明用ステージを作りました。
これはプログラム上で生成される広大なマップで、操作説明の都合で何でも出てきます。
昨日言っていた具体的数値を意識せずにプログラムを組める方法については、どうやって完全で安全な方法にしようかとか、どうやって見た目に美しいコードになるように構成しようかとか、どんなわかりやすい名前をつけたらいいだろうかとか言う、結構どうでもいいところに無駄に時間を掛けすぎてしまい、予定としてやってしまいたいところまで全然届きませんでした。
操作説明用ステージはふにゃが勝手ににこにこしないためのバナナ一個と、ふにゃ自身が一人いるだけのステージですが、操作説明の都合でそのときそのときに応じて必要なものを出していきます。

次々と

ふにゃさん、最初の画面でバージョンを表記するようにしました。
そしてゲーム上での操作説明も作り始めてます。
パネルγやふにゃふにゃのときのようなものですが、もっと効率の良いやり方を考えています。
例えば、今回の操作説明では、プレイヤーに実際に動かしてもらいながら次々と新たな操作を教えてゆくのですが、次々と、というのを実現するには、今何を教えているか、という情報が数値として必要なわけで、例えば、歩き方を教えている間は1、ジャンプを教えている間は2、というようにして数値で分ければよいのですが、いちいち数値を振るのが面倒だし、AというシーンとBというシーンがあればその間の遷移も必要になることもあるわけで、生真面目にやっていたらどんどん扱う数値が増えていって、定数として数値に名前をつけて混同をなくすようにしていったとしても、ただ順番に続くだけだったら、その名前が出てくるのもその一つ前のシーンでしか出てこないわけで、どうにも手間ばかりが増えるのです。
そこで考えたのですが、この番号を自動生成して、具体的な数値をあまり意識しないようにしたらどんどん次のことを書きなぐっていけると思うんですよ。
具体的な方法は既に考えていたマクロを使う方式と関数を使う方式を考えています。

<前 次>