2006年8月の日記

<2006年09月 2006年07月>

αゲームズ

α系のゲーム、これ以上更新することもなさそうだし、ファイルサイズも大きくないし、個別で落とすのは面倒そうだし、一緒にインストールしてもあまり干渉しあわないし、全部詰め合わせで一括ダウンロードできるようにしてもいいかなと思ったりしています。
やっぱりミニゲーム類は一度にたくさんもってきて好きなのをやるというのがよさそうだし。

そうそう、Bomber丸Worldのライブラリの説明ページも書いたりしています。
まだアップしたりしていませんが。

BNF

スクリプトのコーナーの続き書いてます。
いや、でも、説明難しいよ。
BNF記法の話なんですけどね。
そうそう、lexとかyaccは使わないと思います。
C++を使っている以上、Cは……ね。

リファレンス

MusicPlayer6はほぼ出来上がりました。
後はアップすればよいのですが、なんとなく手抜きソフトっぽいので、正式な更新として扱うか、こっそりアップしてしまうべきか考えてます。

Bomber丸Worldの開発室のライブラリのページに、ライブラリの内容解説を加えることに決めました。
内容は何も書いてませんがとりあえず先にページをアップだけしておきました。

MusicPlayer6

Bomber丸Worldのウィンドウシステム、ウィンドウの各種数値設定のための補助メソッドとかを用意したらずいぶんと使いやすくなりました。
Moveメソッドを使えば、左上の位置を指定すれば大きさを買えずにウィンドウ全体を移動し、ウィンドウ内の各項目も同じだけ移動します。
以前はこれが手動だったため全部手入力で入れなければなりませんでした。

そうそう、前作っていたのとは別路線でMusicPlayer6を作成中です。
今更また作ることになるとは思ってもみませんでしたが、今度はツールとして利用できたらと考えています。

拡大比率

で、ウィンドウシステムの改良はせずにグラフィックエンジンのほうの改良を進めてました。
画面拡大の簡易メソッドを追加して、フルスクリーンのときに使用するディスプレイモードも絶対に確実なものを選べるようにしました。
絶対に確実なディスプレイモードとはどういうことかというと、つまり、現在使用中のディスプレイモードで変更しなければ一番確実ってことです。
ただ、ライブラリにyaneSDKを使っている都合上、形式上ディスプレイモードの変更という名目でフルスクリーンにしなければならないので、先に現在のディスプレイモードを調べておいて、そのディスプレイモードに変更するというやや回りくどい方法でフルスクリーンにしています。
現在使っているディスプレイモードを使えば、大抵は可能な最大限の解像度でもあるから一石二鳥ですね。

1156603999.png

閉ざされた空間

ふにゃさんの新ステージ作ってます。
追加用ステージということで、全体的な流れよりネタ重視で、難易度は本編より難しくしていこうと思います。
とりあえず今日作ったのは「閉ざされた空間」です。
元々はもっと見栄えのするステージだったのですが、最終的にシンプルな形に収まりました。
一見クリア不可能そうなステージですが、裏技を使えば一発でクリア可能です。
もう一つ作りかけで放置されているステージがあるのですが、正直作るのもテストプレイするのも大変すぎて進める気が起きません。

Bomber丸Worldもまた進めたくなってきたので、とりあえず20日までの分のライブラリをアップしておきました。
ウィンドウシステムを具体的にどう改善するかを考えているところです。

1.03

ふにゃさんの最新バージョンをアップしました。
このままアップせずにほっといてもいまいち進展があるような気がしなかったので。
ひそかにストーリー追加したりもしてます。
そんなこんなで色々変更してますので。

そうめん

爆ボンのグリーンガーデン3面のどきどきモードのデータが揃いました。
これでグリーンガーデンのデータは完全に揃いました。

今日は弟の誕生日‥‥ではなかったのですが、祝いで焼き鳥食べに行きました。
そこで食べた変わったメニュー、山芋そうめん。
山芋を細く切ってそうめんのようにして食べるというもので、思ったよりおいしかったです。
あれっていちいち包丁で切ったりせずに、ああいうふうに細く切れるスライサーか何かがあるんでしょうね。

ギリギリの契約更新

メモちらしの似非物理演算、最近いらないかなぁと思い始めています。
粒子を沢山置いたらどことも繋がってないのがすぐ飛んで行っちゃうし、腕は過剰な力で伸びきっちゃうし、常に動いてるからCPU負荷が大きいし、近似の精度が悪いとすぐ発散するし、正直思いついたから作ってみただけだったので実用性が追いついていないのです。
そういうことで、近いうちに別の原理で動作するメモちらし2が出てくるかもしれません。
たぶんバージョンアップで付加機能として作ると思いますが。

今日はサーバーの更新手続きを行いました。
本当は4日にメールが届いていたのですが誤って削除してしまっていて、今日削除済みアイテムのフォルダから発見し、期限が差し迫っていたので即座に利用料を振り込み、契約更新しました。

爆ボンのページを更新しました。
今日の更新は基本操作の頁です。
不必要に長ったらしい文章ですが許してください。

8万年早いや

気まぐれにマザー2やってました。
そうです。我らがギーグ様のお言葉を調査していたのです!!
戦闘中に確認できたのは以下の14種。
「アー アー アー」
「イタイ」
「‥‥イタイ イタイ‥‥」
「ウー ウー‥‥」
「‥‥‥ウレシイ‥‥」
「‥‥カエレ‥」
「‥カナシイ‥‥」
「キ モ チ イ イ‥‥」
「チガウ‥‥チガウ‥‥チガウ」
「‥‥‥トモダチ‥‥」
「ネス!」
「ネスサン。」
「‥‥‥‥ネスサン‥‥。」
「ネスサンネスサンネスサンネスサンネスサンネスサンネスサンネスサンネスサンネスサンネスサンネスサンネスサンネスサンネスサンネスサンネスサンネスサンネスサンネスサンネスサンネスサンネスサンネスサン‥‥」
ネスサンの連呼は24回、点々は二点リーダです。

ちょっとジロリンガ

ウィンドウシステムはとりあえず動かせる段階までできたので完成ということにはしておいたのですが、ものすごく使い勝手が悪いので、これからどんどん改善していこうと思います。
他には、グラフィックエンジンの座標変換の簡易メソッドが誤った結果を出していたため修正、マウス入力が昨日変更したときの影響でXY逆転していたため修正、テキスト表示のカラー変更に対応、といったことをしました。

爆ボンバーマンのグリーンガーデン1面とホワイトアイス1面のどきどきモードのデータを入力しました。
あとついでに、ブルーリゾートで適当に奮闘してみました。

少しブレインガ

Bomber丸Worldのウィンドウシステムがほぼ出来上がりました。
まだテストが済んでいないのでまだなんともいえないのですが、ウィンドウ内部の描画に使うクラスを全体を描画するためのクラスで使いまわしているため描画周りが少し回りくどくなってしまいそうです。
入力部分も、マウス入力に問題があったり、仮想キーの割り当てがまだ完全ではなかったため手直ししました。

サマルトリア王子同盟

Bomber丸Worldのウィンドウシステムを引き続き作ってました。
ウィンドウシステムではマウスによる項目選択に上下左右キーでの移動、Tabでの移動なので、それにあわせて入力部分のプログラムにも変更を加えました。
本体もそれなりに進んでます。

そうそう、サマルトリア王子同盟作りました。
なんというか、アキヤメ始めてからネット上でやって見たいと思ったことはどんどん実行しちゃってます。
いつ飽きて消えるかわかんないけどしばらくの間はよろしくね。

ロボット対策

かなり見つけにくい場所ですが、旧アップローダーに、ロボットによる迷惑書き込みを防ぐ対策を施しました。

Bomber丸Worldのウィンドウシステムはなかなか進みません。
大まかな目処が立ったとはいえ、どんな情報を記憶しておいて、何と何を何で関連付けて、どのタイミングで何をどう動かすか、など、はっきりと決まっていないことが多すぎたのです。
だから、実際にコードを書きながら、このコードを書くことは意味がある、之は意味がないからやっぱり消す、といった試行錯誤を繰り返して、ようやく形になり始めました。

わきあいあい

Bomber丸Worldのトップページを更新しました。
JavaScriptによりランダムメッセージが表示されます。
これはとりあえず今考えているキャラクターのせりふの中から出しています。

それと、戦闘曲の一つがほぼ完成しました。
これには主人公4人のパートと敵のパートが入っていて、実際のゲーム中ではどれかが消えたりまた出たりします。

そうそう、ウィンドウシステムについてはある程度目処が立ちました。
ウィンドウ基底クラスのメンバとして、選択項目の構造体またはクラスを入れておいて、その選択項目は選択範囲と識別コード、そしてキーに対する反応を記述しておきます。
描画は文字とか画像とか半透明とか色々あるので基本的に自動化せず、CBWDrawに直接レンダリングします。

1155740157.mid

とどめ

またしてもトドメを刺しきれていなかったので今度こそホントにトドメを刺しました。
全体像のほうは全然作っていません。
なんだか全然やる気が起こらないのですよ。
そうそう、yaneSDKのCTextDrawを使ってステージタイトルの表示をHTML対応表示もしてみようかと思ったのですが、下のナビゲーションとの相性も考えて、どうせやるなら自作、自作しないなら述べるゲームに特化したCTextDrawは使わない、という方針にしました。

Bomber丸Worldのウィンドウシステムは、もっと細かく仕様を決めるためシステムの詳細ページにあったマルチウィンドウシステムの項目を専用ページに移して加筆中です。
いろんな状況を考えると安易にプログラムを書き始められないのですよ。

全体像

ふにゃさんのエディタのオーバーフローの問題、完全に解決されたわけではなかったので今度こそトドメを刺しておきました。
そして、エディタに新機能「全体像」を追加しようと奮闘中です。
小さいステージなら普通に全体が見られるのですが、大きなステージになると全体像を把握しにくくなるんですよ。

ゴキムカデ

うむ、はい。更新しました。スクリプト講座。今度はBNFでも書こうと思ってますよ。

今日はマリオパーティで999コイン集めるのに成功しましたよ。
とにかく一人に都合が良くなるようにみんなを操作して、コイン一点集中です。
チャンスタイムは最大のチャンスです。

今日はなんだかゴキムカデを描きました。
ゴキブリをムカデを合体させたものです。
お絵描き掲示板に描いたので見たい方はそちらへどうぞ。

ウィンドウシステム

Bomber丸Worldのウィンドウシステムを作り始めました。
しかし、システムの詳細ページにあるあの状態でもまだ全然具体的に書いてるわけじゃないので、つまり、もっと具体的に色々決めないと作れなさそうです。

そうそう、プログラミングコーナーのスクリプト言語を作る企画のほうも進めてます。
とはいえまだこちらも準備段階。
プログラムは一行も書かず、予備知識ばっかり書いてます。

HTML表示

続いてHTMLを解釈して表示するCTextDrawのBomber丸World用カスタマイズバージョンを作ってみたのですが、やはりこういう高度な内容のものは作る対象が絞られてしまっているらしく、yaneSDKが主なターゲットとしているノベルゲームにはよく合う内容らしいのですが、RPGであるBomber丸Worldには合わなくて、結局作ってはみたものの没ということになってしまいました。
扱いが面倒な割りにはやりたいことができなかったり余計なものが付きすぎていたりするんですよね。
CSenarioViewなんかは最早論外。

1155307992.png

InputSystem

今日はBomber丸Worldのキー・マウス入力システムを作りました。
キー入力に関してはDirectXが出してきた値をそのまま渡すだけですが、マウスに関しては、画面を拡大することもあるので、それに応じて適宜補正をかけて値を出します。
ついでに描画関連も色々改良しました。

1155220535.png

もっと意地悪な門番

今日はふにゃさんの追加ステージを作ろうと思っていたのですが、2~3バグがあったので修正していました。
一つはオーバーフローに関して。
広すぎるステージを作ると途中の計算の段階でオーバーフローが起こり、強制終了されることがあります。
もう一つは、ステージの大きさに不正な値が入力されると、本来の最小より更に小さい規模のステージが作れてしまうこと。
最後はカレントディレクトリについて。
設定プログラムでは音楽を任意に決めることができるのですが、そのときふにゃさんのフォルダ以外にある音楽を選択してからボタンでゲームを起動すると、音楽のあったフォルダでゲームが起動するので、音楽のあったフォルダにステージや画像を探しに行き、ゲームができなくなってしまうということです。
これでちょっと新ステージを作る気が失せたので、標準ステージ12面の攻略を作っていました。

テキスト表示

今日はBomber丸Worldのグラフィックエンジン2のうちテキスト描画を作りました。
ドット絵は拡大画面でも常に320x240の解像度のときと同じものが表示され、拡大されてカクカクのドットが明らかにわかるようになってきますが、文字列のほうは高解像度なら高解像度で文字が書けるので、ドット絵として拡大するのではなく、大きさと拡大率情報を保持しておいて、大画面では大きく書くようにするのです。
このために、ドット絵を正しく拡大して表示するルーチンと文字を大きく表示するルーチンが必要になりましたが、とりあえずこれでグラフィックエンジン2はひとまず完成といえそうです。
今日の画像は、3倍拡大画面での実行結果です。

1155048422.png

ルア

う~む、組み込みに特化したプログラミング言語Luaなるものがあるらしいです。
まあ、確かになかなか性能は素晴らしいものがあるのですが、やはりBomber丸Worldに組み込むには狙っている方向性が違っていて組み込めそうにありませんでした。
もっとも、プログラミングコーナーで作り始めてしまった以上どちらにしても後戻りはできなかったんですけどね。
ゲーム本体側からスクリプトの中の特定の機能を気軽に呼び出すというのはLuaでは結構面倒な手順を踏まないといけないんですよ。
スクリプトの実行中にスクリプトの内容そのものを書き換えることもできなさそうだったし。

アキヤメの舞台設定などを復活させました。
前はあまりにも多すぎるキャラデータをHTMLに変換する労力に耐え切れず閉鎖してしまったのですが、簡易的にテキストをHTMLに変換するプログラムを組んでどんどんキャラを出していくことにしました。

簡単なストーリーの流れ(ちょっとネタバレ)

<オープニング>
シロ、仕事する

同僚のテルルと一緒に帰る

途中売店に立ち寄る

シロだけ入って買い物しているとテルルさらわれる

シロ、終わってから気付き、慌てて帰る

クロに警察は当てにならないといわれ、自分らで探すことになる

途中、ふにゃと出会い、なぜかついてくることになる(任意)

また売店に立ち寄る

謎の男が襲われているので助けることになる

バトル:ヨワシ戦(ふにゃを仲間にしていなければこの戦いの途中で仲間になる)

謎の男が仲間になり、事件の事を聞かされる

とりあえず、クリアス・バイオ研究所なる場所へ行くことになる

<クリアス・バイオ研究所>
入るといきなりコピー機登場

バトル:コピー機戦

(途中、まだ考えてない)

よくわからないがクリアスが悪者ということらしいので戦うことになる

ボス:クリアス戦

謎の男が魔法のようなものでクリアスをどこかへ飛ばしてしまう

謎の男によると、他にも怪しいところがあるらしい

<ホーリィ製鋼所>
町でオミナガミから社員証をもらう(任意)

社員証を使い、入る(ない場合、扉を爆破し強行突入)

なぜかアラ軍団に襲われる

バトル:アラ軍団戦

(やはり、ダンジョン内の仕掛け等は実際作り始めてから考えるべきだろう)

開かずの扉を爆破するとプララに襲われる

ボス:プララ戦

謎の男が魔法のようなものでプララもどこかへ飛ばしてしまう

<海洋研究所>
どこかで船を借りて海洋研究所へ

(なにもかんがえてない)

ボス:ヨシフミ戦

謎の男が魔法のようなもので(以下略)

なぜか帰りに詐欺容疑で警察に捕まる

<刑務所地下>
留置所じゃなくて刑務所…?ここの警察は当てになりませんから

囚人の一人に地下通路へと案内される(何もせず果てしなく長い時間待っていれば釈放されることも可能)

なぜかキャティアと戦うことになる?

バトル:キャティア戦

(これといった大事なイベントは用意されていない)

出口を塞いでいるボス!と戦わねばならない

ボス:ボス!戦(本名は今は教えません)

謎の男が魔法のようなものでボス!を……飛ばせなかった

ともかく、脱出

<インサイド・コエダメ>
病院の裏口から自然園へ潜入

どこかにある穴から地下のインサイド・コエダメへ入れる

(ここは、本当に何のイベントもない)

なりゆきでゲロノフン2世と決闘することになる

ボス:ゲロノフン2世

謎の男が(以下略)

<カリスマ小中高大一貫校>
練習試合という名目で入れるらしい

というわけで強さを試される(でも弱い)

バトル:先生戦(この先生にはまだ名前がありません!)

(ここには大小さまざまのイベントがあり書ききれない!)

悪徳校長を退治することになる

ボス:ノーリッジ戦

謎(以下略)

<カイモチ村>
謎の男から、最後に行くべき場所がカイモチ村だと知らされる

カイモチ村に入るとふにゃが何かの存在に気づく

バトル:オバケ戦

(以後、各地にいるオバケ達が見えるようになり、会話も出来るようになる)

村長かいもち1世に話を聞く

どこかの壁を爆破しラストダンジョンへ潜入

謎の男が仲間から離脱する

バトル:ツヨシ戦

(謎の男を再び仲間にするかどうかでストーリー分岐)

新ダイアログ

NeoMuplに情報バーと同じ内容のダイアログを追加しました。
今後情報バーのバージョンアップはしないので、追加要素があれば演奏情報ダイアログのほうに追加されていきます。
本当は情報バーはもう取り去ってしまおうかと思っていたのですが、設定で消すこともできるし、邪魔にならないからいいかというとことで、一応残してあります。
それに伴いポップアップメニューも変更しました。
これで足りなくなった部分は順次補っていきます。

じゅうまんてん!

プログラミングコーナーのスクリプト作りのページを更新しました。
しかしまだ実際のプログラムのコードは一行たりとも書いてはいません。
やはりほかのミディビやふわふわふにゃの時のようにまずは何か書いてみて、それからはじめましょうというわけにはいかないのです。
とりあえず、後2~3回こんな調子で内容を固めていって、それから作り始めることにします。

ロープdeるーぷ+、10万点超えました。
以前にも書いた短く繋げる戦略で序盤レベルをどんどん上げつつ魚を捕獲し、消せないロープが増えてきたところで魚を使ってとにかく繋げるところをどんどん繋げる戦略に転換。
一匹一匹はまるで役に立たない魚ですが、数匹程度一度に使うとかなり効果が出るみたいです。
また、直線型の紐のように都合の悪い紐が出てきたときに次にスキップするのにも使えて、むしろピンチじゃないときにはこのスキップの費用として使うことが多いです。
今日の画像はゲームオーバー寸前のゲーム画面。
最終到達レベルの記録のために残してみました。

1154693248.png

オートツ♂♀

掲示板のアイコンにマトモデナイモンスターとレダフティクを追加しました。
そしてついでに、コネコベーダーも修正しました。

今日の絵は、Bomber丸Worldの敵として出そうと考えてみたキャラクターだけど、いろんな意味で使いにくくて却下されたものです。
いや、元ネタはおねじとめねじです。
変な想像しないでください。

1154616381.png

まりおぱーてー

最近マリオパーティを再びやり始めました。
私の場合、マリオパーティをプレイする=特定キャラをいじめる、というパターンが多かったのですが、今度はコントローラを2つ挿して、二人で協力して一人を1位にするプレイをやっています。
チャンスタイムはいつだってピンチタイム。

歳の差カップル

Bomber丸Worldのグラフィックエンジンの拡大バグ、1ドット余計に拡大することで右下が潰れるのは解消できました。
左上が膨らむほうはどうにも解消できなさそうですが、左上を透明にすれば少なくとも膨らんでいることはばれずに済みそうです。
ややインチキ臭いですが結果にはあまり影響がないので勝手によしとしておきましょう。

パネルγのチュートリアルのページを更新しました。

今日はアルニックの3歳の誕生日なのです。
そこで、久々、今日のアルニック:
美文>3歳のお誕生日おめでとう!!
アルニック>あっ、今日あの人の誕生日じゃない
美文>あの人ってあなたですよ!
アルニック>・・・・
美文>あれ?契約期間過ぎてるのにウイルスバスターアップデートできる
アルニック>こんどデートにいきましょうよ
美文>い、いけません。私は21歳、あなたは3歳。歳の差が有りすぎます!!
アルニック>それっていい話じゃないの

1154443527.png

<2006年09月 2006年07月>