「メテオンもどき」に関する日記

次>

TGWS内部処理

12月ごろに修正して、ふにゃ1の対応のため伸ばし伸ばしになっていたファイルのアップロード、今日終わらせました。

一番大きいのが、アンパンマンDBのキャッシュシステムの変更。
これまでは、キャッシュが古くなったことに気付けずに古いコンテンツを表示し続けるケースがあったのですが、今度のはキャッシュを場所ごと変えるので、古いのを探そうとしても見つからなくて強制更新されるようになります。

次が、メテオンもどきのシステムのTGWS本体との接続と切り離し。
メテオンもどきは今後更新らしい更新をする気はないので、システムとしては別扱いにしたい一方、エラー処理周りは本体と統一しておかないと、エラーが発覚しなくなって動作しないまま放置される恐れがありました。
なので、エラー処理だけTGWS本体のを使って、他はほぼ昔の状態に戻しました。
もちろん、サービス終了しているので、「正しく終了した状態」に戻したわけですが。

それと、大昔のIE向けに作ったtenuki.jsの削除。
ページ内ナビゲーションの機能を提供していたのですが、今はもう動きません。
なので、同等以上の機能をPHPで作って、サーバーサイドで生成するようにしています。

あとは、コメントの修正。
これが一番数が多かったのでした。

メテオンもどきとPHP8.3とNeoMupl

メテオンもどき

ゲーム本体はもうとっくに動かないんだけど、微妙な警告が出ていました。
PHP8.3の動作確認中だったのですが、バージョンアップの影響かどうかは不明です。
どのみち、良い傾向とは言えないので、修正しています。

PHP8.3

というわけで、ステージング環境的な場所で、動作確認中。
表示時にエラーが起きないかどうかだけなら、クローラーを走らせればいいだけなので楽。
まあ、でたらめに走り回るので、エラー発見効率はお察しですが。

NeoMupl

コミットメッセージが紛らわしいですが、アンドゥ・リドゥ機能の実装を始めました。
GitHub Copilot を試しに使ったんですが、チャット機能で生成させると微妙で、履歴の一動作に相当するインターフェースを作ってやると、それに沿っていい感じに作ってくれました。
アンドゥ・リドゥ機能自体はエディタ系のプログラムでは定番なので、お手本となるコードも豊富なんでしょうね。
こっから先の、各動作を実際にやり直す機能は、さすがに自力で実装しようと思います。

画商

ふにゃさんの当たり判定効率化のため、キャラマップを作っていました。
キャラの相互作用(ぶつかったりやっつけたりやられたり)は、ほとんどの場合、隣やすぐ近くのマスの相手にしかないので、どのマスにどのキャラがいるかというのをマップに記録しておけば、いちいち全部のキャラの中から相互作用が起こる相手を探さなくてすむので、キャラ数が増えてもそう極端には重くならないというわけです。
その代わりキャラ数が少ないときにはあまり効率的ではなくなりますが、そのあたりは本来重い処理ではないので深くは考えないことにします。
あと、広いステージの難易度を微妙に調節中です。
このステージは上るのは難しく下りるのは簡単という難易度バランスにしたいので、簡単に上れてしまう部分は難しく、下りるとミスしやすい部分は簡単にしていっています。

今日終了したメテオンもどきについてですが、見るメテオンもどきの画像生成中、ずっと白い画面なのが気になったので、画像生成中のメッセージを表示するようにしました。
もしかしたら今後も何か更新することがあるかもしれませんが、それはまたプレイできるような更新ではないでしょう。

メテオンもどき最終日

メテオンもどき終了処理作り終わりました。
時が来れば自動的にページが置き換わります。
もちろんクライアント側にロードしてしまった分についてはどうもしないので、プレイ中にいきなり画面が切り替わって終了ということはないため、最後の1プレイぐらいは何とかなると思います。
まぁ、だからといってずっとページ表示しっぱなしにして遊ぶほどの再現度じゃないんですけどね。
そんなことするぐらいならDSのを買うことをお勧めします。

ふにゃさんの重い原因については、開発当初に少し危惧していた、オブジェクト数が増えたときに当たり判定の処理時間が加速度的に増大することが問題だったようです。
これに関しては、一応解決策はあるのですが、結構大きく改造する必要がありそうで、まだ手を付けられないでいます。

ルミネスが基となった惑星

本当に久しぶりに本家メテオスオンラインのほうのページを更新しました。
ルミオスのページ、本当はサービス終了前から画像は用意していたのですが、サービス終了告知の影響で精神的に作れる状況じゃなかったんです。
リニューアルを機に、手遅れながら、作ってみました。
本当はもっといっぱい書くことがあったような気がしますが、やっぱり実物がないことには…。

ちなみにもどきのほうのロケット噴射については、どうしてもうまくできないので、もう諦めてしまう方針です。
作りかけのオリジナル惑星も、背景とか、設定とか、いろいろ作ろうと思っていたのですが、こちらも諦める方向です。

そういえば2007年中にゲームとして成り立つくらいには作り上げるといっていたBomber丸World、Wiki見ても分かると思いますが、メテオンもどき開発開始のころからほぼ手をつけていません。
最近になって、状況を思い出すためソースを覗いてみたら、結局思い出したのはマップ処理の方針が決まらなくて開発停滞していたということ。
ちと年内にプログラム完成、年度内にデータも完成というのは無理そうです。

ロケット噴射

メテオンもどき、いまさらながらロケット噴射の画像を作っています。
プレイ中ならどこが飛んでいるか見てすぐわかるのですが、静止画となるとどうにも飛んでいる実感がわきにくいんですよね。
あと、こっそりアプレットとゲームプレイ用のページも最新にしておきました。

ひたすらガチャプレイ

見るメテオンもどき、おおよそできました。
シミュレーション方法としては、HGPアルゴリズムを用いています。
ただ、そのままHGPを使うと生存率がかなり悪くなるので、生存しやすくなるように補正を掛けたりしています。
テスト用の惑星を基準にして、それなりに生存・滅亡する2分を基準にして調整しました。
あと、細かいことながら、カタマリの外に出た燃えカスの還元タイミングを微調整しました。

見るメテオンもどき

見るメテオンもどきのシミュレーション部分を作成中です。
静止画を作るのが目的なので、シミュレーションの最中はゲーム画面を見せないようにしたほうが良いということで、ゲームの1フレームの処理が終わっても最終的な結果になるまでは描画を抑制するようにしています。
そして、シミュレーションに時間がかかる場合はある程度時間が経った時点で自動的に処理を打ち切るようにするつもりです。
後、サウンド関係の処理はばっさり切り捨ててます。

MeteonSee

メテオンもどきの本体を画像ジェネレータに改造中です。
画像を生成する方法としては、内部的にゲームの挙動をシミュレートして、ある程度進んだところでとめてその時点での画面を画像として出すという方式にしようと思っています。
静止画である都合上、サウンドの設定はなかったことにされます。
ちなみに名前も「見るメテオンもどき」と「MeteonSee」に変更する予定です。
…ん?滅亡したらどうするかって?

滅亡フラグ

メテオンもどきを年明けに自動終了するプログラムを作っています。
トップページの告知を変更するプログラムはすでにできていたのですが、肝心のゲーム本体を置いてあるページがそのままだったのですよ。
こっちは削除対象であればそれ相応のメッセージを表示して、それ以外だったら画像ジェネレータを表示、という流れになるのですが、それはそれで、削除メッセージも画像ジェネレータもできてないわけで、こりゃどうしようかなーというところです。

リプレイシーン

ふにゃさん録画機能のために、まずはリプレイを再生するためのシーンを作っていました。
リプレイデータは1コマずつ記録されているので動画の1コマと対応付けて保存すればきれいな動画の出来上がりということになるのです。
あと、ついでにリプレイデータの保存先の指定をできるようにしようとも考えています。
サウンドの保存に関しては、どうするかは結構それなりに未定です。
理屈の上ではできるはず…という構想の段階です。
う~ん、でもリプレイ&録画専用シーンってどういう風にゲーム的に組み込めばいいかなぁ…。

メテオンもどき、最後の更新として、初期積み上げ高さが1だったときにメテオが消滅するバグを解消しました。
で、トップページはすでに終了日までのカウントダウン開始です。
後は終了後の処理を考えるのみであります。

メテオンもどき終わります

やっとのことでQからメテオンもどきの利用についての返答が来ました。
で、著作権がQだけのものじゃないということで、ダメとのことでした。
以下全文です。

  • ---------------------------------------

お問い合わせいただきました件につきまして、弊社のメテオスオンライン担当者
及び、法務担当者へ確認を行わせていただきました。
確認及びご回答までにお時間をいただき、ご返信が遅くなりまして誠に申し訳ご
ざいません。

お問い合わせいただいておりますメテオスに関しまして、著作権は弊社「キュー
エンタテインメント株式会社」一社のみではなく、「株式会社バンダイナムコゲ
ームス」様等、他社様も有するものとなっております。
誠に申し訳ございませんが、お問い合わせいただいた件や、その他の著作権に関
連した内容がありました場合に、公認とする事や、公開の許可を行うといった事
はできません。

お客様にご連絡いただきました、

・これによって利益を得るつもりはなく、キューエンタテインメントに損害を与
 えるつもりはない
・メテオスを体験できる機会を増やすことでもっとメテオスが広まってほしい

上記の主旨につきまして、これほどにもメテオスオンラインを好きになっていた
だけた事が弊社として大変うれしく、また、お客様にとても感謝いたしておりま
す。
メテオスオンラインの担当・関係者であった者も「ここまでやっていただけると
は」と驚いておりました事を、お伝えさせていただきます。

しかしながら、「メテオスオンライン」はサービス終了となりましたが、『メテ
オス』自体がなくなった訳ではございませんので、お問い合わせのJavaアプレッ
トを公開された場合、著作権に関しての問題となる可能性が高く、そのような理
由も含めまして現在公認や公開の許可を行う事はいたしておりません事を、ご了
承いただけますようお願い申し上げます。

メテオスオンラインのサービス終了、並びに公認・公開の許可といった事が行えず、
大変申し訳なく思う次第でございますが、何卒ご理解とご容赦いただけますよう
お願い申し上げます。

このようなご期待に副う事ができない回答となり誠に申し訳ございませんが、
お客様のメテオスオンラインへの真摯な思いや、建設的なご提案のお問い合わせ
をいただきました事を、メテオスオンライン関係者一同、お礼申し上げます。
誠にありがとうございました。

メテオスオンラインサポート
メテオスオンラインスタッフ一同

ノーアイテムクリア

メテオンもどきの素材置場を更新しました。
素材を探すときいろんなものがごちゃ混ぜになっている中から目的のデータを探すのは手間がかかるので素材の種類ごとに分けて表示できるようにしました。

浮き沈みランチャーも更新しました。
うまいこと削除と右クリックメニューが実装できたので。
一部実装されていないのに表示されるメニューもありますが、そこのところは開発中ということでご容赦ください。

そうそう、爆ボンで新しいやりこみ始めました。
その名も「ノーアイテムクリア」。
ルールとしては、
・最弱状態で開始
・アイテムは一切取らない
・敵になるべく攻撃しない
・ボムをなるべく使わない
・自分は死なない
の5つにしようと思っています。
このルールから次のような制限も生まれます。
・フルパワー禁止(これは当然)
・パワーアップ不可(ボス戦のリモコンは例外)
・ゴールドカード禁止(なのでレインボーパレスも出ない)
・敵は避けて進む(カードがいらない以上殺生は無用)
・ボムジャンプもなるべく使わない(自力ジャンプ連発なんて興ざめだもんね)
今回はわくわくモードで挑戦することにしました。
どきどきモードだとブラックシティ1・2面が半端じゃなくきついので。
謎解きステージはカード5ルートを進んでゴール前で待っていればいいだけなので割と楽です。
なので、見所は必然的にボス戦ということになります。
で、ボス戦では普通にやっているとたいてい何かしらのカードが手に入ってしまうわけですが、それでは非常によろしくないので、カード回避条件を満たしつつ戦わねばなりません。
たとえば最初のシリウス戦では、
1.最初の20秒間ダメージを与えない
2.ためボムを当てて気絶させない
3.ためボムの炎でダメージを与えない
4.場外に投げて倒す
5.タイム20000以上掛けて倒す
となります。
リッパーやハウトなどが相当きつそうな気もしますが、暇を見つけて挑戦してみます。

基本機能ができたので

とりあえずプログラムを起動して浮き沈みするようになったので浮き沈みランチャーをアップしてみました。
今後は右クリックメニューを実装して、フォントや色などをカスタマイズできるようにして、アイコンも表示できるようにしたいと思っています。
もちろん項目の削除や編集なども。
アイコンは非同期で読み込んで、アイコン表示町で操作できないということができるだけないようにしたいと思っています。

今日はメテオンもどきもいじりました。
シュートするとカタマリが崩壊するバグがあったのでその対応と、移動方法ルールの作成をしました。
移動方法は、縦移動と横移動の可否が個別に決められて、縦移動のみ、横移動のみに加えて、どういうわけかどっちもできないルールもできたりします。
あと、メテオスオンラインになかったルールとして、横向きのシュートのようなものも作ろうかと考えています。
もちろんそのまま横シュートなんてことはできないんですけどね。

浮き沈みランチャー

メテオンもどきに横幅制限機能をつけました。
それと、パラメータ取得のBoolean値に対する処理が不適切だったのでその点を修正しておきました。
あとは、サウンドの事前読み込みをしようとしたけど失敗した、といったところでしょうか。

そうそう、MifuminLaunchを「浮き沈みランチャー」に名称変更しました。
やっぱり実用ソフトにはその内容を簡潔に示す名前をつけないとね。

CGソフト

掲示板にアップロードされたファイルのチェック機能をつけていました。
まだ全部の形式じゃありませんが、ファイルの内容を見てある程度の判断をつけています。

メテオンもどきの動画を撮ってみようと思ったのですが、やっぱり撮影中重くなるソフトが多く、まともな動画撮影は難しいかな、といったところです。

あと、きれいに拡大縮小できる画像を作りたくてドローソフトを探したりしてました。
とりあえずInkscapeを入れてみたのですが、慣れていないためかまだまだ簡単なイラストすらも満足に描ける状態ではありません。
ついでに3DCGソフトのBlenderも入れてみたのですが、Windowsとは離れたユーザーインターフェースのため、本当にいまだに何もできていません。
やっぱり3DだったらMetasequoiaかなぁ。
Vistaではシェアウェア版(未登録の者にとっては機能制限版)しか動かないらしいけど。

アップロード掲示板

メテオンもどき、白文字に黒縁をつけることで背景画像を邪魔しないように文字を読みやすくできたのでアップしました。
これで、なければ困る機能は大方そろったと思うので、今まであまりやってこなかったことのほうに力を入れるようにして、メテオンもどきのほうはそろそろゆっくりの更新ペースに落としておこうかと思っています。
とりあえずBGM切り替えと同時に生存した場合に両方鳴りだしてしまうバグを解消してから…ね。
演出面やちょっと不便なところなどの更新はもう後回しにしようかと思っています。

今日はVistaに変えてから不安定だったAN HTTPDを調整して何とか勝手にエラー落ちしないようにしました。
問題はPHPのモジュールにあったらしく、モジュールとしての実行からCGIとしての実行に切り替えるとエラーが起こらなくなりました。
ということで、前々からやりたかった、TGBBSへのファイルアップロード機能の追加をやってみました。
メテオンもどきが宣伝効果となってダウンロードゲームのほうもやってくれる人が増えたようで、自作ステージのアップロードなどにも早く対応したくなったのですよ。

JS前提のページ

爆ボンやったりメテオンもどきを作ったりしていました。
爆ボンはレインボーパレスが出現して、フルパワーレインボーパレスに挑戦することができる状態になりました。
ブラックシティはブラックシティで、慣れても難しいものですね。

メテオンもどきのほうは、高度な一覧機能を作っているところです。
全面的にJavaScriptを利用してページを表示するため、JavaScript非対応環境ではほとんど何も表示されませんが、デフォルトで高度な一覧機能は利用しない設定になっているのでその点は対応できていると考えています。
原則として1ページに全ての惑星を表示する以上、1ページ内にJava用と非対応用の両方を入れているとページの重さが2倍になってしまうんですよ。
ちなみに、どんなに惑星が多くなっても分割表示するつもりは基本的にありません。

フルパワーに最も向かないステージ

メテオンもどきでセキュリティソフトの影響により投稿ができないという問題が発生したようなので、急遽パラメータ抽出を手動式に戻しました。
今までの自動パラメータ抽出は設定により可能になります。

あと、今、爆ボンで、レインボーパレス1面どきどきモードフルパワーハートなしノーミスで10分以内にカード1~4&カスタム入手に挑戦しようと考えています。
考えても見れば、これができれば全てのステージがフルパワーで攻略可能ということになるわけです。
ものすごく難しそうですが、何とかがんばってみます。

次>