活動報告

今までやったことの、年別のかんたんなまとめです。つまり、永遠に書いてる最中なページです。

2016


2007

引きこもった

この頃は、高校になじめなくて引きこもってました。おかしいですねぇ、中高一貫なはずなんですが。仮病で休んでひぐらしのなく頃にをベッドの中で、ゲームボーイアドバンスでやっていたのをよく覚えています。GBA SPだからバックライト付きで捗ります(目が疲れるのでやめましょう)。人間不信の傷口に染みる、そんな感じのゲームだった気がします。はい、問題編しかやってません。

「ひぐらし」はもともとはパソコン用ゲームでGBA用のなんて存在しないのですが、「帽子屋インサイド」と名乗る同人サークルがリリースした、GBAのROMに変換(移植ではありません、変換です)するソフトを使って遊んでました。(参考:Doc.15 PCゲーム「雫」の移植方法

世の中には面白いことをする人がいるんだなと思ったのを覚えています。

同人の世界と出会った

コミケ行ってきた

コミケにはじめて行きました。


2006

自宅サーバへ移転した

本格的に移転しました

この年から、「はてなダイアリー」からMovableTypeに移行しました。

MovableTypeが当時ブログソフトウェアとして支配的だった事が大きいのですが、「玄箱」というNASにDebianを入れて運用していた当時の自宅サーバには静的にコンテンツを生成するMovableTypeでないと肩の荷が重いのではないかという所も決め手でした。

お家にサーバがあるというのは、なんとも不思議な感じがしました。たまに親に電源消されると、ブログの編集ができなくなったりね。そうそう、Blog上の言葉のリストは、この時はじめました。

弾幕シューティングに夢中

斑鳩:一面つなぎパターン

斑鳩ノーコンクリアしたお^^

秋葉原また突撃してきたお^^

この頃は、ゲームに夢中でした。DreamCastが好きで、シューティングゲームが大好きで。お気に入りのSTG「斑鳩」も、DreamCastで動きます。DreamCastだとちょっと処理落ちが多くて、せっかくのゲーム進行とシンクロしたBGMとズレるのが癪なような、味なような。

ゲームはプログラムで動いている

カルドセプトサーガの乱数問題

なぜか今でもたまに言及される、「カルドセプト・サーガ」のサイコロが偶数と奇数を繰り返すバグについて書きました。2018年現在、メルセンヌ・ツイスタへの理解がこの頃の毛が生えた程度なのに悲しさを感じます。

洞窟物語 「どこでもセーブ」パッチ

デバッガーの使い方とアセンブリ言語を覚えて、色々なゲームやアプリケーションの動作を調べたり、書き換えるのに夢中でした。

ゲームのコピープロテクト外しは一番の好物でしたね。宝箱の鍵を開けるような、そんな興奮と、コンピュータが自分の思い通りに動くことの快感とでもいいますか。まぁ、コピープロテクトを外してもゲームは殆ど遊ばないんですけどね。でも、ソフトウェアが思い通りに動かないなら、我慢するんじゃなくて、書き換えればいいんだ!というのは、「解析ごっこ」に夢中だった当時のわたしには、とてつもない発見だったのです。

「成分解析」解析結果

当時爆発的にバズった「成分解析」のアルゴリズムをさらに「解析」して記事にしたところ、この記事を参考に色々な言語や環境で実装されるという事がありました。有名(?)な「Web巡回日記」からリンクが貼られたらアクセス数が急に増えたり、「移植のまとめ」ページができたり、遠い向こう側の何かだと思っていた「インプレス」で取り上げられたり。どれもドキドキしながら見ていたのを思い出します。

ポケモンセーブデータエディタ 公開しました

(source code on github)

セーブデータのチェックサムを調べるところを解析した結果を利用して、ポケモンのセーブデータをいじるツールを作りました。実はセーブデータは2回分記録されているというのが発見で(セーブを書いてる最中に電源を落とすとエラーが出て前回のバックアップがリストアされるメッセージが出るのでまぁ予想つくんですが)、これを利用してdiffをとる機能とパッチを適用する機能をつけました。

当時、「ふるびたかいず」という伝説のポケモンにゲーム内で会いにいくためのチケット・アイテムがイベントで配信されていたのですが、これは接続された任天堂の機械からブートされるプログラムが、「ふるびたかいず」のアイテムを書き込んだ新しいセーブデータを作ることで実現しています。この事を利用して、イベントに行っていない人でも「ふるびたかいず」を入手できるようにしたパッチが上の記事に書いてあります。

Javaのオブジェクト指向に本格的に踏み込んでUIを作ったはじめてのプログラムかもしれません。Javaの標準ライブラリを読みながらうーんこうやって動いてるのかぁ、ここはこう書けばいいんだな、と試行錯誤していたのを思い出します。


2005

ポケモンに燃えた一年だったような気がします。2004年の頃はゲーム機の上で遊ぶだけだったのですが、この年からは「ブートケーブルUSB」というツールでROMを吸い出してエミュレータやその上のデバッガを使って解析したり、セーブデータの読み書きを使ったトリックでゲームを思い通りに書き換えたりと、下のレイヤーに降りていく遊びに夢中でした。ゲームは所詮は0と1のビット列にすぎない、と言葉で言われてもわからないことが、実際にデータを書き換えて遊ぶ事で、身にしみてわかったような気がしました。

ヘンペルのパラドックスについて考えた

ヘンペルのレイヴン(からすの逆説)

「全てのカラスは黒い」という命題は「∀x. (xはカラスである ⇒ xは黒い)」なので、中身について対偶を取ると「∀x. (xは黒くない ⇒ xはカラスでない)」となって、黒くないもの(レタスとか)は何でも「全てのカラスは黒い」ことの間接的な証拠になります。ここまでは良いですね。

ここでさらに、「全てのカラスは白い」、つまり「∀x. (xはカラスである ⇒ xは白い)」という明らかに間違っている命題を考えます(間違っているものでも、命題は考えられます)。これを同様に変形すると、「∀x. (xは白くない ⇒ xはカラスでない)」なので、レタスも「全てのカラスは白い」ことの間接的な証拠になります。同様にレタスは全てのカラスが金色でないことの、赤くないことの、…えっ、それっておかしくない?というのがこのパラドックスです。

ええと、これを書いている2016年現在の知識を使って解答してみると、「はい、二重否定の除去が入っている古典論理の公理を認めるなら、レタスは全てのカラスが白でも黒でも金色でも赤でもないことの証拠になりますが、緑色でないカラスが発見されるので、カラスは緑色でない事が分かるはずです。世の中にはモノの数は沢山あっても有限個だから確かめられるし、無限個だったら人間が全部確かめることは出来ないけれど、それは論理学のスコープではない」という感じで、「二重否定の除去を認めないと対偶は元の命題と同値でないので、そもそもレタスはカラスが黒い事の証拠になりません」かな。

夏休み子供科学相談室(NHK)に出た

ラジオの夏休み子供科学相談室に・・・出れた(ぉ

35歳童貞のおっさんって2chに書かれたの今でも根に持ってるぞコノヤロー。

Phlogiston for GBA

source code on GitHub

エミュレータを自動で操縦するためのソフトです。

当時GBA版のポケモン(ルビー・サファイア)で遊んでいたのですが、このゲームではポケモン同士を掛け合わせて、能力を遺伝させたポケモンの卵を作ることができます。ただし、遺伝はランダムですし、卵を孵化させるためには特定の歩数歩く必要があります。必然的に、いい能力のポケモンを産ませるために沢山卵を産ませて沢山歩く必要があり、この自動化が当時の課題でした。

この問題を解決するため、当時のわたしはエミュレータを10倍速ぐらいで動かした上でこのソフトで往復運動を自動化することで、出来る限り高速に孵化させていました。

往復運動とボタンの連打ぐらいしか出来ない簡単な自動化ですが、以外と使いみちがあり、卵の孵化以外にも自動レベル上げやポケモンのなつき度(これも歩いてれば勝手に上がる)など、以外と有用性は高かった記憶があります。

絵を描いた

ペンタブキタ━━━━━━(゜∀゜)━━━━━━ !!!!!

f:id:ledyba:20050825044037p:image

ペンタブを買ったので、描いてみました。記事内では「思ったより簡単」みたいに書いてるんですが、まぁ思ったよりは程度だったのですぐに使わなくなりました。ハイ。