Arduboy でゲーム制作 Part 3 バグが取れない
Arduboy でのゲーム制作も3日目になりました。今日はあまり時間を使ってはいませんが、2つやったことがあります。
1つは簡単なテストフレームワークを作ったことです。所謂ユニットテストが実行できるものです。assert 関数を自作し、シリアル通信でパソコン側にテキストを表示できるので、テストに失敗したときに表示される、という程度のものです。ただこれがあるのと無いので安心感が違いますね。
ところがリングバッファ用のアルゴリズムを内包したクラスを自作し、テストは成功するようになったのですが、C++ のテンプレート関係でリンクエラーが取れずに、バッファに入れる型を自由に設定することがうまくできませんでした。汚い回避方法はあったのですが、きれいに書いたつもりのコードがどうして動かないのかわからず、修正や学習コストに対して実現したいことが見合わないと感じたので、そのリングバッファクラスの使用自体を辞めました。
もうひとつは、Part 2 でも投稿した動画にあった地形表示関係のバグの問題を細かく調査しました。
ご覧の通りなのですが、リングバッファで頂点情報が入っている地形表示が期待通りに動作していません。地形データは X,Y 座標の頂点になっていて、その点とバッファ上の1つ前の頂点とを結んだ直線が表示されるように鳴っています。もちろんリングバッファになっているので頂点の始点は現在地に基づいて移動し、バッファを正しく環状させているのですが・・・。説明が難しいですね。
このあたりで、組み込み系はどうしてもバグ取りが難しいなと感じます。gdb のようなデバッグはできませんし、誤ったメモリ操作がアクセス違反でエラーになってくれなく、ハードウェアの不適切な操作をしてしまっていたり、気をつけなければならないことが OS が存在しないだけで膨れ上がります。こういう環境は嫌いではないのですが、今更ここまで書いたゲームでバグ修正で停滞してしまうのはフラストレーションを貯めてしまいますね。どうしましょう。
次回についてですが、数日前まで分かっていなかった Arduino というものを知った今、富豪的プログラミングの癖を取り除くため現在のコードを捨てて小さくて扱いやすいハードウェアに優しいコードに書き直そうかと思っています。既に作った物のうち使えるものは使おうと思いますが、メモリ的な最適化をサボったコードは作り直します。
病状について
ところで、最近の病状についてですが、調子がとても良い状態にあります。先生曰く、ようやく薬が馴染んで安定してきたのだとのこと。睡眠のリズムもとても良いですし、得体の知れない不安感や恐怖感も和らぎました。無職節約生活状態なので金銭的な面であまり外出ばかりできませんが、散歩や遠出もうまくできるようになっています。課された義務が少ないのでのびのびできていますね。
明日はレストランに貸している不動産の火災保険の更新のための諸々の作業があったりしますが、不動産という病気になった原因に関係する作業もそれほど苦になっていません。
また医師による心理テストを2ヶ月ほどやっていたのですが、その結果が出まして、色々省みる点がありました。結果では「自責性」が「他責性」「無責性」に比べて強く、感情変化を自己で抑えてしまい、結果的にストレスを溜めやすい深層心理があると指摘がありました。改めて考えると、自分はあまり感情が豊富ではなく無感情なタイプだと言われたことがあり、基本的に優しいらしいです。しかし、実際は表に出さない感情を理性が抑え込んでいるのだと気付かされました。確かに言われるとそうかもしれない、と思いました。これは自己防衛的な行動につながっていて、争いごとを避けて問題をなかったことにすることでストレスを溜めないようにしていたわけです。仕事であれば(仲間に恵まれているという前提があるかもしれませんが)感情を表に出さず前向きで合理的な議論を行うことができますが、仕事でない場合はそうはうまくいかないというわけです。
そこで不動産の相続問題がこの病気のトリガーとなった理由がわかりました。逃げることができなくなったからです。相続放棄をせずに大きな不動産と負債を同時に抱えることになってしまったのですが、抱えた以上どうしても避けられない問題が山程でてきました。ひっきりなしに来るカードローン会社からの電話、不動産の売却に関する慎重な決断、詐欺被害、国民の義務である税金、相続しないほうがよかったと思うような問題が次々に起こりました。本職の仕事をしながらでは頭がパンクしそうな状態でした。しかし逃げることができたのは本職だけでした。休職という手続きにより相続問題にだけ集中することができるようになったのですが、相続問題は逃げることはできませんでした。だから復職も失敗し、病気になって3年目に突入してしまいました。
これをすべて自責的に捉えてしまい、自らストレスを高めていたのです。過去の自分が犯した意思決定のミスだ、と。こういった反省と、冷静さを保とうと頑張ってきたことがストレスになり、それが自律神経の乱れを引き起こし生活習慣がまともに送れなくなる躁鬱になったのでした。
今は相続問題もほぼ沈静化しましたが、その際にできた人間関係の問題や金銭的な負担はまだ残っています。しかし今はそれを自己コントロールによらず冷静に振り返ることができるようになったので、体調にも表れているのでしょうか。
何にせよ、現状としては改善傾向になっています。双極性障害ですし、ただの躁状態の可能性もありますが、焦ることなく落ち着いてゆっくり治療していけばいずれ寛解できるものだと、今は信じています。