GOKIs
Macのデスクトップに小さな住人を手配するアプリ。
何を解いているか
解いている課題はありません。GOKIsは実用のためのアプリではなく、Macのデスクトップに小さな住人を置くためのアプリです。
なぜ作ったか
macOSのデスクトップは、作業していないあいだ何も起きない場所です。そこに、カーソルから逃げ、ウィンドウの背面や画面の隅に潜み、放っておくと定住する生き物を置きました。駆除するアプリではなく、設置するアプリです。 公式サイトは害虫駆除業者の体裁で書いています。プロダクトの説明としてはあちらが本体なので、こちらには作りの話だけを置いています。
設計の判断
止める条件を3つに分け、OR で判定する
描画を止める条件を3つに分け、いずれかが成立したら止める形にしています。 画面がロックされたとき、ディスプレイがスリープしたとき、全画面のアプリが前面にあるときです。 1つの条件でまとめて判定するのではなく別々に見ているので、復帰の取りこぼしが起きません。 常駐する前提のアプリなので、止まっている時間を長く取ることを優先しました。
3つのフラグの OR で止める。計算は描画ループの中にあるので同時に止まる 最下層に置き、クリックは下へ通す
ウィンドウ階層は通常より1段下で、マウスイベントは既定で無視します。 他のアプリの前には出ませんし、クリックはオーバーレイを素通りして下へ届きます。 常に前面に出して見えるようにする選択はしませんでした。 例外は狩りモードで、オンのあいだだけクリックを受け取ります。
階層 −1 とマウスイベントの無視で、見えるが操作の邪魔をしない層に置く 個体数の上限は10万、目盛りは対数
設置数の上限は10万匹にしています。 上限を小さく丸めなかったのは、極端な設定を試すこと自体がこのアプリの遊び方だからです。 ただし1から10万を線形のスライダーに載せると手元が効かないので、目盛りは対数にしています。
選べる個体数は6段。段が上がって増えるのは GPU 側の仕事だけ 逃走方向は、乱数一発では決めない
逃走の向きを乱数一発で決める形にはしていません。 脅威から離れる向きを基準に、いくつかの選好角のなかから選びます。 まっすぐ遠ざかるだけでも、完全な乱数でもないので、追いかけても軌道が読めません。 捕まえられる挙動にすると、置いておく理由がなくなります。
候補は5つの選好角。脅威との相対角で使える候補が入れ替わる
提供形態
- 対応プラットフォーム
- macOS
- 動作要件
- macOS 15.6 以降、Apple Silicon
- 価格
- 無料
- 配布
- Mac App Store
- 設置数
- 1〜100,000匹(メニューバーから一括退去)
- プラットフォーム
- macOS
ほかのプロダクト
同じプラットフォーム向けに作っているものです。
