考えたこととかのメモ
ここでは足りない頭で考えたこととかをメモしておこうと思います. 主に普段の日記に書くにはやや長い内容を書きます.
目次
Twitterで「現代の左翼運動は金持ちのお遊びに見えるといわれるのはなぜだろう」という発言を見た. (2025/10/21)
愚鈍の役割について (2025/10/21)
minecraftのmod制作にAIが利用できるかという話(2025/10/25)
minecraftの攻撃ダメージの話(2025/10/29)
計算物理・化学のプログラミングがゴミという話(2025/11/22)
マウスウォッシュが口内射精みたいだった話(2025/11/24)
ゲームのmod使用について(2025/11/30)
オウム事件が特撮に与えた影響ってデカいのかなあって話(2025/12/05)
『一歩進んだ物理数学』(橋爪洋一郎 著)を読んだよ(2025/12/15)
(ネタバレ注意)『UFO山』についての感想(2025/12/26)
Linuxでエロゲー(2025/12/30)
超光戦士シャンゼリオン39話について(2026/01/02)
Debianのデスクトップ環境を変えてみたよ(2026/01/08)
もどる
- Twitterで「現代の左翼運動は金持ちのお遊びに見えるといわれるのはなぜだろう」という発言を見た. (2025/10/21)
- しかし, そもそも左翼運動が完全に労働者階級によって担われた例が歴史上どれほどあっただろうか.
- 確かに, 社会主義革命の多くは労働者や農民も関わってはいた. しかし革命の中枢は必ずしもそうではない.
レーニンは中流階級, 毛沢東は地主の子, ゲバラもブルジョア, ポルポトに至っては王族とつながりのある名士の家である.
- この現象はそもそも, マルクス主義が難解であり, 革命家となるためにはある程度の教育を受けている必要があることに起因する.
実際これについては「共産党宣言」でも説明されており, 労働者の革命を支える, 知識を持った革命前衛が必要であるとされている.
つまり革命家であるためには, ある程度の金持ちの家に生まれ, そして十分な教育を受けていることが必要条件となるのである.
- 日本で起きた左翼運動も, 特に60年代から70年代にかけての新左翼運動にはこの側面が非常に強く表れている.
大学進学率が今と比べ非常に低かった当時, アルバイトと勉学に忙殺されるわけでもなくデモだ火炎瓶だ腹腹時計だに没頭できた学生はどのような階級だろうか?
ある程度裕福な家の出身者である. 彼らは現実から目を背け, 妄想の中の労働者のみに語り掛け, 飛行機を乗っ取りホテルに立てこもり, 本来の労働者からの支持を失った.
これを新左翼運動の失敗と断ずるのは簡単だが, むしろこれは革命前衛というシステムそのものに欠陥があるのではないかと考える.
- 左翼運動がお遊びであるかは別として, 少なくとも金持ちのものであったのは事実である, これからもしばらくの間はそうだろう.
少なくとも「労働者による革命」などというお題目は早々に捨て去ってしまい, 「賢い俺たちがお前らワープアを地獄の底から引きずり出してやるからな」くらいの気概でいるのが吉だろう.
- 愚鈍の役割について (2025/10/21)
- 1984という小説がある. まあ有名だし, 名前も聞いたことないという人はいないだろう. この小説には"Ignorance is strength"というフレーズが登場する.
直訳すると「無知は力なり」である.
- 前項で述べた, マルクス主義の難解による左翼運動の独占性との対比にもなっているのであるが, 昨今のネット世論を騒がせている「愛国心」の動き. これについて考える.
- さて, 臆せずに名前を出すが参政党や日本保守党といった日本のネオナチ運動の支持者に共通するカジュアルなゼノフォビア.
昔懐かしぜロ年代の在特会を彷彿とさせるが, 手法はより洗練されている. ただここではその洗練ではなく, ゼノフォビアのほうに着目していきたい.
- ネオナチ政党の間に共有されているのは, 理論ではなく「お気持ち」である. これは前項の左翼運動との最大の違いだろう.
つまり, 革命前衛を必要とした左翼運動と違い, 「お気持ち」さえ共有していれば誰でも「愛国者」であり, 誰でも「革命家」である.
- では, なぜこのような運動が最近になっていきなり浮上したのだろう. 言葉は悪いが, 「バカ」に厳しい世の中になったからだと私は考える.
- かつて, 愚鈍な人間は今ほど肩身が狭かったわけではない. 彼らを救ったのは宗教であった. 宗教は「愚鈍」を「敬虔」と言い換えた.
神に純粋な祈りをささげるのであれば, 愚鈍であることは大した問題ではなかった. 場合によっては「愚直」として賞賛すらされた.
- 無神論の国や世俗国家でもそれは例外ではなかった. 例えばソビエト連邦では建前上, 宗教が否定された. では愚鈍な人が生きづらかったかというと, そうではない.
スタハノフ運動のような大衆動員によって, 愚鈍には「勤勉」という別名が付与された. バカでもバカなりに手を動かせば, それは評価されるということである.
もちろんそれは建前であったかもしれないが, 愚鈍を生きづらさから解放してくれるという意味では宗教と大きな差はなかった.
- では現代日本はどうだろうか. 日本人が無宗教であるというのは否定されて久しいが, 宗教に心の底から救いを求めている日本人は多くないだろう.
その一方でワーキングプアをはじめとした社会問題が濃い霧のように立ち込めていて, 勤勉に救済を求めるのも難しい. 技術は高度化し,
求められる情報処理能力だけはますます大きくなっていく. 愚鈍のレトリックが消失し, 愚鈍は「愚鈍」として評価される社会である.
- このとき, 「敬虔」や「勤勉」に救済を得ていた愚鈍はどういった行動をとるか. 換言の衣を脱がされた以上, ちっぽけなプライドを守るには今持っているものを誇るしかない.
そして誰しも生まれた時点で国から与えられるものがある. 国籍である. 何を失っても, 国籍だけは手元にある. 努力する体力すら失われた愚鈍にとって, プライドを守る最後の砦である.
- ネオナチ政党はこういった層をうまく取り込んだといえるだろう. かつては宗教やワーカホリックが役割を与えていた層に, 今度は「愛国者」という役割を与えた.
「愛国者」は, 国籍が愚鈍が共通して持つ属性の中で最大公約数的であるという点でクリティカルである. 例えば「絵が描ける」「特定地域に住む」「きのこの山を好む」はクリティカルではない.
なぜなら絵が描けない愚鈍も, 特定地域に縁がない愚鈍も, たけのこの里を好む愚鈍もいるからである. しかし国籍は誰もが持っている, いわば最大公約数の属性である.
同値類的にまとまった集団は連帯感を共有するため強く, そして国籍のプライドは人々の同値関係の中で最も規模の大きい集団を生成できる.
- ここで少し話はそれるが, こういった愚鈍をターゲットにした政党はネオナチ政党が初めてというわけではない. れいわ新選組も発想としては非常に近いと考えている.
しかし彼らは明らかにネオナチと比べて伸びが悪い. それは彼らが「生」という, 商集合が単一の要素しかないような同値関係を主張したからである.
例えば「自分は太陽系に住んでいるなあ」と実感することは日常でそうそうない. なぜなら太陽系の外から来た人に会うことはないからである(もしこのページの読者で太陽系外から来たという人がいたらごめんなさい).
しかし, 例えばガラス張りの部屋に閉じ込められていて, 外を人が歩いていたら, 自分はガラス張りの部屋に閉じ込められていると大いに実感するだろう. 何が言いたいかというと,
人は自分の属する集合と属さない集合の両方を観測したときに, 初めて自分が集合に属していると実感する. 「生きているだけで尊い」は, したがってスローガンとして適切ではない.
なぜなら生きていない人間を観測することはめったにないからである. 自分が今「生きている人間」の構成員だと実感するタイミングは, 日常生活を送るうえでほとんどないだろう.
国籍はそうではない. 外国籍の人と会話することは今や全く珍しくない. 外国籍の人間を認識することで, かえって自分の国籍が意識され, 属性として有効になるのである.
- 愚鈍にこのような「愛国者」の役割を与える隙を作ってしまったこと, これは右派・左派問わず論壇全体で大いに反省すべき事案だろう. これは予期しえたことだったからである.
- 無知は力なり. 社会に役割を奪われた愚鈍たちの復讐が始まる.
- minecraftのmod制作に生成AIが利用できるかという話(2025/10/25)
- minecraftのmodの開発にAI(ChatGPT)を利用してみて, どれくらい使えるかを少し検証してみたという話.
本来ならQiitaかzennにでも書くべき話なのかもしれないが, そんな技術的に込み入った話でもないのでここに書く.
- まず軽く前提知識の話. Minecraftのmod開発はJava(まれにKotlin)で行われる. Minecraft Forgeと呼ばれる有志開発のAPI群があり,
Forgeのクラスをimportして処理を行うのが基本である(最近ではFabricやNeoForgeなどの異なるAPIも存在する).
- 勉強の項目で触れた通り, 筆者の使用言語はC++であり, Javaの知識はあまりない.
ただしC++とJavaは似た文法を持っているので頑張ればある程度読める, のレベルである.
- ゼロからmodを作るのはかなり面倒なので, 筆者はよくMCreatorと呼ばれるフリーのノーコード開発ソフトで大枠を作り,
このソフトで手が届かない部分をVScodeでシコシコ編集するという開発体制をとっているが, 実装したい処理がどのクラスのどのメソッドに関連しているのかというのは,
これはある程度技術的な蓄積が必要な部分で, まだ初学者の私は苦労することが多い. Forgeの公式ドキュメントやStackOverflowと格闘する日々である.
- 本題に入る. 今回どのような処理の実装をChatGPTにやらせるかというと「コマンド権限の変更」処理である.
- コマンドとはminecraftにおける「チート機能」のことで, サーバーでは管理者以外は使用不能になっているのが基本であり, またシングルプレイでもサバイバルモードではオフになっているのがデフォである.
このチート機能の権限を書き換えるような処理を実装してみようというのが今回の目標である. はっきり言って技術者倫理に反した荒らしみたいな処理であるが, ホラー系のmodやPVPのmodでは割とありがちである.
おそらく上級者の方ならサッと書けてしまう処理だろうが, Forge初心者とAIでこの処理が書けるだろうかという話である. なお筆者はまだForge初心者であるため, 用語や解説に不正確な点が多数あるだろうがご容赦願いたい.
- より具体的な要件・処理内容は次のようになる. まずMinecraftのバージョンとしては1.20.1, Forgeのバージョンは1.20.1の47.4.0である. 実現したい処理としては,「コマンド権限が0のプレーヤーが特定のワードをチャット欄に打ち込むと,
コマンド権限レベル2以上を取得する」という流れである. コマンド権限とはチートを使用できる権限のことで, Java Editionにおいてコマンド権限レベル2とは基本的なチート操作がほぼすべて可能であることを意味する.
- 特定のワード(今回は管理者権限の要求ということで"givemeauth"とした)がチャット欄に打ち込まれたことを検知する処理は面倒なうえに本質的でもないのでMCreatorで組み, 検知後の処理を実装した.
- そもそもプレーヤーごとのコマンド権限がどこに格納されているのか知る必要があったため, 「Minecraft forgeにおいてコマンド権限はPlayerクラスにメンバ変数として格納されていますか?また格納されている場合はどの変数に格納されていますか?」
という質問を行った. 返答は結構長かったのでまとめると,
- サーバーにおけるプレーヤーの実装はPlayerクラスではなく, そのサブクラスであるServerPlayerに実装されている.
- ただしServerPlayerクラスは直接のメンバ変数としてコマンド権限を格納していない.
- 実際にコマンド権限を取得する際に行っている処理は, まず親クラスであるEntityクラスのメソッドであるcreateCommandSourceStackを呼び出す.
このメソッドはServerPlayerクラス(もっと言えば親クラスであるEntityクラス)のオブジェクトからCommandSourceStackクラスのオブジェクトを生成するメソッドである.
- このCommandSourceStackクラスのメンバ変数として, 権限レベルであるpermissionLevelが変数として格納されている.
- この変数はprivateなので, アクセスする際にはServerPlayerのメソッドgetPermissionLevelを利用している.
- このメソッドはServerPlayerからメソッドgetGameProfileを用いて生成されるオブジェクトGameProfileを引数に取る.
- このメソッドが外部のjsonファイルから権限情報を読み込み, 判定を行っている.
であった.
- この情報の正誤は実装時に検証するとして, 続いて「Minecraft Forge 1.20.1でプレイヤーのコマンド権限を動的に変更したいと考えております. 適切なメソッドを教えてください.」
という質問を行った. 3つほど方法が提案されたが, 実際に実装に用いた手法の提案は以下のような内容であった.
- PlayerListクラスにはコマンド権限の付与・剥奪処理を行うaddOp/removeOpメソッドが定義されている.
- PlayerListオブジェクトはServerPlayerのメソッドgetPlayerListによって生成される.
- またServerPlayerのメソッドgetGameProfileから対応するPlayerのGameProfileオブジェクトを生成する.
- addOpメソッドを用いて権限を再設定する. ただしこのメソッドは引数としてOpEntry型をとるので, このオブジェクトをnewで生成してaddOpメソッドを適用する.
- importするクラスはcom.mojang.authlib.GameProfile, net.minecraft.server.level.ServerPlayer, net.minecraft.server.players.PlayerList, net.minecraft.server.players.OpEntryである.
であった.
- さて, 実際にはこの実装はうまくいかない. そもそもForge 1.20.1のPlayerListクラスにaddOp/removeOpメソッドは存在しない. おそらく過去のバージョンの情報を学習してしまったものと考えられる.
さらにOpEntryクラスも存在しない. これを指摘すると「お前が十分に探してないだけじゃないの~?(意訳)」などとごね始めたが, とりあえず存在しないことを認識させたので
「今までの議論をもとに, Minecraft Forge 1.20.1でプレイヤーのコマンド権限を動的に変更するメソッドを再度提案してください.」とお願いしたところ, OperatorEntryなるクラスが実在するものとして実装コードを提案してきたので,
これ以上は困難と判断し, ここからは自力で実装することにした.
- ここまでだとチャッピー君はいい加減なことばっかし言ってるように見えるが, 少なくとも前半のコマンド権限の構造については(多少不正確なところはあれど)大きく間違ったことは言っていない.
したがってForge開発においては, クラスの構造を把握する用途なら有用であるといえるだろう. しかし実装にはまだ少し難があるように感じた.
- さて, 肝心の実装である. 確かにPlayerListクラスにaddOp/removeOpメソッドは存在しないが, 代わりにop/deopメソッドが存在する.
これはGameProfile型のオブジェクトを引数にとり, 対応するServerPlayerにコマンド権限を付与するメソッドである. したがって実装の流れとしては以下のようになる.
- com.mojang.authlib.GameProfile, net.minecraft.server.level.ServerPlayer, net.minecraft.server.players.PlayerListをimportし,
voidを返り値(つまり何も返さない)としてsetPlayerPermissionLevel(ServerPlayer player) という名前でメソッドを定義する(この名前はわかりやすければなんでもいい).
- PlayerList型のオブジェクトをplayerのメンバ変数であるserverのメソッドgetPlayerListで生成する.
- GameProfile型のオブジェクトをplayerのメソッドgetGameProfileで生成する.
- 生成したPlayerList型オブジェクトのopメソッドにGameProfileオブジェクトを渡し, コマンド権限を付与する.
- 最後にこのsetPlayerPermissionLevelを文字列認識後の処理に組み込む. MCreatorのコード生成は常にPlayer型でプレーヤーの情報を扱うので,
この関数にオブジェクトを渡す際はServerPlayer型にキャストする.
これで実際にコマンド権限が変更されるか確認したところ, チートオフのワールドでもgivemeauthと打ち込むことでコマンドが解禁されることが確認された.
マルチプレイでの挙動は未検証である. これは筆者にminecraftをともにプレイする友人がいないことに起因する.
- 結論として, minecraftのmodを完全に生成AIがコーディング(いわゆるバイブコーディング)するのはまだ厳しいだろうと感じた. しかしクラスの構造や関係を把握するのにはかなり有用であったので,
「Javaは最低限わかるけどForgeの知識はない」レベルの層には役に立つのではないかと感じた.
- minecraftの攻撃ダメージの話(2025/10/29)
- はい, 寝る前にジャムおじさんのお話聞こうね. 今回はminecraftにおいて, 1回の攻撃でどれだけ大きなダメージを与えられるかという話である.
- 小学生のころ, 誰しも一度はダイヤの剣にめっちゃ強いエンチャントをつけてエンダードラゴンを殴ったりしたものだろう. これをまじめに検証しようという話である.
- なお1.21以降ではメイスが, また本項執筆時点ではスピアというスピード依存武器の追加が発表されているが, ひとまずJava版1.20.1での検証としたい. またそもそもminecraftには思い通りにダメージを与える/damageコマンドがあるが, 野暮ったいので禁止カードとする.
なお検証にはこちらのmodを使用している.
- まず最も簡単に思いつくものとして, ネザライトの剣にエンチャントで鋭さ5を付与してみる. 一撃で与えられるダメージは11ダメージ. クリティカルを当ててもその約1.5倍の15ダメージとなった.
普通のプレイにはこれで申し分ないだろう.
- ではここからはコマンドを使う. コマンドを使って付与できる最大のレベルは255である(昔は32767だった気がするがいつごろからか255になっていた). 鋭さ255のネザライトの剣で殴ってみよう.
- ダメージは通常時で136, クリティカルで140となった. エンダードラゴンなら2発, ウィザーなら3発, ウォーデンなら4発である. ぶっ壊れ性能といっていいだろう. こんなものがお出しされたらゲームバランスは崩壊である.
- なお純粋な攻撃力なら斧のほうが強いが, ここまでくると剣も斧も大差はない.
- マインクラフトには攻撃力を上昇させる手段がもう一つある. 攻撃力上昇のポーションである. これを最大値の255までつけて前述のネザライトの剣255で殴ったところ,
ダメージは通常で904, クリティカルで1292ダメージとなった. バニラのモブはすべてワンパンである.
- さて, minecraftの公式wikiを見てみよう. ダメージの項にはダメージの計算機が載せられている. この計算機で先ほどの条件を計算すると,
極端な条件では若干ずれるが, 大体正しい値が出る.
- 実はminecraftで一撃で与えられる「近接攻撃の」ダメージの値には上限がある. 細かい話は多分色々調べれば出てくるが, 近接攻撃で与えられる最大のダメージは3072ダメージ(ハート1536個分)である.
何らかの方法(mod等)で数値上はこれ以上の攻撃力をもつ武器を作ったとしても, 3072ダメージを超えるダメージは与えられない. 正確には近接攻撃が2048ダメージで, それにクリティカル倍率1.5倍をのっけたのが3072ダメージである.
- ところが「近接攻撃の」と強調した通り, 近接攻撃に限らなければさらに大きなダメージを与えることは可能である. なんでそんなことする必要があるんですかという疑問はさておき, その方法を見てみる. minecraftには直接殴る以外にもいくつかダメージを与える方法がある.
例えば矢を撃ったり, ベッドを爆発させたり, ポーション効果でダメージを与えたり. 重要なのはこれらの攻撃のダメージ計算には先述のダメージ上限は適用されないということである.
- 例としてコマンドで「即時ダメージのスプラッシュポーション」をレベル28で作成する. こちらのポーションによるダメージを測定したところ, 与ダメージ量は驚異の1,610,612,736ダメージ(2^30+2^29ダメージ)となった.
即時ダメージのポーションのレベルからの計算式は公式wikiにない(探せばあるかも)ためこれは推測でしかないが, 即時ダメージレベル1,2はしょーもないことを考えると, おそらく指数関数的にダメージ量が増加していると考えられる.
なおポーション効果は(即時ダメージに限らず)レベルが32の剰余で計算されるが, 即時ダメージに関しては29~31ではダメージが0であった. おそらく28の16億ダメージ以上は0となるように設定されているのだろう.
- じゃあ16億ダメージがminecraftで与えられる最大ダメージですねということで話を終えてもいいのだが, ここは救世おまんこである. もう少し考察してみよう.
- 16億ダメージでポーション効果が打ち切られている理由を考えてみる. Javaの符号付きint型整数は32bitで定義されているので最大値はおなじみの21億である. ダメージ値がint型で実装されている場合, これ以上先に進むとオーバーフローしてしまうため打ち切られていると考えるのが自然である.
- ところが, 話はそんなに簡単ではない. Forgeのダメージに関する実装を見てみると, どうやらminecraftにおいてダメージ量はintではなくfloatで扱われている. まあ小数ダメージもあったりするので当たり前といえば当たり前である.
- 実際, 例えばLivingEntityクラスのhurtメソッドはダメージ量の引値としてfloat型をとっている. つまり理屈上は32bitの浮動小数点数の最大値である3.4E+38がダメージの最大値となる.
- 実はバニラのminecraftおいてこの量のダメージが与えられるイベントは存在していて, 皆さんも一度は使ったことがあるだろう. /killコマンドである.
- KillCommandのクラスを見てみると, 実装であるKillメソッドが存在するが, このメソッドの実装を辿ってみると極めて単純で, 要は受け取ったエンティティにfloat.MAX_VALUEをダメージ値として渡している.
つまりどうでも淫夢ではあるが, /killコマンドの実態はエンティティに3.4E+38ダメージを与えることだったのである. なおLivingAttackEventはcancelableなので,
この仕様を利用(悪用?)すれば/killコマンドを使っても死なないエンティティを作ることができる. 実際前に作ったことがある.
- さて, float型なのに16億で切られている理由として考えられるのは精度の問題だろう. 浮動小数点演算は絶対値が極端に大きい値や小さい値では精度が悪化する. 単精度浮動小数点で表記できる数は, 10進法表記で1の位までの精度を要求した場合,
一般の実装では100万程度まで保証され, それ以上になると小さな位は大雑把になる. つまり件の16億ダメージは浮動小数点ではもうだいぶ大雑把な値となっている. 2進数表記で意外ときれいな値になったのも小さい桁が切り捨てられていたからなのだろう.
- よし, お話終わり. 寝て良いよ.
- 計算物理・化学のプログラミングがゴミという話(2025/11/22)
- 表題の通り, 終わっている. 何が終わっているかというと可読性が終わっている.
- Fortran90/95とかいうジジイ言語で義務教育を終えた研究者が書くのでもう本当にひどい.
- さて, 本題に入る前にいまだにFortranにこだわる方々の言い分を聞いてみよう. 曰く「FortranのほうがC/C++より最適化が優れている」そうである.
確かにFortranの最適化が強いのは事実である. しかし実験が示すように, その差はわずかである.
それでいてFortranは機能性が低く, C/C++と比べ同じ処理を書くのに時間がかかる. それならC++でさらっと書いてシミュレーションを回せ! というかさらに言えば,
実行速度の差でプログラミング言語を比較するのは, コンパイラや環境に大きく依存するのでナンセンスである. MSVCをIntel Compilerにするだけで実行速度がガラッと早くなるのなんてザラなので.
てか「実行速度ガー」とのたまう計算屋ほどデータ構造やアルゴリズムの話されるとその辺はマシンパワーで何とかするからみたいなことを言いだすのは何なんですかね...?
こっちのほうがはるかに重要だと思うのですが...
- さて, 非常にしつこいFortranユーザーを事実上論破させていただいたところで, C言語の話に移る. C言語の可読性が終わりがちなのは前々から指摘されていて, それを少しでも改善するためにC++ではクラスや標準ライブラリみたいな機能が導入された.
オブジェクト指向でもプログラムが書けるようになった.
- ところが誰もこういった機能を使わないのである! だっれも! 誰一人! いまだに爺くせえ配列を使い, 加齢臭漂うポインタ渡しがまかり通り, 挙句malloc/freeする始末.
- 2025年にもなって手作業でメモリ確保するんじゃない! バグの原因になるだろ! std::vectorみたいな安全なコンテナを使え! そんなんだからPythonとかいう難解プログラミング言語にデカい面をされるんだ!
- あと手続き型で全部を書こうとするのをやめましょう(OOTN). これは思想の違いかもしれないが, 粒子を取り扱うのならその粒子をオブジェクトとして扱い,
メンバ変数として各粒子の位置座標, 運動量を格納し, メンバ関数で粒子ごとの物理量(運動エネルギーなど)を取り出すのがまともだろう.
忘れがちだが, オブジェクト指向というのはそもそもシミュレーションのプログラムを作りやすくするために導入された概念で,
その証拠にはじめてオブジェクト指向を導入した言語の名前は「Simula」である.
- stdの機能は参考書等でもっと積極的に取り上げるべきだろう. 例えば正規分布に従う乱数を生成したい場合, Box-Muller法で一様分布を正規分布に変換する方法が紹介されることが多いが,
こんなものは一様分布しか生成できなかったFortran・古いCの古い仕様を引きずっているだけである. stdにはC++11から乱数ライブラリ< random >が追加された.
このライブラリに含まれるnormal_distributionクラスを使えば正規分布に従う乱数列の生成なんて一発である(このクラスの実装は処理系定義だが, Box-Muller法またはその改良版が用いられることが多いようである).
一様乱数であるmt19937も通常の用途で疑似乱数として使うには十分な周期である(ただし暗号として用いるのは不適当である可能性が指摘されている).
- C99に準拠した計算プログラムはいわばまさに「すべてがひらがなで書かれた文章」に近い. 確かに読むのに必要な知識は少ない. ポインタがわかっていれば(ひらがなにしてはハードル高いな...)ある程度読めるだろう.
しかし可読性という面では, 適切に漢字を用いた文章にはるかに劣る.
- 我々はプログラマーではない. それはその通りである. しかしC++の機能を適切に用いないのであれば, 早晩にも計算プログラムの「秘伝のタレ」化は避けられないだろう.
- マウスウォッシュが口内射精みたいだった話(2025/11/24)
- はい, 寝る前にジャムおじさんのお話聞こうね. 今2025年11月24日午前3時前, そろそろ寝ようかとしてたところだったんです.
- で, 寝る前に歯を磨いて, 私はそのあとマウスウォッシュをするのが日課になってるんですね.
- ところが今日, 歯を磨いた後マウスウォッシュを忘れてそのままコップを洗ってしまった. これはいけない.
- というのもうちのマウスウォッシュ, よくある蓋がコップになってる形式じゃなくて, シャンプーとかボディーソープみたいに蓋が蛇口状になってて,
プッシュしてコップにひりだしてウォッシュする形式なんです.
- とはいえマウスウォッシュのためだけにもう一回コップを使って, また洗うというのもばかばかしい.
- しかし矢木に電流走る――!じゃあもういっそ直接口に出してしまおうと, 蛇口が口にくっつかないように気を付けて,
直接ぴゅ~っ❤っとマウスウォッシュを出してみたんですよ.
- そしたらマウスウォッシュの独特の苦み, これが口の中いっぱいに広がって, しかもなんか勢いも射精っぽい出方するんですよね.
ほぼ口内射精だよこんなのとその時思いました.
- 私は同性愛者ではありませんが, なるほどフェラフェラからのおくちぴゅ~❤はこんな気分なのだと思い, 口をゆすぎました.
- よし, お話終わり. 寝ていいよ.
- ゲームのmod使用について(2025/11/30)
- Twitterで「ゲームのmod使用は文化か?」という学級会が行われていた. これについて少し私見を述べようと思う.
- そもそも適不適を議論するのに「文化であるか?」という問いの立て方をするのはよろしくないだろう. 我々は他所の文化を尊重するという教育を受けていたものであるが,
それは「不快・不適当と感じるものからは文化という呼称を剥奪してから攻撃せよ」という指令ではなく, あくまで他人様の生き方を一つのスタイルとして認知せよという意味である.
したがって, あるスタイルが適当か否かを判断するのに「文化であるか否か」を議論の軸にしてはならない. 極端な話, 食人や児童婚も少なくとも「文化」であり,
それをスタートラインとして最低限認めたうえで, 現代社会においてどの程度適当であるかの議論が始まるのである.
- そのうえで, 上記の議論については「ゲームのmod使用はどの程度まで適切として認められるか」という呼称を用いたいと思う.
- 私のスタンスとしては「個人利用の範囲ではどのようなものであれ認められるべきであり, それ以外の他人様に迷惑がかかりうる範囲は運営判断. 使用の公言は著作者の態度次第」である.
- 個人利用の範囲ではいかなるものも認められるべきというのは, これは当然だろう. 我々は対価を払い購入している以上, いかなる方法で遊ぼうが文句を言われる筋合いはない.
例えば将棋セットを買ってきて, それでオリジナルの駒を追加した将棋をしようが, オセロ盤として使おうが, チェス盤として使おうが, それは自由なのと同じ理屈である.
- 個人利用において議論の余地があるとすれば, 「modを作る際にはリバースエンジニアリングじみたことをしますよね. それは規約違反ではないですか」という部分である. 確かに,
PCゲームであれコンシューマーゲームであれ, ほとんどの場合リバースエンジニアリングを禁止・制限する条項が利用規約として入っていることは事実である.
ただし, 私はそもそもこのような規約が不合理であると考えている.
- 例えば机を買ってきたとして, この机がどうも傾いていて挙動がおかしい. そのため机を解体し, 正しくなるように組みなおした.
これは何も疚しいことはしていない. 手元に持っているものは何であれ, 基本的にはそれをどういじろうが, それで罰せられることはない. あるとすればせいぜい車(道路運送車両法)か無線機(電波法), あるいは家(建築基準法)であるが,
これらは事故ったり公共の電波送受信を阻害したり倒壊したりして不特定多数に迷惑がかかるために規制されているのであって, ここでの議論に含めるのは不適当である.
- つまるところ, ゲームソフトはダメで, 机はいいのか, 棚はいいのかというところである. 私が不合理だと考えている理由はここにある.
- また「ゲーム制作者への敬意ガー」などという敬意警察もちらほら見受けられたが, 仮に(私はそうは思っていないが)modの制作・使用が敬意に欠けるものだとしても, 制作者の見えない範囲でやるのであれば,
制作者がmodの使用を数千キロ離れていても感知できる超能力者でもない限りは, 何も問題はないはずである. もちろんお前の敬意の定義がmodの不使用であるのならばそれを貫いてもいいが,
それはお前の勝手な思想であり, 私はお前を尊重してmodを導入しろとは言わないが, お前も私を尊重して何も口出しすべきではない.
- しかし, マルチプレイなど「他人様に迷惑がかかりうる範囲」になってくると話は変わってくる. 将棋にMAP兵器の駒を追加するのは, まあ相手が仲のいい友人程度なら問題ないかもしれないが,
それで将棋の公式戦に出るとなると, 話は変わってくる.
- この場合, 不特定多数に迷惑がかかる可能性があるので, 必ずしも「机や棚」には該当せず, むしろ「車や家」に該当することになる. したがってこのような場合の適不適の判断は権利者にゆだねられることになるだろう.
- さて, 「公言」の話である. どうやら今回の学級会の火種はここにあるようである. これはゲーム次第というところではないだろうか. 「制作者がmodの使用を数千キロ離れていても感知できる超能力者でもない限りは」と先ほど書いたが,
インターネットでmodの使用を公言すれば数千キロ離れていても権利者の耳に入り, 権利者の思想によっては気分を害する, 最悪の場合にはゲーム開発の中止などにつながるおそれもあるだろう.
- じゃあ常に公言すべきではないかというと, 一方でminecraftのように公式がmodの存在を認知し, modの機能が後々公式に実装されるといったケースも少なくない. modを入れたゲームが実況等で有名になり,
作品自体の売り上げに貢献するといったケースもある. したがって公言の是非は権利者の態度次第であり, ここで一般に議論できる問題ではないだろう.
- したがって再度強調すると, 私のスタンスは「個人利用の範囲ではどのようなものであれ認められるべきであり, それ以外の他人様に迷惑がかかりうる範囲は運営判断. 使用の公言は著作者の態度次第」である.
- オウム事件が特撮に与えた影響ってデカいのかなあって話(2025/12/05)
- あんまり特撮詳しくないのだが, 少し思ったので書く.
- 昭和特撮といえば「ショッカー」「デストロン」みたいないかにもナチの残党っぽい勢力か, あるいは「ゴルゴム」みたいな巨大秘密結社が, 当時ちょっと流行を過ぎたくらいのテロ作戦で破壊活動を行うみたいなお約束的流れが,
イメージとして強い.
- そういった世界観がまだ強かった時代の特撮にとって「合法的手段での権力獲得も模索しつつ破壊活動を行った」本物のテロ組織であるオウム真理教は,
悪の組織の形式としてかなりの衝撃だったんじゃないかと思う.
- 直後の96年の特撮では「激走戦隊カーレンジャー」「超光戦士シャンゼリオン」のような, それまでの形式を脱そうという試みがみられた. 特に後者の敵組織ダークザイドは, 合法的な手段による政治的権力の奪取に成功し,
全体主義的な体制を構築するにまで至る敵幹部すら現れた. まだ真理党の記憶が生々しい時期にこれをやったのは中々である.
- 敵対組織が「合法的な立場で公然に存在し, そこそこの権力を有する」という設定はその後ちょくちょく出てくる. わかりやすいところだと「仮面ライダーファイズ」(2003年)のスマートブレイン社, 「仮面ライダー鎧武」(2013年)のユグドラシル・コーポレーションなど.
「仮面ライダーカブト」(2006年)のカッシスワーム戦後のZECTとかも該当するかもしれない.
- こういった設定が生まれたのはやはり, オウム真理教事件により身近な悪意というものが世間的に注目され始め, それが特撮にも反映されるようになったのかなと思ったわけである.
- おわり.
- 『一歩進んだ物理数学』(橋爪洋一郎 著)を読んだよ(2025/12/15)
- ここ一週間くらいで読んだ(ほかの勉強もしていたのでずっとこれを読んでいたわけではないが...).
- 行列の指数関数はよく使う割にあまりしっかりと取り扱った本がないのでしっかりと解説されていたのは良い. 私がB4のころに研究室のゼミで突然お出しされた鈴木・トロッター展開とかね, 懐かしいと思いました.
- 群論の扱いは雪江代数とか買ってきてしっかり腰を据えて取り組んだほうがいいかもしれない.
- ルジャンドル変換も熱力学で突然出てくる, 意味合いがつかみにくい操作なので1章割いてくれるのは非常にありがたかった. というか自分でも茶濁してた部分だったので,
この本で一番勉強になった部分かもしれない.
- 関数論の部分は確かに「関数論の本1冊買ってきて丸まるやる」となると相当重いので, ちょうどいいんじゃないかと思う.
- 確率論・確率過程の部分はう~んという感じ. 確かに物理的な意味合いを考える上では公理的確率論の知識はそんなにいらないはずだが,
それだったらσ-加法族の話も最初からしないほうが混乱しないんじゃないかと思った. 確率過程に関してはちょっと踏み込もうとすると,
すぐ公理的確率論が絡むから勉強が難しい. 確率過程の章は読んだ中では一番わかりにくいと感じたが,
これは書き方が悪いというよりは「そもそも公理的確率論を避けて確率過程を説明するのが難しい」というところだろう.
- 情報理論・エントロピーの部分は専門から離れすぎてるので読んでません...すんません...
- 反対称テンソルは(1章割くほどか...?)と思わなくもなかったが, 急に出てくると困惑するというのもわかるので, この章は演習として見るべきだろう.
- 微分幾何の章は...これもまあできれば多様体論の本に一度当たったほうがいいんじゃないかという感じ. 本文にも書いてあったが, あくまで計算のハードルを下げるという程度でとらえたほうがいいだろう.
- 最後の章は変分法から解析力学を導入, 経路積分まで触れる...らしい. この章はまだしっかりとは読んでないです...
- まとめると, 痒い所に手が届く良書だと思う. B3くらいのころに出てればなぁ...
- (ネタバレ注意)『UFO山』についての感想(2025/12/26)
- テレ東のモキュメンタリーシリーズ『TXQ FICTION』第四弾『UFO山』が放送された. 私は『イシナガキクエを探しています』から毎回リアタイ視聴しているファンであり,
今回も欠かさず見た. 忘れないうちに感想をまとめようと思う. ネタバレの嵐になるので未視聴の方はブラウザバック. これに関してはネタバレを食らう前に必ず本編を見ろ. TVerでもなんでもいいから.
- 一応あらすじを簡単に振り返っておこう.
以下あらすじ(長いのでクリックで展開)
- 1999年12月, 登山家「蜂谷修一」が北海道の朝日山で遭難死した. 発見時の状況は不可解で, 遺体は全裸で頭部のみがひどく損壊,
また着用していた衣類は遺体を中心に円を描くように散らばっていた.
- 生前から比較的有名な登山家だったこともあり, この一件は非常にセンセーショナルな議論を巻き起こした. というのも,
以前から朝日山はUFOが目撃される場所として知られており, 彼の不可解な死はただの遭難事故なのか, UFOが関わっているのか, 2025年現在でも議論が続いている.
この番組は, 蜂谷修一遭難事件の真相を究明しようという試みである.
- 番組スタッフはこの登山家の関係者への取材を試みる. 配偶者は遭難の2年前に離婚し, 2025年時点ですでに病死.
唯一の生き残りである一人息子(吉岡空)への取材を打診するも断られてしまう.
- 番組スタッフは諦めず, 蜂谷の遺留品に含まれていたメモに着目する. メモには「シロクマ」「1987」「周期」などの単語が確認できた.
- 調査を進めたところ, 朝日山近辺では(この地域には生息していない)シロクマの目撃情報が複数件寄せられていることがわかった. あるUFO研究家はこの関連について,
形容しがたいもの・ショッキングなものを目撃した際に防衛機制として無難な記憶に置き換わる, つまり何らかの異質なものを無意識のうちにシロクマとして置き換えて記憶していると説明した.
- 朝日山近辺の住民への聞き込みでは有力な情報は得られなかったものの, 20年ほど前に朝日山周辺の牧場で撮影された, 不可解な白い人影が写りこむ映像を発見した.
- 番組が撮影者への取材を試みたところ, この映像の撮影と同時期に, 当時大学生であった撮影者の息子が不可解な自殺を遂げていたことが判明し, さらに朝日山周辺ではこの撮影時期に複数名の大学生が連続して不審死していたことがわかった.
- 調査を進めると, 1987年にも全く同様の連続不審死が発生していることも判明した. 1987という年号は蜂谷のメモに残されていた数字と一致する.
- 連続不審死の遺族への取材はすべて断られたものの, 周辺住民への聞き込みによって死亡した大学生は「科学サークル」に所属していたことがわかった. 調査を進めたところ, 不審死事件が起こる直前にこのサークルは朝日山周辺での飛行物体の撮影に成功していたことも判明した.
- 連続不審死事件で自殺を試みた学生のうち, 一命をとりとめた学生がいたことが判明し, 番組は取材を行った. 記憶障害の後遺症により自殺の直接原因は不明だったものの, 医薬品のオーバードーズが当時サークル内で流行しており, 錯乱状態に陥り自殺を試みたのではないかと語られた.
当時不審死事件を担当した警察関係者もおおよそ同様の見解を語った.
- この学生は自殺を試みる以前, UFOに強い関心を抱いており, 『UFO 超周期仮説』という書籍を所持していた. この本は蜂谷の遺留品の中に存在していた本であり,
不審死事件と蜂谷の死を結び付けているこの本について, 番組は調査を行った.
- 『UFO 超周期仮説』(著:酒井輝次郎 2025年時点で故人)は「海外で起きたUFO事件は日本でも起こる」という仮説を提唱した本であり, 1999年12月の北海道でUFO事件が起こることを予想していた.
また蜂谷は生前この仮説にのめりこんでおり, 酒井が代表を務める団体(UFO前衛科学研究会)に出入りしていたことも判明した.
- UFO前衛科学研究会の元関係者(石井正彦)に取材を行った. この関係者は蜂谷について「(酒井先生のような)本物になりたかった偽物」と断じ, 「ああいった死に方によってはじめて本物になれた」と述べた.
蜂谷はUFOを撮影するために朝日山に足を踏み入れた可能性が示唆された.
- 吉岡空に再度取材を打診したところ, 取材を引き受ける旨の返信があった. この際, 蜂谷の最期を記録したとみられる映像がメールに添付されていた.
- 映像の内容は, 蜂谷が荒天の朝日山においてUFOの出現への熱望, そしてUFOの撮影を必ず行う決意をカメラに向かって絶叫し, また猛吹雪にも関わらず装備を脱ぎ始めるという内容であった. またこの映像は手ブレのような不自然な揺れが記録されていた.
- 吉岡空への取材が行われた. 一度取材を断った理由は冷やかしを避けるためであり, 最期の映像については蜂谷の遺留品が出どころであると説明された. 手ブレについての質問は濁すような解答であった.
- UFO前衛科学研究会の関係者が撮影を行った可能性について石井に取材を行ったところ, 確かに蜂谷の死の直前に研究会のメンバーで会っていたことは認めたものの, 蜂谷を除くメンバーは悪天候で下山したため, この映像の撮影は行っていないと証言した.
- 吉岡は父親の遺体について, 顔は損壊がひどく, 手を握ったものの凍傷による拘縮で本人の手だとは思えなかったと語った. 蜂谷はUFOにアブダクションされ, すり替えが遺体として残された, 蜂谷の念願(未知との遭遇)がそこで叶った, と吉岡は述べた.
- 病院に運び込まれた蜂谷の遺体, これが本当に蜂谷のものなのか, あるいは宇宙人にすり替えられたものなのか, これは決定不可能な問題である, と吉岡は述べた.
- 蜂谷の命日, 吉岡からメールが届く. 蜂谷遭難の2年前のクリスマス, 空少年は父親に何気なく「UFOが見たい」と口にする. それ以来, 蜂谷は分裂していた家族をつなぎとめるかのように, UFOに執着するようになったのだという.
人間は何かを信じないと生きていけない, 蜂谷はあの日, 朝日山でUFOにアブダクションされた. 吉岡はそう信じることを決めた. メールには空少年が蜂谷とUFOを撮影する約束を交わした日の映像が添付されていた.
- さて, 考察というか感想というかを以下で述べる.
- まず重要な点として, このUFO山で述べられた朝日山周辺の不可解な事象, これらはすべてUFOがいてもいなくても説明がつく事象ばかりである.
- 例えば物語の核である蜂谷修一遭難事件, 確かにUFOのアブダクションとして説明可能であるし, その一方で低体温症・ODによる錯乱状態の産物として説明することも可能である.
- 何か得体の知れない生き物を脳がシロクマとして書き換えた可能性もあるし, 豪雪地帯であることを考慮すれば, 雪をかぶったクマをシロクマと誤認しただけとも説明できる.
- 20年前に観測された謎の白い影, 謎の飛行物体の観測とそれに引き続く連続不審死はUFOでも説明できるし, ODが流行していたのならただの偶然でも説明がつく.
- ここで重要なのは, ある一つの事象について複数の無矛盾な「仮説」が与えられたとき, 我々はどの仮説を真実として採用するか選択することができる, という点である.
- 無矛盾な説明に対する仮説の選択権について, ここで有名な先行研究を紹介しておく. 『うみねこのなく頃に』というノベルゲームがある. このゲームはマジでめんどくさいオタクが多く,
絡まれたら嫌なので感想をこのサイトには載せていないのだが, このゲームはテーマの一つとして「仮説の選択」がある.
- 『うみねこのなく頃に』がどんな話かを説明するのは非常に難しく, ぶっちゃけそれだけで記事が1つ書けてしまうレベルなのだが, 大雑把に言えば「検証不能な殺人事件を魔法と説明するかトリックと説明するか」について,
コミカライズしたときに単行本50冊分になるレベルでダラダラと議論する話である.
- うみねこにも「顔が完全に損壊した遺体」が出てくるシーンがある. 指紋やDNAを照合するような高度な機械が手元にない場合, そのような遺体の身元は服装で判断するしかない. しかし服装だけでは遺体の身元を100パーセント確定することはできない.
もし遺体が別の人物のもので, 服装だけがすり替えられていたとしたら?もしそもそも遺体自体が精巧な偽物で, 実は殺害されたと思われていた人物が犯人(の協力者)として生き延びていたとしたら?
うみねこは外部との連絡が不可能な孤島で話が進むため, これらの可能性が排除できないものとして話が進む. 蜂谷修一の遺体に似た状況, そして似た展開である.
- また先ほども述べた通り, うみねこでは何度も何度も「この事件は魔法かトリックか」という問いが登場する. これは事件の起こる孤島が「魔女伝説」の存在する島だからである. 本作の「UFOか否か」という構造(UFOの曰く付きの山)と一致している.
- そして私が最も類似点として着目したのは「遺族による仮説の選択」である. うみねこでは登場人物は基本的に全員死亡し, 殺人現場である孤島は跡形もなく爆破され, すべてが闇に葬られる.
そしてうみねこの物語は「この跡形もなくなった孤島で起こった事件の全貌の仮説」として世間に提示されたもの, という体をとっている.
うみねこでは特に中盤以降, 仮説の選択に苛まれる遺族が描かれる. もし凄惨な殺人事件をやってのけたのが自分の家族だったら?世間からもそのような仮説を採用した人からのバッシングや嫌がらせを受ける.
お前の家族があの事件を起こしたんじゃないのか?といった中傷を毎日のように受ける. 事件の内容は違えど似たような冷やかしに辟易した結果が, 吉岡空のあの態度なのだろう.
- まとめると, 『UFO山』と『うみねこのなく頃に』は「一つの検証不能な事象に与えられた複数の仮説の選択」をテーマにしているという点で非常に類似している.
- ただうみねこはこのテーマをマジで遠回しにわっかりにくく複雑に書いてるので, UFO山のほうがより直球で向き合っているといえるだろう.
- 吉岡空は自分の父親の末路を知ることはない. 今や検証は不可能だからである. もちろん1999年の事件で遺体も収容されているのなら, DNA鑑定は行われたとみて間違いないだろう. しかしUFOがDNAまで完璧に一致させた身代わりを用意したのだとしたら,
地球の技術では本物の蜂谷だったと結論付けたとしても, やはりアブダクションされたと主張し続けることができる. これを否定することは誰にもできない.
- ではなぜこのような仮説を彼は真実として採用したのだろうか?これはもはや考察ではなく妄想の域であるが, そうでもしないと父親の死を乗り越えられなかったのだろう.
- 幼いころにした, UFOを撮影するという約束, それ以降父はUFOに執着するようになった(この約束まではUFOに関心がなかったというのは最後の映像から推測できる). そして彼は怪しい団体に出入りし, 暇さえあれば山に登りUFOを探す.
離婚が成立しても, もはや生きがいになっていた. そして彼は冬山に無茶な登山をし, 命を落とす. 物語としてはこのほうが簡単であり, リアリティもある.
しかし「自分の約束がもとでUFOに取りつかれ, その結果何物にもなれず最後には無茶な登山で遭難死した父」をそのまま受け入れることはきっとできなかったのだろう. だからUFOにアブダクションされた. そう信じることにした.
警察署で触れた拘縮した手は父のものじゃなかった. 顔もよくわからなかった. おそらく防衛機制で無意識に記憶をそう塗り替えたのだろう. 父は今でもアブダクションされてどこか遠くで生きている. そう信じないとやりきれなかったのだろう.
- ただこの仮説を採用することを良しとしない自分もきっといたのだろう. 散らばったエナジードリンクをはじめとした荒れた家がその苦悩を裏付けている. 自分以外がどのような仮説を採用しているのか気になるから「あなたはどう思います?」と盛んに聞く.
- TXQ FICTIONは毎度メディアへの風刺が入っており, 今回も突然不審死事件の取材に行ったりとメディアの傲慢を強調する描写があったりしたが, 今回はより大きなテーマとして「特定の真実を押し付けることに対する攻撃性」も含まれていたと考えられる.
序盤のおっさん二人のUFOに関するレスバトル, UFOにアブダクションされたと信じることで何とか父の喪失を乗り越えた吉岡空にはひどく攻撃的なものとして映るのではないだろうか.
- Linuxでエロゲー(2025/12/30)
- 私の友人であるY氏が最近エロゲーに興味を持った. 実に喜ばしいことである. ゆずソフトのようなゲームをやりたいといっていたので,
私はすぐに彼に『沙耶の唄』を
全く内容を説明せずに貸した. しかしここで問題が浮上, 彼は筋金入りのMacユーザーでWindowsを所有していなかったのである.
- 結局彼は秋葉原で格安のWindowsパソコンを見つけてきて, 無事クトゥルフ恋愛を果たしたのだが, ここで一つの疑問が生じる. Unix(系)ユーザーは本当にエロゲーをプレイする権利がないのだろうか?
- そんなことはない. 最も手軽な手段としてはVMwareをつっこんでWindowsを仮想環境インストールが丸いだろう. しかし新規でWindowsライセンスを買いたくなかったり,
その他何らかの事情でVMwareを使いたくないケースがあるかもしれない.
- そこで今回検証するのは『Wine』というOSSである. これはUnix系にWindowsの機能を提供するソフトで, 感覚的にはWSL(WindowsにubuntuをインストールするWindowsの公式機能)の逆と考えてもらうと良いだろう.
- インストールに中々苦戦したのでやり方をまとめておく.
- 検証環境
- OS:Debian13.2(VMware上の仮想環境. ホストOSはWindows11なので今回はWindows上に仮想環境でLinuxを入れて, その仮想環境でもっかいWindowsソフトを動かそうとしている. )
- 割り当てメモリ:8GB
- ストレージ:40GB(うちスワップ2GB)
- CPU:2コア
- Wineのインストール自体は難しくない. ここの指示に従ってレポジトリを登録し, 後はaptでinstallすれば終わり.
- 次にインストールするのは補助ソフト(ほぼ必須)のwinetricksである. ところがこれをbuildするには複雑な依存関係が絡んでいる. かいつまんで紹介すると(私の環境での話なので適宜読み替えてほしい. あとうろ覚えなのでミスがあるかも),
- まずgmpという浮動小数に関するライブラリをmake isntall
- 次にmpfrをmakeしてinstall
- するとgdbがビルドできるのでこれもmakeしてinstall
- 今度はbinutilsがビルドできる. これもmake install
- これでようやくwinetricksがビルドできるのでmake install
- winetricksをインストールしたらwinetricks cjkfontsを実行するかwinetricksのGUI上でcjkfontsをインストールするかして日本語フォントをインストール.
- 試しにStirling(Windowsではおなじみのバイナリエディタ)をwineで動かしてみると, 確かに動く! すごいわね.
- さて, 肝心のエロゲーである. 今回は仮想環境であることを鑑み, ISOに焼いた仮想ディスクをマウントした.
- ちょっとここも通常あまりやらない操作なので解説すると, LinuxにおいてISOファイルのマウントはmountコマンドを用いて行う.
カレントディレクトリにマウントしたいhoge.isoがあるとして,
$ mkdir mount_dir
$ sudo mount -t iso9660 ./hoge.iso ./mount_dir/
というコマンドでカレントディレクトリの下にあるmount_dir/にisoファイルがマウントされる. なおISOファイルではなくMDFファイルに焼いている場合も,
実態は同じものなのでhoge.isoをhoge.mdfに変更するだけで動作するはずである. ちなみにmountの解除は
$ sudo umount ./mount_dir/
で行う.
- マウントしたらmount_dir/内のインストール用実行ファイル(たいていはsetup.exeとか)をwineに渡して実行する. 果たしてうまくいくのか...?
- 以下はいくつかの実験結果である.
- 沙耶の唄(ニトロプラス):条件付き動作(winecfgでwineをwin98に設定すると動作. ただし死ぬほど重く, また音が途切れることがある. )
- babyface(OzPROJECT):動作不可(インストーラー起動せず.)
- JELLY(IMAGECRAFT):動作不可(インストーラー起動せず.)
- はぁ~つっかえ. 全然ユルケツじゃんかお前~. 多分winetricks使って環境をもっと丁寧に調整してやれば動くのかもしれないが, 記事の結論としては
黙ってWindowsを買え
- おわり.
- 超光戦士シャンゼリオン39話について(2026/01/02)
- こないだ特撮好きの知人に見るように言ったので, ついでにあの衝撃の最終回について感想を書こうと思う.
- 正月早々話題がこれかよという気がしないでもないが, まあ今年で30周年なので, いいだろう.
- ネタバレが入っているので見てない人はブラウザバック.
- この作品はのちに始まる平成ライダーの走りとなった作品で, 前にも述べたようにこれまでのステレオタイプ的特撮作品からの脱却が図られ,
特にメインライターの井上敏樹が掲げる古典的なヒーロー像への疑問, 人間的に不完全なヒーロー像が前面に押し出された. また作劇・演出にも実験的な要素が数多く取り入れられ, ゼロ年代の特撮に強い影響を与えた.
- さて, 最終話直前の37,38話はこれまでのコメディ色が強いストーリーから打って変わってシリアスで非常に政治色の強い話となった. こんなのどう収集つけるんだと想像もつかない状態で迎えた最終回が,
まさかの38話までと直接的にはつながらない, 2つの世界をテーマとした話である. どう解釈するべきなのだろうか?
- 井上敏樹はこの最終回について公式ファンブックで「夢は美しいから夢なんだよ」という言葉を残しているという.
- これを一番素直に解釈するならば, 涼村暁はダークザイドとの絶望的な戦いの中で, 女好きでだらしなく, それでも楽しく生きているもう一つの涼村暁の夢を見ていて,
それが夢なんだということになる(つまり38話までの話が全て夢で, 39話こそが現実).
- ただこの解釈はあまりにも素朴である. そもそも39話の世界の涼村暁は, 夢の世界について一言も「美しい」とは明言していない(はず, うろ覚えだから言ってたらごめん). 楽しい夢ではあるかもしれないが,
美しい夢であると解釈するのは少々行き過ぎである.
- ではどちらが「美しい」のだろうか? 古典的なヒーロー像を重視する速水みたいなタイプの人間からすれば, 絶望的な戦いの中でも燦然し, 毅然と立ち向かっていく姿のほうがむしろ「美しい」と解釈できるだろう.
そのような解釈を採用する場合は逆に, 女好きでだらしない涼村暁が現実ということになる.
- どちらも「美しい」と解釈できるのならば, むしろ「どちらも並列に存在する世界で, それが互いに夢という形でつながっている」という解釈もできる. 本編の描写からしても, この解釈のほうが自然かもしれない.
少なくとも, どちらが夢でどちらが現実かを議論するのは, 美しさという主観的な基準に依ってしまう以上, ナンセンスだろう.
- もうひとつ疑問が生じる. そもそも39話の女好きバージョンの世界もまた, 38話までの世界と同一のものなのだろうか?
- 39話の女好きバージョンの世界は確かにある程度38話までの世界に似ているが, 37,38話の顛末には一切触れられない. 38話での内容からして日常生活がそう簡単に戻ってくるはずがないのに.
まるで何も起こらなかったかのように話が進む.
- 私は「黒岩省吾の独裁が行われた世界(38話までの世界)」「黒岩のクーデターが起こらず日常が続いている世界(39話の女好きの世界)」「絶望的な戦いを強いられている世界(39話の戦いの世界)」の,
少なくとも3つが独立に存在しているのではないかと考察している.
- このような結末は, 同じ特撮だと仮面ライダー龍騎を彷彿とさせる
(イライラしている世界). ただし龍騎は主にタイムベントで行われる「世界の巻き戻し・再構築」であるのに対し,
こちらは完全に独立したパラレルワールドである.
- いずれにせよ, 30年前の段階で子供向け特撮番組の結末としてこれを書いたのはかなり独創的だったと考えている. 大先生すごいわね.
- Debianのデスクトップ環境を変えてみたよ(2026/01/08)
- 今までGNOMEを使っていたけどLXQtに変えてみた. 半日使った感想.
- 良い点
- 若干GNOMEより軽い.
- UIがWindowsに近い(Windowsユーザーなのでありがたい).
- GNOMEより日本語入力への切り替えが容易.
- 悪い点
- ホームディレクトリから離れたディレクトリにいるとき, なぜかBashの表示が崩れる(俺環?).
- Qt5-devをインストールしておかないとgnuplotをソースコードからビルドしたときグラフを表示できない.
- WindowsユーザーとしてはUIがWindows寄り(しかも一番使いやすかったXP~7あたりのUI)なのはかなりありがたかったが,
GUIソフトがQt5-devをインストールしないとビルド通らなかったり変な挙動したりするのは中々気づかないし, そこはマイナスかなあ.
- (20260120追記)画面のスクショはこんな感じ
もどる