Mr. Baby Paint の偶然の発見による新しいセルオートマトン

2026/07/03 12:13

Mr. Baby Paint の偶然の発見による新しいセルオートマトン

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Heikki Lotvonen は、乳幼児とその保護者が遮断なく画面を共有できる協働描画アプリケーション「Mr. Baby Paint」を開発しリリースした。itch.io を介して Mac、Windows、Linux で 4.99 ドルで入手可能な同アプリは、現在では限られた販売(約 30 コピー)を見せているが、その特化されたメカニズムによって独自のニッチを確立している。インターフェースはメニューなしのfullscreen 空キャンバスを採用しており、子供が自由に描画する間に保護者が保存や元に戻すなど必須操作をキーボードショートカットで管理できるようになっている。描画入力は許容度が高い:不規則なマウス移動は Catmull-Rom スプラインを用いて滑らかに処理され、エッジベースの UI セグメントにより、ブラシサイズ、色、フォントの変更は正確な操作なしで行える。本ソフトウェアは CPU を駆使したフラッドフィル実験に基づいたセルULAR オートマトンを通じて瞬時描画ではなく有機的な成長をシミュレートする。さらに、実験的なピクセル・ファッテニングアルゴリズムは細いストロークを太く楽しい文字に転換し、特に手法 #4 は最終的な美学を得るために Aseprite で手動で編集されたものである。本アプリは Rob Hagemans 氏のコレクションからクラシックなフォントを利用しており、描画速度に基づいて単純なデジタル scribbles(ささくれ)を自然パターンに変えるよう設計されている。

本文

乳幼児向け描画アプリ「Mr. Baby Paint」の開発体験と技術的発見

Heikki Lotvonen が 2026 年 4 月 2 日に行う、3 歳の子供を相手にしたソフトウェア開発の物語。極めてシンプルな共同作業用ツールから、予期せぬフラッドフィル(溢れ塗り)セルオートマトンビットマップフォント増量アルゴリズムの開発へと発展しました。

🎨 toddler 向けソフトウェアのデザイン:Mr. Baby Paint

背景と課題

  • 著者の 3 歳の子供は、キー操作、マウス操作、クリック音などに喜びを感じますが、通常のコンピューターでの利用は困難でした。
  • WordpadMS Paintなどの既存ツールでは以下の問題が発生しました:
    • メニューバーやツールバーへの誤クリックを頻繁に発生させ、親が常時介在する必要があるため、子供はイライラしていました。
    • 「ただ遊ぶ」ことと「タイピングモード/描画モードの切り替え」が両立できず、体験が中断されていました。
  • 既存のツールでは子供たちのスキルセットや遊び心に対応できないことが分かりました。

MVP(最小機能要件)

  • メニューバー・ツールバーのないフルスクリーン空キャンバス
  • 直感的な描画: マウスドラッグで直接画面に描画。
  • 共有可能な役割: 子供はマウス操作、親はキーボードショートカット(保存
    /CMD+S
    、消去
    /CMD+E
    など)を担当。
  • 中断ゼロの設計: どんなに激しくてもキーボードを壊すような操作でも、描画体験が止まらないこと。

楽しさの原則:「失敗しない」インタラクション

  • あらゆる行為には必ず**報酬(マーク、音、視覚効果)**がつくことを徹底しました。
  • 「失敗する」方法は存在せず、子供は常に何らかのフィードバックを得られます。
  • 操作方法:
    • 左クリック:描画
    • スクロール:砂を落とす(粒状エフェクト)
    • 右クリック:ペイントバケツを使用(スプラッター生成は速度に依存)

🖱️ UI 設計:不規則な動作の活用

子供たちの予測不可能なマウス操作ではなく、それを特徴として利用しました。画面の縁を制御領域とし、複雑なメニューを用意しませんでした。

画面位置セグメント数機能
左側16 セグメントブラシサイズ選択、フォント変更
下側16 セグメント16 色のカラー選択
上側64 セグメントアルファベット、数字、記号フォントの切り替え(図形フォントも搭載)
右側2 選択肢丸ブラシ / 角ばった正方形ブラシ の切換え

🤝 コーポペイント:共同作業のためのショートカット

単独利用ではなく、親との**共同作業(Co-op)**を想定した設計。複雑な機能はキーボードショートカットで親が制御し、子供は描画に集中します。

キーボードショートカット一覧

機能ショートカット / 操作
描画トリガー左クリック保持 または
Option/Alt
保持(Mac)
フルール塗り右クリック または
Cmd/Ctrl + X
砂を注ぐマウススクロール または
Enter
キー保持
エフェクト停止
Space
キー(砂の落下とフィルリングを一時停止)
保存
Cmd/Ctrl + S
消去 (リセット)
Cmd/Ctrl + E
元に戻す
Cmd/Ctrl + Z
取り消し再実行
Cmd/Ctrl + Shift + Z
ストローク閉じる
Cmd/Ctrl + C
円形ブラシ選択
Cmd/Ctrl + B
正方形ブラシ選択
Cmd/Ctrl + R
色変更
Alt + 数字
または
Cmd/Ctrl + 数字
メニュー開閉
ESC
キー

🌊 フラッドフィルとセル状オートマトンの発見

マリオペイントへのオマージュ

  • 従来の「即時塗りつぶし」ではなく、『マリオペイント』のリアルタイムなゆっくりとした塗り込みプロセスを再現。
  • 成長方向: 『マリオペイント』は上下のみに対し、「Mr. Baby Paint」では左右にも成長させました。

たまたま発見された「有機的パターンのバグ」

  • 実装意図: 複数の塗りつぶしと描画を同時に発生させ、動作をブロックしないこと。
  • 仕組み:
    1. 「成長予算」の共有: フラッドフィル全体で 1 フレームあたり 1000 ピクセルの総移動量に制限。
    2. 速度差: 新しい塗りつぶしの方が古いものより速く成長するため、境界で衝突します。
    3. 収束: 同色の別の塗りつぶしが追加され互いに収束すると、非常に有機的なパターンを形成。
  • 結果: パターンが波打ったり移動したりする「準安定状態」が発生。最終的に安定するか、一つの勝ち組フラッドフィルが決済(消滅)するか繰り返す生命体のような挙動が発見されました。
  • CPU での実装: GPU アクセラレーションも試みましたが、CPU の計算における「意図的な遅延」が心地よい体験だったため、あえて CPU ベースで動作させています。

遊び方とカスタマイズ

  • クリックして塗りつぶしを開始し、その内側の縁近くにもう一つ起動するとパターンが発動します。
  • 「Auto」ボタンで待機したり、進行中に変更を加えたり可能です。
  • カンバス右クリックで画像をダウンロード(Save Image As...)できます。

📝 ピクセル増量(Pixel Fattening)アルゴリズムの開発

単一ストロークのビットマップフォントを、太く美しいフォントに変換する実験的プロジェクトです。手作業ではなくプログラムによるピクセル増量を追求しました。

開発プロセス:試行錯誤の連鎖

著者は以下のアルゴリズムを試験的に行い、結果を評価して次へ進みました。

  1. 単純なサンプリング: 黒い画素に大きな四角形を設置 → 失敗(詳細が潰れる)。
  2. 詳細保持拡大: 間隔を保ちながら線幅を増やす試み → 改善
  3. Jump Flooding Algorithm (JFA): 距離フィールドを使用した拡大尝试 → 不成功
  4. 角度ギャップ検出: JFA に 90°以上の黒い画素を検出し、間隔を推定。→ 有望
  5. ホールフィルリング追加: 主要方向で囲まれた白色画素を埋める処理を追加。→ さらに向上
  6. ホワイトスペーススケルトン検出: JFA に中軸線(脊髄)を検出して間隔を保存。→ 成功
  7. 対角線許容と孤立白画素処理: 孤立した白色を埋めるポストプロセッシングパスの追加。→ より良好
  8. 符号化距離フィールド (SDF) とレイキャスティング: 16 方向からの計算で安全な拡大値を算出。→ 高度な制御
  9. ナローギャップ検出: レンダリング時の狭い間隔部分の処理強化。
  10. 距離比閾値アプローチ: 8 方向レイキャストと最近距離比率を用いた精密な計算。
  11. Meijster ユークリッド変換: ユニオン・ファイン CCL とヴォーロイ境界を利用した正確な変換。
  12. 反復的膨張と衝突検出: ピクセルをロックし、間隔幅で制御する手法。
  13. トポロジー保存型膨張: 白色領域の融合を防ぐためのピクセル除去処理(理論上の完全実現は難しかった)。
  14. ヴォーロイ境界を分水嶺として使用: 領域の併合をチェックしつつ制限線を引く最終手。

結論:#4 アプローチの採用

  • 試行錯誤の結果、**アプローチ #4(角度ギャップ検出法)**を採用し、手動で Aseprite で調整しました。
  • 成果: 同じソースから異なる重みとスタイルを生成可能な完全なビットマップフォントパイプラインが完成。
  • 応用範囲: 文字だけでなく、あらゆる画像(図形やプロモーション資料)でも有効に機能します。

📊 プロジェクト結果とリンク

販売実績

  • Mac, Windows, Linux の 3 プラットフォームに対応。
  • itch.io4.99 ドルの販売価格にて提供中。
  • 発売累計約 30 コピーを販売済み。

リソースリンク

  • 『Mario Paint』プレイ動画:YouTube
  • ロブ・ヘイマンスの「ホールド・オブ・ビットフォントス」プロジェクト: GitHub

同じ日のほかのニュース

一覧に戻る →

2026/07/06 6:03

Open プリンター

## Japanese Translation: Openprinter は、印刷技術における大きな転換点であり、コンパクトな耐久性と完全な修理可能性、そしてコスト削減および電子廃棄物削減を実現するオープンソースアーキテクチャを統合しています。Raspberry Pi Zero W および STM32 カートリッジ基板といった標準コンポーネントを基盤として構築されており、制限的な DRM を排除しつつ、Wi-Fi、Bluetooth、または USB を介して Windows、macOS、Linux、Android、iOS などの複数のオペレーティングシステムに対応します。このデバイスは高い汎用性を備えており、A4、A3、Letter の標準用紙、長さ 37.5m までのロール、バナーのようなカスタムフォーマットを処理でき、壁取付または机置き(統合されたカッターにより多様な構成が可能)に対応します。ユーザーは、特定の HP カートリッジ(地域によりモデルが異なる)に互換性のある再利用可能な Inkit ボトルを採用する低コストな消耗品戦略から恩恵を受け、モノクロ印刷においてすべての色が不要であっても、600〜1200 dpi の高品質出力を実現します。配布は Crowdsupply 上のクラウドソーシングモデルを通じて行われ、即席で使用できるユニットまたは組立キットが提供されます。さらに、該装置は電話アプリを介して HD ドキュメントキャプチャを含むスキャン機能を統合しています。結局のところ、このアプローチは個々に低価格な技術と統合されたスキャン機能を提供し、持続可能性を促進します。その成否は現在のキャンペーンにおける消費者の採用に依存し、印刷が引き続きアクセス可能な長期的な未来を約束しています。クリエイティブ・コモンズライセンスの下で配布され特許によって保護されている本プロジェクトは、倫理的利用を保証しつつ開示性を維持します。

2026/07/05 23:14

オーガニックマップ

## Japanese Translation: Organic Maps は、MapsWithMe および Maps.Me の背後にあるオープンソースコミュニティによって開発された、ハイキング、自転車走行、車での移動、地下鉄利用のための優れた無料オフラインファーストナビゲーションアプリです。完全におープンストリートマップのデータを動力源とし、アクティブなインターネット接続を必要とせず、かつデータを送信することなく、詳細なオフライン地図、曲がりくねるポイントごとの音声ガイダンス、等高線、高低差プロファイル、Wikipedia アーティクルを含むすべての機能を提供します。本アプリは、ゼロ広告、トラッカー、データ収集、強制登録、「ホームへ連絡」のない厳格なプライバシー設計で際立っており、これらは Exodus Privacy Project および iOS 用の TrackerControl による独立した監査によって検証されています。小さなフットプリントを持ち、1 つのバッテリー充電で 1 週間持つことができ、インターネットなしで機能の 100% をサポートするため、遠隔地域に最適です。Android、iOS、Linux(Flatpak/パッケージ)、Huawei AppGallery、Obtainium、Accrescent、F-Droid で利用可能で、Apache License 2.0 の下で動作し、寄付を通じて開発をサポートすることを可能にするコミュニティ主導のインディーズプロジェクトを育んでいます。本アプリは積極的にグローバルな参加者を招待しており、ベータテストプログラム(iOS 用の TestFlight、Android/Firebase/Flatpak/Linux デスクトップ用)を提供し、問題トラッカー、メール、Telegram、Matrix スペース、GitHub、Bluesky、FOSStodon などのソーシャルメディアプラットフォームなど複数のチャネルを通じてバグ報告、機能リクエスト、アップデートを提供しています。母語が多種類ある地元のコミュニティから支援され、専用の Matrix チャットおよび Telegram グループを通じてサポートされている Organic Maps は、ユーザーに世界を自由に探求できるようにすると同時に、監視慣行を拒否します。

2026/07/06 6:32

Show HN:自宅で作ってきたオープンソースゲームプラットフォーム「Homegames」

## Japanese Translation: Homegames は、アカウントを作成することもなくソフトウェアをインストールすることなく、ユーザーがゲームを楽しみ、作成し、共有できるブラウザベースのプラットフォームです。開発者は簡単なインブレーズアエディターを使用してコードを書き、ライブプレビューを確認しながら変更を即時テストし、マルチプレイヤーセッションを直接実行できます。資産管理は標準機能として搭載されており、ユーザーはファイルをアップロードするか、スタジオ内でコンテンツを描画または記録することもできます。ゲームはユーザーの好みに合わせて公開publishするか、プライベートに保つことが可能です。2018 年以来、GPLv3 ライセンスの下でオープンソースシステムとして構築され、単一サイドプロジェクトとして展開されてきた Homegames は、プラットフォーム全体とその API を個人ハードウェア上でのセルフホスティングを可能にし、元のサイトがオフラインになった場合でも長期的な保存を保証します。第三者サーバーへの依存を排除することで、Homegames はインディペンデント開発者に対する障壁を低下させ、プラットフォームの不安定さから創造的作業を守るための頑丈なインフラストラクチャを提供しています。

Mr. Baby Paint の偶然の発見による新しいセルオートマトン | そっか~ニュース