・前日。
0900:ミックスナッツ×2。
1200:低温調理肉。
1500:鍋。
2400:性欲処理。いつ処理しようかタイミングを計ってたが、いけそうだったので処理。
電解質タブレット✕3と水分1.8リットル程度。
性欲:低~高。
筋トレ:腕立て13×3回。回数微増とはいえもともと10回でそれなりに辛かったのでちゃんと辛いな。13でジャストギリギリといった感じなので、ひとまず13キープで。


・確定申告。
とうとう来月から確定申告の作業。よりにもよって次の仕事が始まるタイミングって感じでもあるが、しかし冬季休暇で1週間の余裕はあるから帰郷中とはいえ実家で多少の作業はできそうかな。というかネットで完結するなら十分にいけそうか。


・予定。
明日は再び断食の予定なので明日~明後日はあまり遠出しない方が良いとは思うんだけど、予定がわりと溜まってきたんだよな。書類を送るのと味噌汁の購入は必須として、川崎までいかないと達成できない予定もある。まぁどれも急ぎというわけではないんだけど、あまり溜め過ぎると1回の外出じゃ処理しきれなくなるので早めにやりたい感はある。
それでもまぁ下痢や脱力感の可能性があるので、それをおしてまでやることじゃないからやるとしたら明明後日の金曜からか。


・食欲。
わりとがっつり肉を食ったお陰か空腹感が出てきたのは24時頃。わりと余裕があったな。
ただ、大便したのが夕方だけで、それ以降はほぼ便意なし。さすがにこのまま寝るのは怖いので風呂の前後でなんとか出してみるが、思ったような状況になってないな。もっと下痢がヒドくなる想定だったんだけど。


・大便。
一応出したけど、少量だったし固かった。寝てる間に水分が足されることもそうそうないかなとは思うのでまぁ大丈夫か?まだ腹に溜まってる感じはあるのでやや心配ではあるが。


・睡眠。
そういや今日は結局昼寝も夕寝もしなかったな。そのせいか夜にちょっと気持ち悪かったが、まぁ休憩不足が大きいようにも思う。


・睡眠時間5時間。
寝つきも寝起きもやや改善。


・Unity。
次に進めるのはGame側かEdit側か悩んだが、Game側を先に作ればEdit側の動作確認がしやすいのでGame側が先かな。ターン進行~アンドゥと衝突判定~パスの正式な計算まで対応しよう。弾あたりはどうするかまた悩みどころだが。残り日数的にEdit側もUIとか色々と進めないと仕事期間前に大きなところが終わらなそうだしな。「仕事期間には厳しそうな大きな作業」を優先して進めていこう。
とりあえずターン進行とアンドゥまわりまで朝のうちに対応完了。ただ、パス計算をスレッドで回してる最中にアンドゥとかすると表示がおかしくなるし、そもそも衝突判定もまだなのにパス計算に時間がかかり過ぎてる。とりあえず現状の遅さを利用して表示まわりがおかしくなる件を先に修正するとして、スレッドまわりの高速化というかたぶん何かしら問題があるのでそのデバッグをしたい。
といったところで10時半。急ぎではないけど日光を浴びるためにも出かけるか。


・体調。
だいぶ良い。大便が腹に溜まってる感じはあるが、まぁ下痢って感じでもないので問題ないはず。
この体調なら徒歩川崎しても良さそうではあるが、脱力感が発生する可能性はそれなりにあるので近場で用事を済ませるだけとしよう。でもまぁ最低限ではなく少しだけ追加の用事はできそうかな。


・外出終了。
脱力感はないものの、指先の冷えが大きくて逆方向への買い物も考えたがしんどいと感じる状態だったので追加の要件は1箇所だけにして帰宅。でもまぁ1箇所で3つくらい済ませられたので良かったか。
認識は良好で世界がちゃんと見えて気持ち悪い。まぁ認識に関しては下痢じゃなくて睡眠時間短縮の影響だったので、ようやくそこらへんが安定してきた形だろうか。


・食事。
11時時点でまぁまぁの空腹。すでに20時間ほど何も食ってないので食事しても良いっちゃ良いが、まだまだ余裕はあるので予定通り18時くらいまでは断食を続けたい。


・Unity。
デバッグはあっという間に終わったので、スレッドで時間がかかる件の調査をしよう。
awaitがもしかして1フレーム待ってしまってるのか?と思ったけど少なくともフェイズの数を増やしても特に時間は変わらなかったので必ずしもそうではなさげ。ただ、ユニットを増やすと明確に時間がかかってるのでそっち方面で何かムダな待機があるかもしれない。
あー、でも分割数を1~2にすると明らかに早い。となると分割数×ユニットの数に普通に比例してるからやはりawaitまわりが怪しい?
うーん。タイミング調整用のawait UniTask.WaitUntilをコメントアウトしても特に時間が変わらん。単純にオーバーヘッドの問題か?
っぽいなぁ。Sqrtとか時間かかりそうな処理をコメントアウトしたらちゃんと早かった。衝突判定とか以外でもこんなに時間がかかるか。そしてスレッドで分散してもまだ遅いか。最適化していかないとダメかぁ。
うーん???あれこれいじった挙げ句もとのコードに戻ってきたらわりと普通の早さになってる。
あぁ、違う、あれだ。デバッグ用にアタッチしてたブレークポイントを削除したからだ。条件式付きの重いやつだったからな。これが原因で確定だろう。だいぶ時間をムダにしてしまった。
ともあれ少し休憩したら衝突判定やパス計算まわりの対応に入ろう。これは今日中には終わらないかもしれない。今日のところは方針を決めて作業に取りかかれれば十分かな。


・精製された食物繊維。
実験も兼ねて摂取してみることにした。栄養阻害で体調が悪化していた認識だが、もしこれ単品で体調が悪くなるようなら精製された食物繊維そのものの影響だと考えられるはず。


・Unity。
というわけで衝突判定とパス計算。
今のところ方眼紙のようなマスにブロックやユニットを配置していく形なので、それを前提としても良いし将来的に柔軟な配置になることを想定しても良い。たぶんマスのままだとは思うが。
そういうわけで初期位置に関してはint的なやつになるが、その後の動作はfloat的なやつになる。ユニットの当たり判定を円とするならブロックの角で曲がるのは直角じゃなくてカーブとなる。さらにユニットの幅を1ブロック未満とするなら1ブロックの隙間でも動く余地がある。まずはここらへんをどう扱うか。
前回はユニットの幅を少し狭くしたが、それによって特にメリットは感じなかったので1ブロックジャストとするかな。前回1ブロック未満にしたのは「幅が1ブロックだと衝突判定的に1ブロックの隙間に入りづらいから」だったせいだが、逆に言えばそこさえ解決できるなら別に1ブロックで良い。そもそも真面目にブロックとの衝突判定を見るより、ブロックによって形成された可動範囲をパスとみなして云々する方が早そうだしな。まぁ1ブロックの隙間は実質パスとして見ることができるとして、問題なのは2ブロック以上の広さがある場所をどう扱うかといったあたり。
事前にある程度整理したが、ここから先は実際に仮コードとか書いて試行錯誤していくしかないかなぁ。まぁ仮コードと言いつつまとまったらそれが完成品なんだけど。今回はバージョン管理があるお陰で仮コードも書きやすいし。
途中以降がどうなって欲しいかはだいたい固まった。あとはその途中に渡すためのデータをどう作るかだなぁ。やはり結構時間かかるな。そろそろ13時だし一旦休憩はするか。


・空腹感。
2時間周期くらいで空腹感がくるか?というか作業してるときには感じないだけか。


・Unity。
作業再開したけど、作業中でも空腹感を感じるようにはなってきたな。とはいえ脱力感とかが発生するわけではなく、単純に空腹を感じるだけ。指先の冷えとかもないので普通に作業を進めよう。
循環参照したいところが出てきたんだけど、C#って循環参照は許容されてるんだっけ?弱参照としてWeakReferenceが用意されてはいるが、どうもC#であれば循環参照によるメモリリークは発生しないっぽい。というわけでひとまず普通にやるか。
愚直にやるとめっちゃ分岐式が増えるな。ただ、この時点で最適化をかけてもそもそも該当処理が採用されない可能性があるのでムダになるリスクがある。ので、まずは処理自体をちゃんと作るところからかな。ただ、分岐を多数書くのも手間なので、最適化は「動作確認して問題なければ」というより「設計の詰めが完了したら」という感じかな。
今のペースなら処理そのものは今日中にギリギリいけるかもしれないが、デバッグと最適化は明日になりそうかな。


便意
にしても便意がないな。まだ腹には溜まってるはずだが。まさかあの量をほぼ吸収して水だけ夕方に出したなんてこともなかろうし。「次の食事がくるまでできるだけ消化する」みたいな機能があったりするんだろうか。断食も絡めるとここらへんよくわからんな。


・Unity。
多少固まってきた部分は最適化をかけたりしてるが、再帰関数はどうしても引数が多くなりがちだなぁ。整理するだけなら引数専用のクラスを作ったりしても良いが、値参照でコピー渡ししたい部分もあるし下手するとそれでバグが発生するからひとまず現状のままにするか。
とりあえず半分ちょいできたか。あとは線分同士の衝突判定みたいなことをやれば処理自体は完了のはず。ここからも長いから一旦休憩だな。


・空腹感。
昼以降は早めの周期できてるかな。16時半だからそろそろメシにしても良いっちゃ良いが、別に脱力感や指先の冷えとかの悪症状はないんだよな。ただ空腹なだけ。まぁ我慢というかスルーというかそういう感じで予定通り18時までは断食しようか。
ていうか今回は突発的な断食だったわりに体調が普通に維持できてるな。なんなら好調なくらいだしな。こうなってくるとたまに断食を試してみても良いかなとも思うが、今回に関しては差分が多すぎるしそもそも睡眠時間短縮に慣れた影響が一番大きいとは思うし、仕事期間にやるのはリスキー過ぎるかな。強い脱力感やダウン症状が発生するとキツい。


・食事。
17時時点でわずかに立ち眩みが出てきた。少しだけ早いが17時半あたりにメシにするか。今は空腹感がないし。


・食事。
というわけで17時半に食事。空腹になってからで良いかなとも思ったんだけど、若干気持ち悪さの気配を感じたので普通に食事することにした。


・Unity。
19時の段階で基本的なコードは完了。そしてちゃんと動いてないのでここからはデバッグだな。もしかしたら今日中に終わるかもしれないが、基本的には明日までかかる想定でいよう。


・腹の調子。
食事してしばらくしたらグギュルルという音が出るような感じはあったが、まだ便意は少し遠いな。出そうと思えば出せるかなといったレベル。まぁ今夜中に出すつもりではあるが。


・Unity。
再帰関数はやはり下手うつとスタックオーバーフローになってしまうのが難点だな。とりあえずの回数制限は仕込んだが、ちゃんと根本的な対処を進めていこう。


・予定。
そういや明日以降のメシをまだ決めてなかったな。
スプラの時間前にトイレに行ってみたもののまだ出ず。たまに腹がグジュルルするが、少しひり出たやつは固かったのでそっちはもう問題ないだろうか?であれば明日からはまたメシを戻してみたいが。木曜はうまかっちゃんもどき+惣菜で、金曜が鍋ボトル+そぼろ+ピーマン。まぁ金曜の鍋ボトルの再検証までに何かあれば予定を変更する感じで。


・Unity。
22時の時点で一応動いてるように見えるところまで完了。仮で作ってたBOID的なやつもこれに沿ってちゃんと動いたしな。
処理が結構入り組んでるのでまだ何かしらバグがあるかもしれないが、ひとまず明日からはまた別の作業をするか。
ここまできたらEdit側に戻って良さそうかな。具体的には敵・味方を切り替えて設定できるようにしたり、AIのBOIDの項目を設定できるようにしたり。敵味方の方はまぁボタン一発で切り替えられる予定だが、AIに関してはUIをちゃんと用意してあれこれしないといけない感じ。早くできるのは切替の方だけど、たぶん1回ちゃんとUI作ってからの方がそちらもどうこうしやすい気がするから、明日はUIの表示まわりを本格的にやるところからかな。


・腹具合。
相変わらずグキュルルしてるが、どうもガスが云々してるっぽいな。さっきトイレ行ったところそんな感じ。