してログ

このブログでは、主に技術系の話題やネット関連の話題を扱います。 ネーミングはまだしっくりいってないけど、「LANDHERE Web Site log」→「Site blog」→「Sitelog」→「してログ」、とりあえず。

CODE A2 総攻撃パターン
CODE A2 総攻撃パターン

お正月休みにゼビウスの複合攻撃について調べていたとき、偶然発見した総攻撃プログラムについてまとめておきます。

まず、前知識として空中物の攻撃パターンのテーブルについては128パターンあり、得点やゾルバク破壊その他により進んだり戻ったりして変化するようになっています。プレイの内容によって早回しや巻き戻しが起きますが、これが127(最後)までテーブルが進むと64に戻されて以降64~127の間を繰り返す形になっています。ここでもし128以降に進んでしまったら何が起こるんだろうって疑問が湧きますよね? そう実はこの128以降にも攻撃パターンの設定がされていたんです。

正規の攻撃パターンの最後 "0x7F" は「ブラグザカート×2」になっています。では次の "0x80" にコマを進めてみると何が起こるでしょう? 実際にやってみると...、リセットが掛かってチェックパターンになってしまいました...、これはある程度想定ができます。何らかのバグにより想定外のポインタに移行してしまったらリセットを掛けるという、いわゆるセーフティ機能だと思います。ここで検証を止めないのがO型の私でした。その次の "0x81" を試してみると「トーロイド×5、ジアラ×1」という面白い複合攻撃が出て来ました。「おお、もしかしたらゼビウスの開発時にいろいろと複合攻撃の組み合わせをテストしてみたのかも知れない」と探索モードにスイッチが入ったのです。

地道な探索作業を繰り返していると、「タルケン×5、ジアラ×1」「ゾシー×4、ギドスパリオ×2」「ゾシー×1、カピ×1、画面右からスパリオ」など面白い組み合わせは見つかるものの、大半はリセットやフリーズといったものばかりでした。

それは 0xA2 で突然やってきた

不毛な作業だと思いつつ探索を続けていると、コード A2 のところで「ん?」ってなったんです。「いまチェックパターンのようなキャラぐちゃ画面出たな、何だったんだろう...」(探索作業はノーウェイト=早送りでやってましたので)

それでノーウェイト解除して再スタートしてみると、地獄を見るような総攻撃が展開されたのです。あまりの物量攻撃で数秒しか生き残れない無理ゲー、恐ろしいものを見つけてしまいました。

ゼビウスというものは空中物は6機までという制約があるハードなんです。それがざっと数えても30機以上もの空中物が出ている...、目の前にしてもにわかには信じられない光景です。しかもただ出ているだけじゃなく、普通に動いて弾を撃って〇しに掛かっている。これはバグってるという状態じゃない、明らかにプログラムされた攻撃パターンであるのは間違いない。

(つづく)

関連動画

1年以上の放っておいた作業をお正月休み中(長期休みなためだいぶ捗りました)に再開させています。散らかっていたバージョンを整理して、以下の5つにまとめる作業及びデバッグ・バランス調整がひと通り完了です!

バージョン内容
完全版(debug)
オリジナル版のバグ修正と敵配置を美しく修正した完全版
  • エリア6ソル消失バグ修正
  • エリア7ドモグラム解散バグ修正
  • エリア14空中物設定ミス修正
  • その他敵配置の微修正
  • グラフィック修正
  • フォント修正(より Countdown に近づけた)
  • エリア表示の追加
  • 残機表示の修正
デバッグ版(debug_min)
敵配置やプログラム改変を除くデバッグ版
  • エリア6ソル消失バグ修正
  • グラフィック修正
ミラー版(mirror)
背景マップ及び敵配置を左右反転したゼビウス
  • 背景マップは埠頭の影のみ修正(左右反転のみだと影の方向がおかしいため)
  • 敵配置及びドモグラムの移動パターンは反転ツールを開発
レド版(redo)
追加要素を盛り込んだゼビウス
  • オリジナル版をベースに改変
  • 各エリアに1本以上のソルを追加
  • 難易度のアップ(SUPERの要素、オリジナルの要素を追加)
  • 新しい裏設定を追加
  • フォント変更(ゼビ文字=Redo版は逆輸入版という設定)
  • Redo は「改める」の意味
ハーロ版(haro)
まったく新しい敵配置のゼビウス
  • 背景マップはオリジナルの左右反転したものをベースに、左右がループするように修正
  • 敵配置は仕様を目いっぱい活用(消失ソル修正テクニックを駆使した詰め込み)
  • アンドアジェネシスとナスカの地上絵の夢の競演が実現(胸アツ)
  • フォント変更(オリジナルフォント)
  • Haro は「希望」の意味(語呂が悪いが他にいいものがない)

新しく考えた設定など

高速連射型ログラム(デロータ試作機)

ログラムにグロブダーのパワーパックを組み合わせた新型砲台の試作機である。この新型砲台はデロータとして小型化、結実されることになるが、非常に高価なブロック 3A のグロブダーに採用されているパワーパックが必要なことから配備数は伸び悩んだ。後に、可搬性や経済性の観点からこの試作機が見直され、配備済みのログラムのアップグレードが行われることとなる。このログラムは単基での攻撃力はさほど変わらないが、グロブダーとパワー結合することによりデロータに迫る連射性能を発揮する。

ログラムのアップグレードは、グロブダーのパワーパックを接続する中継機を搭載するのみで済み、グロブダーはダッシュ性能のあるブロック 3A もしくは 3C の機体が必要である。この中継機は非常に安価なため、配備済みのログラムの改修が盛んに行われていると報告されている。改修が進めば、地上配備型砲台と移動型砲台の利点を併せ持つ新たな脅威となりうるであろう。

なお、パワー接続されたグロブダー側を破壊しても連射性能はしばらく維持されるのに対し、ログラム側を破壊するとサージによるダメージのため再起動に時間を要する(グロブダーは動けない)。従って、同時に爆撃することが困難な場合は、ログラム側をプライマリターゲットとするのが有効である。

シオナイトのエスコート

レド版とハーロ版の最終エリアにシオナイトが出現するのは、ナスカの地上絵の空域にワープさせるためです。「最終エリアらしい演出が欲しい」ただそれだけで入れたのですが、ノーミスで抜けられた際にだけ見られるご褒美と捉えていただければと思います。なお、シオナイトの分のキャラクターテーブルが削られるので、若干弾幕が温くなっているのは内緒です。

新たなゼビ文字フォント

素直にゼビ文字フォントを作ると、細い線だけで見栄えがあまりしません。たて、よこ、ななめ、線が重なるので 8x8 ドットだとどうしても無理が来るため、太くするとかは何回か挑戦するものの、無理というのが結論です。今回ひげ(セリフ体)と内側を結線しない、というルールでどうにかオシャレなゼビ文字フォントを作ることに成功しました。

新たなゼビウスのトリビア

正月の解析成果で新たなトリビアが生まれました。

一番最初に出てくるガルデロータが最強

ガルデロータは発弾頻度が設定できるのですが、全エリアを通じて最も発弾頻度を高く設定されているのがエリア3最後のガルデロータでした。実際に観察してみて分かるくらい発弾数が違いますので、いちど確かめてみてください。

ちなみに、こいつと同じ設定をガルデロータ全基(共通設定なのでデロータにも適用されます)にすると、攻略がかなり辛くなります。

エリア8のドモグラムは最も弱い

ドモグラムも発弾頻度が設定できますが、なぜかエリア8の設定が最低の値になっています。このためエリア8のドモグラムはほとんど弾を撃ってきません(1発撃つか撃たないか程度)。覚えておくと攻略の参考になるかも知れませんが、逆に意識外からスナイプされてしまうかも知れません。

設定値としては、0x00~0xFF までで、値が小さいほど発弾頻度が高くなります。他のエリアは 0x0F~0x3F くらいを設定してあるのに対し、エリア8は 0xFF と極端な設定になっています。そう考えると限りなく設定ミスっぽい気がします。

エリア7のドモグラムの盆踊りの解散

エリア7の回転するドモグラムの集団を破壊しないで観察していると、消える直前に列を離れて解散していく様子が目撃できます。プログラム的には最後の方向転換を指定していないだけなのですが、まるで「あーあ、終わった終わった、解散~」などと言っているようで笑えて来ます。デバッグ版その他では、これを修正しています。

ガルザカートの中からゾシーが登場

ゾシーを連れてガルザカートを破裂させると、ガルザカートの中からゾシーがワープして出てくることがあるっぽい。狙って出せるものでは無いですが、絵的にシュールな光景で今まで聞いたことがありませんでした。

「ゾシー」実は2タイプある

ゾシーは、自機を正確に追尾してくるものと、ランダムに方向転換するもの、の2タイプがあるようです。前者は方向転換の度に自機の方向に転進しますが、後者は完全にランダムに転進します。方向転換の頻度が少ない設定だと分かり難いため、今までこれに気づきませんでした。

ドモグラムのかわいい行動

エリア6のグロブダーの直後に右上から斜めに横切るドモグラムですが、袋小路に入ってスクロールアウトしますよね。実はスクロールアウト後も動きがプログラムされていて、袋小路内を行ったり来たりを数回繰り返しています。見ていないと思って油断してたらダメですよ^^;

ちなみにスクロールアウト後の動きは、エリア8のドモグラムにも見られます。こっちは道に沿って角を曲がっているだけですけどね。

出現位置を早く改造して観察できるようにしてみた

チラ見せ!ゼビウス復路(かえりみち)

箱根駅伝を見ていて思いついたネタです。とりあえず簡単に作れる部分のみやってみました。内容はお察しのとおり、マップを180度回転させてエリア16からエリア1まで戻っていくというものです。

地上物や空中物はプログラムで反転させるのは簡単です。ただし、ドモグラムやグロブダー、アンドアジェネシスなどは調整しないとダメそうです。グロブダーはほとんど停止させるとして、ドモグラムは出現位置を調整して移動パターン自体を反転する必要があり、これらはすべて手作業になるでしょう。

ここが超難関!ブラグザカートのせいで専制攻撃ができない
ここが超難関!ブラグザカートのせいで専制攻撃ができない
エリア15最後の要塞は割と簡単に突破できます
エリア15最後の要塞は割と簡単に突破できます
アンドアジェネシスが崩壊してしまいました^^;
アンドアジェネシスが崩壊してしまいました^^;
仮想マシンのコピー

ディスクイメージは、cp コマンドを使うとシンがシックになってしまうので、vmkfstools -d thin のコマンドを使用してコピーします。

vmkfstools -i /vmfs/volumes/src_vol/src_vm/src_vm.vmdk /vmfs/volumes/dst_vol/dst_vm/dst_vm.vmdk -d thin

その他のファイルは vmx を普通にコピーすれば良いです。

cp /vmfs/volumes/src_vol/src_vm/src_vm.vmx /vmfs/volumes/dst_vol/dst_vm/dst_vm.vmx

ウェブサーバのストレージを HDD から SSD に換装したところ、Google Analytics のグラフで明らかなパフォーマンスの向上が確認できました。最近では大容量のモデルが低価格で出ているので、サーバ機の入れ替えの前に検討すべきだと思います。

今回購入したのは、SanDisk SSD Ultra 3D 2TB SATA3.0 で Amazon サイバーマンデーの 22,108 円でした。

Windows であればタスクバーなどに時計は表示されていますが、なかなか目に入らなくて時間を知りたいときイライラするものです。普通の据え置きタイプの時計だと大きすぎて、必要なときにどこか別の場所あったりするし、何かいい手は無いものかと思っていました。そこで思いついたのが、車用のデジタル時計をディスプレイのフレームに張り付けてみるというものです。

車用デジタル時計のいいところは、外部電源がいらないこと、小さくて邪魔にならないこと、取り付け用ステーが付いていること、電波時計なこと(これは欠点にもなりますが)などです。実際に張り付けてみると、邪魔にならず非常に見やすいし、これがなかなかすばらしい。

NAPOLEX Fizz-940

形状的にディスプレイのフレームにステーを使わず両面テープで貼り付けることができます。文字も大きく見やすいのですが、24時間表示に設定すると一番左の数字が細く表示されてしまいます。また、車載用なのにアラームも付いていて、室内での利用に不足はありません。

今回の目的のために購入したものですが、個人的には横長の文字(見やすいですが)と24時間表示時の不ぞろいの文字サイズが気になりました。ただ後で気づいたことですが、この点は多くのデジタル時計に共通しています。24時間表示で十の位を細く表示するものの方が多く、12時間表示しかできないものは1しか表示しないため更に余白を削っています。

SEIWA W690

NAPOLEX と似た表示の SEIWA 製品がありました。説明書を見ると、24時間表示が可能で十の位を細く表示される点が共通していて、字形はすらっと縦長です。外形が NAPLEX より若干大きいようですので、この点が判断材料です。

SEIWA W661

これは何年か前に買って、今も車載用として使っているものです。W661 と違い24時間表示でも均等の幅で数字が表示され、縦長のすらっとした表示が気に入っていたので、これをもう1個買っても良かったです。買わなかった理由は、裏側のソーラーパワーのパネルが室内ではいらないと思ったためです。

ただ、形状や文字スタイルなど2個手にして比べてみると、こちらをもう1個買った方が正解だったと思います。

まとめ

シンプルなデジタル時計は百均にも売っていて通常はそれでも十分なのですが、自分の場合は特殊な要件があるので最適な製品はありませんでした。

  • 24時間表示が良い(24時間表示にすると不ぞろいな文字幅で表示する製品が多い)
  • 日付と曜日の表示が欲しい(百均のだと表示されるものが無い)
  • 貼り付けやすいスクウェアなデザイン(室内用だと角度が付いている)
  • 電波時計が邪魔(UTC を表示した時計も欲しいので勝手に時刻設定されると困る)

最後の UTC 表示の要件があるので、24時間表示が欲しいのですが、百均のものは12時間表示しかできません。12時間表示だと、せっかく UTC に調整していても朝なのか夜なのか一瞬考える必要があります。逆に車載用や室内用だと電波時計になりますので、UTC を表示したままにできません。

SEIWA W661 の見た目で、ソーラーなしのスクウェアな形状、電波時計ではない(または自動設定をオフにできる)製品があればベストです。百均だとセリアで売ってる RY-01-Aがスクウェア形状で、これで24時間表示ができればコスパ最強なんですが、なかなかうまく行かないものですね。

新聞取ってないので年末年始だけ TV ガイドを毎年買うのだが、いつも楽しみにしていた「ビートたけしの超常現象Xファイル」が無い。去年あたりは年末よりちょっと前に放送されていて、異変を感じていたので視聴率低迷で打ち切られたんでしょうかね。楽しみがひとつ減って残念な年末になりそうです。

その他にも異変があるようで、全国・ローカルいずれも映画の放送がほとんどありません。去年は「風の谷のナウシカ」とかジブリもやってたし、ローカルの新春シネマ深夜枠もあったように思います。今年は、金曜ロードSHOW!の「スター・ウォーズ/最後のジェダイ」くらい。TV ガイドからも映画特集ページが消えているようで、こちらも寂しい限りです。

追記

超常現象Xファイルのほうは、1月3日18:00から放送があるようです。「世界がザワついたマル秘映像 ビートたけしの知らないニュース 超常現象XファイルSP(仮題)」これですね。よかったよかった。

Lenovo IdeaPad S130
Lenovo IdeaPad S130

さっきまで繋がっていたはずなのに、DNS のエラーが出てネットに繋がらなくなってしまいました。最初、Google 検索とかはできていたので、一時的なネットワーク障害だと思っていたのですが、1日経っても改善しません。調べたところ IPv6 には繋がっているようなのですが(Google は IPv6 で使えていたのでしょう)、ほとんどのページは IPv4 なので繋がりません。

他のノート PC と見比べると、IPv4 のアドレスが取れていないっぽいんですよね。本来なら DHCP から設定されるはずなのに、直前に繋がっていたネットワークで割り当てられていた IP がそのまま表示されている、といった状況です。何が悪いのか色々やってみましたが、すべて無駄でした。

  • 接続しなおし、機内モードオンオフ、iPhone再起動、PC再起動
  • IPv6 の無効化
  • WLAN ドライバの更新

状況からして PC 側がおかしいと思われますので、アダプタ(Realtek 8821CE Wireless Lan 802.11ac PCI-E NIC)が壊れた可能性があります。解せないのは、他の Wi-Fi アクセスポイントには何の問題も無く IPv4 で接続でき DCHP から接続情報を貰えている点ですよね。何故か iPhoneXのテザリングをしたときのみ、IPv4 の接続情報が設定されず「インターネット接続なし」になります。

追記

余っていた TP-Link の無線 LAN があったので、これを使って問題が無いことを確認しました。やはり、Realtek の物理故障かドライバ不具合もしくは相性(それか直前に Windows10 アップデートをしたのでそれが関係しているかも知れない)だと思います。とりあえず、内臓の Realtek は無効にしておきます。それにしても Realtek にはいい思い出がないなあ。

TP-Link の無線 LAN 子機(Archer T2U Nano)は、小さくて予備として持っておいて助かりました。ただ、アクセスランプの緑 LED が点滅するのがマイナスポイント。あと、USB ポートが潰れるのが痛いです。もっと信頼性のあるデバイスを積んで貰いたいですね。あまり意識はしていませんでしたが、今度何か購入する際は Realtek を避けようと思いました。

ノートパソコンで Ubuntu のデュアルブートを試してみて、途中で面倒臭くなって止めたのですが、その時できた残骸を消去する方法です。1年に1回は Linux ノート作ろうと思うんだけど使い続けられた試しが無いのはお約束です。

ブートメニューの削除

コマンドプロンプトを管理者権限で開き、bcdedit コマンドで Ubuntu のエントリを探して、それを削除します。

bcdedit /enum firmware

表示の中から下記のような Ubuntu の文字を探します。

ファームウェア アプリケーション (101fffff
--------------------------------
identifier              {6ab12d87-1531-11ea-9cbf-806e6f6e6963}
device                  partition=\Device\HarddiskVolume1
path                    \EFI\ubuntu\shimx64.efi
description             ubuntu

見つかった identifier を指定して削除します。

bcdedit /delete {6ab12d87-1531-11ea-9cbf-806e6f6e6963}

EFI パーテーションから GRUB を削除

これだけだと、GRUB の残骸が消えていませんので、EFI パーテーションから物理的に消去します。こちらも管理者権限でコマンドプロンプトを開き、diskpart に入ります。

diskpart

具体的な手順はメモしていませんが、EFI パーテーションを見つけてドライブレターを割り当て、diskpart を抜けてディレクトリ削除という流れです。一応、記憶で箇条書きにしておきます。

  • list disk
  • select disk N
  • list vol
  • select vol N
  • assign letter=X
  • exit
  • x:
  • cd efi
  • rmdir ubuntu

CentOS の PHP に GnuPG 拡張モジュールをインストールする方法をご紹介します。

必要なパッケージの確認

以下のパッケージが必要になります。作業した環境で入っていなかったものは、php-devel と gcc-c++ でした。必要なものは、yum install でインストールしてください。

  • gcc-c++
  • php-pear
  • gnupg
  • libgpg-error
  • gpgme
  • gpgme-devel
  • php-devel

GnuPG のインストール

PECL 拡張モジュールになっているので、下記のコマンドにてインストールします。必要パッケージが揃っていれば、ダウンロードとコンパイルが自動的に行われます。

pecl install gnupg

php.ini の設定

php.ini を編集して extension=gnupg.so を追加します。CentOS の場合、/etc/php.d の下に gnupg.ini を作成します。

/etc/php.d/gnupg.ini
extension=gnupg.so

インストールの確認

拡張モジュールが有効になっているか確認します。

php -m | grep gnupg

また、必要に応じて Apache などを再起動します。

systemctl restart httpd