ベイブタイピング

2025 - 05 - 04

1時半に起きた。

新しいマウスが届いた。ぎょっとする見た目。初めてのトラックボール。慣れるのに1年かかると聞く。

まだ使ってないからわからないけれど、トラックボールマウスの魅力は、そのものを動かす必要がないことだと思ってます。僕はノートパソコンをちょくちょく動かしながら、さまざまな姿勢や状況で作業する。そのため、布団まわりなど、通常のマウスを動かせる平面が無かったり、平面があってもセンサーが検知できないマテリアルだったりする環境では、マウスが使えないことがちょくちょくあった。そのようなときはタッチパッドで作業するわけだけれど、開発してると頻繁にパソコンが熱を持ってパッドも鉄板のように熱くなるので、指がひりひりして嫌な気持ちになりました。

そこでこちらの商品というわけ。使ってみた。ウオー。たしかに慣れが必要だ。

クリックが難しいことに気づいた。クリックするとき、今までは母指球から親指にかけての面をペタッと接地して、それを支えに人差し指や中指を叩いていた。でもトラックボールマウスでは親指の位置が安定しないので、そのへんに力を込めることができない。その支えがない状態で他の指を的確に押し込もうとすると、親指がずるぅと落ちそうで、怖かった。

まあ使っていけば、新しい手の形に即したクリック操作が自然と身につくでしょう。明日は手が筋肉痛になっているだろうな。

作業する。

入力について、ポーリング(定期的に入力状態を問い合わせる)とイベントドリブン(入力されたときだけ処理を行う)という言葉を知った。

また、ダックタイピング(Duck Typing)という概念を知った。Pythonなどの動的型付け言語がよく掲げる理念で、メソッドやプロパティを、それが属するクラスを問わずに呼び出せるシステムのことだ。「もしアヒルのように歩き、アヒルのように鳴くなら、それはアヒルだ」という言葉に由来する。

ある日、アヒルを連れてきてとパートナーに頼まれる。僕は「アヒルって?」と尋ねる。パートナーは「歩き方がぺたぺたで、あとグワグワと鳴くやつだよ」と教えてくれる。僕は街へ繰り出し、あたりを見回す。すると、朝散歩に励んでいる知人・Aさんを見つける。Aさんは安定感の高い4点杖をぺたぺたと鳴らしながら歩いていた。近づいて「おひさしぶりです」と声をかけると、彼女は「グワッグワッ」と文句?を垂れる。僕はなるほどと思い、Aさんの手を引いてパートナーのところへつれて行く。僕は帰宅し「アヒルを連れてきたよ!」と言う。そして後ろからAさんがぺたぺたと現れて「グワグワッ」と言う。パートナーはそれを見て「ウオー本当だ! ありがとう!」と目を輝かせ、Aさんの頭を撫でる。

GodotやGameMakerが導入してる動的型付け言語はこのように、Aさんが生物種としてアヒルに属しているかを見ない。期待されたプロパティ(歩き方がぺたぺた)やメソッド(グワグワッと鳴く)を持っていればいれば通る。ダックタイピング。

他方、Unityで使うC#などの静的型付け言語の場合は、それらのふるまいが「アヒルとして」のものかどうかを確認するので、Aさんを連れてきたところで「オイ、アヒルを連れてきてって言ったんだけど……」とパートナーに断られる。「エ……でも、歩き方がぺたぺたしてるじゃん」「いや、確かにぺたぺただけれど、それは人間のやつで……」「でもだって、グワグワ鳴いてるよ……ほらっ」「グワッ」「いやそれも人間の声の……言ってるんだと思うよ……」

静的型付けならこのように、あらかじめコンパイルエラーとして「アヒルじゃない」と教えてくれる。その安全性がメリットだ。動的型付けの場合、手続きは早いけれど、実行時にようやく「アヒルじゃねーじゃねーか」と気づくので、本番で想定外のメソッドやプロパティが求められて、大変なトラブルが起きるリスクがある。逆に言えば、パートナーが純粋に「歩き方がぺたぺた、かつグワグワと鳴く」素材を求めていただけだったのであれば、別にAさんがアヒルじゃなくたって、何の問題もない。『ベイブ』で豚のベイブが牧羊犬コンテストに出られたのと同じだ。大事なのはふるまいで、種族や血統ではないということ。長門有希も人間じゃないが高校に通っている。

トラックボール、カーソルを真上に動かすのが難しい。親指を自然な方向に滑らせると、すこし斜め上に進む。

7時間ほど作業した。今日はおもにバグ修正だった。明日からステージや敵の生成手順について、考えて形にしていこうかな。

時間を持て余して、Netflixで『スーパー・クルックス』というボンズ制作のアニメを見た。かつてスーパーヒーローに憧れた主人公が、大人になってヴィランとして仲間を集めて大犯罪する話。ほぼオーシャンズ11。すごい面白いとかではなかった。でも絵に色気があって、最後まで見ちゃった。

『キャロル&チューズデイ』『グレート・プリテンダー』に『スーパー・クルックス』を合わせて、Netflixのこういう系アニメ、という自分の中のカテゴリができつつある。どれも絵が強くて一見面白そうだけれど、視聴してみると話は意外と手堅く、別に……みたいな。オスカーを狙っている洋画のような匂い。アメリカ的なウェルメイド(今知った言葉)の感じ。

寝る?

のかな?