こんにちは、Karouです。Egg Masterの開発で最も力を入れた「調理支援モード」と「物理演算エンジン」について、開発の裏側をお話しします。シミュレーターがどうやって「実際にキッチンで使えるツール」に進化したのか、その過程を振り返ります。
調理支援モード:Web APIの合わせ技
調理支援モードは、シミュレーションの設定をもとにリアルタイムで音声ガイドしてくれる機能です。「予熱を始めてください」「卵を投入してください」「蓋をしてください」と、キッチンにいながらスマホの画面を見ずに調理を進められます。
使用した Web API
- Web Speech API (SpeechSynthesis):テキストを音声に変換してリアルタイムガイドを実現。日本語音声で自然な読み上げに対応。
- Wake Lock API:調理中にスマホの画面が消灯しないよう制御。キッチンで濡れた手で画面をタッチする必要がなくなる。
予熱時間の自動計算
地味ですがこだわったのが予熱時間の自動計算です。フライパンの種類(テフロン・鉄・ステンレス)と火力設定に応じて、適切な予熱時間を物理モデルから算出しています。鉄フライパンはテフロンより熱容量が大きいため予熱に時間がかかる、といった現実の特性を反映しています。
一時停止・再開の実装
調理中に「ちょっと待って」ができるのも重要なポイントです。一時停止するとタイマーとWake Lockが一時解除され、再開時にすべて復帰します。また、中止ボタンでいつでも調理支援を終了でき、音声ON/OFFの切り替えも可能です。
物理演算エンジンの進化
Egg Masterの物理演算は、3つのフェーズを経て大幅に改善されました。
Phase 1:基本モデル(初期リリース)
最初のバージョンでは、温度と時間の単純な線形関係で凝固度を計算していました。「高温で長時間 = よく焼ける」という当たり前のモデルです。これでもシミュレーターとしては成立しますが、現実の卵料理とは乖離がありました。
Phase 2:シグモイド凝固カーブの導入
実際の卵の凝固は線形ではなく、ある温度帯で急速に進みます。白身は約62度で凝固が始まり、黄身は約68度。このS字カーブをシグモイド関数で表現することで、「半熟」の再現精度が劇的に向上しました。
- 白身の凝固:基本レートとsigmoid倍率の下方修正で、リアルな焼き上がりに
- メイラード反応:150度以上で進行する焦げ目の計算
- こびりつき:フライパンの種類と油の量に依存するモデル
Phase 3:環境要因の統合
最終的に追加した要素は、より現実に近い調理体験を追求したものです。
- 油の発煙点:サラダ油とオリーブオイルで発煙点が異なり、過度な加熱で煙が出る
- バターの水分蒸発:バターは約15%が水分で、加熱すると泡立つフェーズがある
- 卵投入時の温度降下:冷蔵庫から出した卵を入れるとフライパンの温度が一時的に下がる
- 複数個の相互影響:卵を2個以上同時に焼くと、crowdFactorで加熱効率が変化
ゆで卵の5層モデル
ゆで卵は目玉焼きとは全く異なるアプローチが必要でした。卵を外側から内側に向かって5層に分割し、各層の温度伝導を時系列でシミュレーションしています。
このモデルにより、「7分 = 半熟」「12分 = 固ゆで」という一般的な常識と一致する結果が得られるようになりました。さらに水温の変化(沸騰状態の維持)や、卵の個数による水温低下も計算に含めています。
ビジュアル表現のこだわり
物理演算の結果を視覚的にフィードバックするため、ビジュアルにもこだわりました。
- イラスト風卵ビジュアル:黄身に表情を付けた可愛いデザインで、凝固度に応じて見た目が変化
- 青い炎エフェクト:ガスコンロの炎をCSSアニメーションで再現
- ガラス蓋:黒ノブ付きのガラス蓋のビジュアル。蓋をした状態での蒸気も表現
- トッピングの液状表現:醤油・ソース・マヨネーズをSVGフィルターでそれぞれ異なる液体表現に
設定共有:Egg Code
「この設定で焼くと最高の目玉焼きができるよ」を共有できる仕組みとして、Egg Codeを実装しました。全設定パラメータをBase36エンコードした22文字のコードに変換し、URLパラメータ(?code=...)で渡せるようにしています。
友人に「この設定を試してみて」とURLを送るだけで、同じ条件でシミュレーションを再現できます。レポート画面からもワンタップでコードをコピーできるようにしました。
まとめ
「目玉焼きシミュレーター」という一見ニッチなテーマですが、物理演算、Web Speech API、Wake Lock API、SVGフィルター、Base36エンコードなど、様々な技術の実験場として非常に楽しいプロジェクトになりました。
何より「実際にキッチンで使える」という実用性があるのが嬉しいポイントです。皆さんもぜひ、Egg Masterで理想の卵料理を見つけてみてください。