2021年振り返り。
今年の前半は毎月の振り返りをしていたものの、7月から面倒になって書くのをやめてしまった。理由はいくつかあるけど、はてなブログのUIが妙に重くてブログを書こうと思い立ってからのリードタイムが長いことが大きい。去年せっかくosak.jpも整理したことだし、しばらくはこっちで書いてみようかと思う。
2021年はなんもしてなかった気がしたけど、リングフィットアドベンチャーを始めたのも、コロナウイルスのワクチンを2回接種したのも、Ray Tracing in One Weekendをやったのも、いろいろパン作りをしていたのも全部今年だった。そういえば引っ越しもしたし、同じ時期に大寒波で大変なことになっていたりもした。ずっと家に引きこもっているからか時間が間延びしているような気がする。
やったゲームを覚えている範囲で並べてみる。軽いブラウザゲー等で覚えてないやつもたぶんある。そういうゲームも記録しときたいね。
- ライザのアトリエ2
- トトリのアトリエ
- アーシャのアトリエ
- ソフィーのアトリエDX(途中)
- リングフィットアドベンチャー
- FORM
- ぎゃる☆がん2
- 2縺、縺ョ縺サ縺(文字化けではなくこういう名前のブラウザゲー)
- Quantum Protocol
- Recursed
- Factorio
- Shapez.io
- Baba Is You(アップデート)
- Helltaker
- みんなの早押しクイズ
Factorioがとにかく大ヒットだった。以前の記事でも書いた通り、1ヶ月で130時間くらいプレイした。資源を集めてラインを構築してちゃんと動くかどうか見張るという行動の繰り返しではあるものの、考えるパートと手を動かすパートがはっきり分かれていることもあり、いくらでも遊んでいられる。通常モードは3回クリアしたのでMODを入れて遊ぼうかと思ったけど結局まだやっていない。Recursedも面白かった。アクションパズルというジャンルはやり直しに手間がかかるので敬遠しがちなんだけど、Recursedはパズル自体を難しくすることで1つの面があまり大きくならないようにしていて、ちゃんとパズルで悩まされる構成になっていて良かった。DLCのIce Palaceはめちゃめちゃな歯ごたえで、表だけ全クリして裏は放置している。
アトリエは2021年中に黄昏を全部終わらせようと思っていたけど、気力が足りずアーシャ以降やってない。アーシャのアトリエは西洋ファンタジー風の雰囲気がとても良く、シナリオを進めるのもアイテムを強化するのも楽しかった。ライザのアトリエ2は戦闘システムが爽快で他のアトリエもこのシステムでプレイしてみたいと思うくらいだったけど、シナリオやキャライベントは作り込みが甘く感じて今ひとつだった。リングフィットアドベンチャーは100日ちょいで1周クリアして、その後はほとんどやっていない。プレイ前に着替えたりコントローラーをセットアップしたりといった準備が必要なので、そういう作業を面倒くさいと思ってしまうとだんだん足が遠のいてしまう。そのせいか9月頃から体重がまた増え始めてきたので、新年にまた運動する習慣を戻したい。
3月にVRヘッドセットのHP Reverb G2を買ったものの、VRゲームはあまりプレイしていない。画面の解像度には文句ないんだけど、Windows Mixed Realityのデバイスとして動くためかSteamVRとの相性が悪く、コントローラーの操作設定がおかしかったり妙にカクついたりと問題が多い。こういったソフトウェアの相性問題や物理的な取り回しやすさを考えるとOculus Questが一番良いのかなぁとも思うが、Facebookアカウントと紐付けないといけないという点がどうにも気持ち悪くて二の足を踏んでいる。
数学の勉強はペースにムラがあったものの、毎週の進捗報告会が良いペースメーカーになってくれたので1年を通じて続けることができた。位相論の基礎から始まり、複素解析を経て測度論、ルベーグ積分、関数空間と勉強を進めている。測度論とルベーグ積分では抽象的な議論が続いていたので、関数空間では久しぶりに具体的なものを触れそうで楽しみ。1年を通してこれらの勉強をしてきたことで、数学的に厳密な議論の作り方や無限に対する考え方の感覚をかなり身につけることができたと感じている。
趣味プログラミングはあんまりやらなかった気がする。明確にやったと言えるのは
Ray Tracing in One Weekendは名前の通りお手軽なレイトレーシングのハンズオン教本で、サンプルコードを写経していくとレイトレーシングのプログラムがだんだんと出来上がっていくようになっている。最初はただの円板を描くだけだったのが、章を進めるにつれて影ができたり反射光ができたりと目に見える変化が起きるので面白い。ICFPCはいつものようにインフラをやっていた。スコアボードは生成スクリプトが魔境になってしまったことを除けば方針は良かったと思う。ソルバーの方では、平面上の点の焼きなましのような逐次改善していく+人間の手助けが役に立つタイプのプログラムをビジュアライズする経験値があまりにも足りず、こういうことができたら嬉しいかなぁと思っていたことを結局実装できずに終わってしまったのが悔しい。後からTwitter等で他のチームが作っていたビジュアライザを見ると、リアルタイムで焼きなましの状況を表示したり人間が点の位置を再配置したりする機能を実装しているチームが結構あったので、こういうコードがさっと書けるようになりたい……と思いつつまだ手を付けていない。
ハグルでハグハグはハグルというボードゲームをオンラインの仲間内で遊ぶために作ったプラットフォームで、配られたカードを見せ合ったりトークンをやりとりしたりといったアクションがブラウザ上でできるようになっている。Kotlin + Spring + PostgreSQLでバックエンドを書いてReact + Redux + Redux-Sagaでフロントエンドという結構真面目な構成になっているけど、実際のところバックエンドはある程度の整合性を保ちつつDBへ読み書きができればいいので、FirebaseやAWS AppSync等を使ってサーバレスにしたほうが楽で良かったかなと思っている。そういった経緯もあって年末にAWS Amplifyを触ってみている。
コロナ禍でみんな暇なのか、Twitterでプログラマ論について議論が盛り上がっては炎上するのを数回見た。こういった議論に入れ込みすぎることの是非はさておき、自分が何を大切に思っているかを見つめ直すきっかけとしてはそこそこ有用なので、見かけるたびに数時間くらい考えている。この記事は振り返りなので各論について特に意見表明はしないけど、これらの思索を通じて、最近の自分は技術が社会的に価値を生むかどうかを過度に重視してしまっており、それが新しいことを試すときの心理的障壁になっていると感じた。たぶん仕事に毒されすぎているんだと思う。プログラムを書いて思ったとおりに歯車が噛み合って動くと面白い、だからプログラムを書くという純粋な気持ちを2022年には取り戻していきたい。