ごまだれ日記

プログラミングの技術メモとか

2023年にやったゲーム

概要

2023年にプレイしたゲームの雑感などをサクッとまとめる。去年も同じ主旨の記事を書いていて、それと同じような感じで書く。

dhirabayashi.hatenablog.com

箇条書き

ティアキンが面白すぎて時間が溶けたので、2023年にプレイを開始したゲームは3本しかなかった…

なお、以下のゲームは2022年にプレイを開始して2023年に入ってからも引き続きプレイしていたが、去年書いた内容に追記することはあまりないので割愛する。

詳細

ソフィーのアトリエ2 ~不思議な夢の錬金術

www.gamecity.ne.jp

ハード Switch
プレイ時間 115時間くらい

ソフィーのアトリエ」の続編。「ソフィーのアトリエ」には「フィリスのアトリエ」「リディー&スールのアトリエ」という続編がもともとあったのだが、それとはまた別の続編として2022年に新たに発売されたのが「ソフィーのアトリエ2」となる。「ソフィーのアトリエ」「フィリスのアトリエ」「リディー&スールのアトリエ」はプレイ済ですっかりシリーズのファンとなっていたので、ソフィー2ももちろんプレイしますよと。なお、これらのシリーズは不思議シリーズと呼ばれている。1
(不思議シリーズの前掲3作品については去年の記事にも書いた)

去年の記事を読み返すと、むしろシリーズ未プレイの段階でソフィー2が気になっており、先に前作をやったほうがいいよねと思ってソフィー1をプレイしたっぽい。忘れていたが。

ソフィー2は、良い意味でいつものアトリエという感じの印象だった。その楽しさを伝えるために、シリーズ自体の説明を少しさせてもらいたい。

このシリーズはジャンルとしてはJRPGで、「調合」という要素があることと、キャラクターがかわいいのが特徴である。キャラクターがかわいいかどうかはゲームの本質ではないと思われるかもしれないが、それでもやはりアトリエシリーズの特筆事項として欠かせない。今作の主人公のソフィーはアトリエシリーズのキャラクターの中でも特に人気が高くて、私もソフィーのかわいさでこのシリーズにハマったという面がある。
他のキャラクターも魅力的で、ソフィー2ではプラフタというキャラを愛でながらプレイしていた。

もちろんキャラがかわいいだけのゲームかというとそうではない。もう一つの特徴として挙げた「調合」のほうがゲームの中核を成している。調合とはつまり素材を組み合わせてアイテム、装備品、強力な素材などを錬成すること。調合によって新たなものを錬成する行為はアトリエシリーズでは錬金術と呼ばれており、ゲームタイトルの副題にある「錬金術士」とは、錬金術を行使する人物のことである。ソフィーも含めてアトリエシリーズの主人公はみんな錬金術士。つまり、主人公の錬金術士を操作して錬金術で作った装備やアイテムを使って戦闘を行なったり、錬金術で作ったキーアイテムを納品してストーリーを進めたりするRPGアトリエシリーズのゲームということになる。

調合の基本的な流れとしては、何を作るのかを決めて、それを作るために必要な素材を投入して、調合を実行、という感じ。必要な素材が揃っており、かつ質を問わないのであれば簡単に作ることができる。質を問わないのであればね…
ストーリーを進めるための納品物はわりと適当でもいいのだが、戦闘に使うための装備やアイテムについてはやはり可能な限り良いものを作りたくなる。というか、そうしないと敵が強くて勝てなかったりする。一般的なRPGと同様に経験値を稼いでレベルを上げることでもステータスは上がるのだが、そちらはおまけみたいなもので、調合を頑張ってめっちゃ強い装備やめっちゃ強いアイテムを作るほうがはるかに効率よく強くなれる。あくまでも調合が鍵を握るゲームなのだ。

同じ素材を選べば同じ強さの調合品が出来上がるのかといえば、そういうわけではない。素材は錬金釜にぶち込むのだが、どのようにぶち込むのかによって完成品の質が大きく左右される。この辺りはシリーズの中でもけっこう違いがあるのだが、ソフィー2も含めて不思議シリーズではパネルにピースをはめ込むパズル形式で調合を行うようになっている。錬金釜がパネル、素材がピースというわけである。

パズル調合。これは作る物と素材を既に選んだ後の画面

プラフタでの調合も可能!

詳細に説明するときりがないので雑に言えば、できるだけ多くパネルを埋めることができるほうが良い物が出来上がりやすい。そのためには扱いやすい大きさや形を持つ素材を選びたいところだが、その一方で素材はいずれも「品質」や「特性」を持っており、これらも完成品の質にダイレクトに影響する。高い品質と強力な特性を持ち、さらに扱いやすい形のピースを併せ持っている素材があれば便利なのだが、なかなかそううまくはいかない。高い品質と強力な特性を持っているがすごく扱いにくい形のピースである、ということも非常によくある。
強力な装備やアイテムを作るには、上記を踏まえてどの素材を選ぶのがいいのか、それをどこに配置するか、どのような順番で配置するか、を頑張って考えたり試したりすることになる。これが実に楽しいのである。たとえば装備を作るとして、試行錯誤を繰り返して繰り返して、ようやく満足のいく出来栄えを実現できる組み合わせ方を見つけて、調合して、装備させてみてステータスが爆上がりするのを見てニンマリ、そして実戦投入してみて今まで勝てなかったボスに勝つことができてまたニンマリ。うん、こんなの楽しいに決まっているね。

そんな感じで、できるだけ良いものを作ろうと思うと調合パズルが楽しくなる。のめり込むとけっこう時間が溶けて、一つのものを作ったときにふと気づいたら30分くらい経っていることがよくあった。RPGといいつつ、実はパズルゲームなのかもしれない。

また、それ以外にも戦闘要素も重要である。RPGだからというのもあるが、調合の成果を披露できる機会が戦闘だからでもある。戦闘のシステムも作品ごとにけっこう異なる。ソフィー2の戦闘の特徴は「オーラ」と「ツインアクション」だと思う。

「オーラ」は敵が纏うバリアのようなもの。オーラをまとっている間はダメージが通りにくくなるが、オーラを破壊できれば敵は一時的に行動不能、かつ被ダメアップの状態になる。なので、できるだけオーラを破壊するのが基本的な戦略となる。単調になりがちだが、個人的にはそれくらいわかりやすいほうが好みだった。また、オーラを効率的に破壊するには装備に特定の効果を発現させたほうがいいことに気づいたので、調合のモチベーションが上がる要素とも言えるかも。

「ツインアクション」は、発動すると前衛のキャラと後衛のキャラが連続でスキルを使用し、キャラの位置が入れ替わる。また、ツインアクションでスキルを使用する場合は通常よりも消費MPが少なくて済む。(ツインアクションの場合、消費MP0で発動できるスキルもある)
ツインアクションを使うとスキルをローコストでぶっ放せるので単純に爽快感がある。調合を頑張っていればダメージが増えるのでさらに爽快感が増す。また、ツインアクションを使うと前衛と後衛が入れ替わるので、特定のキャラだけを活躍させるということが起こりにくくなる。良いキャラが揃っているので、みんなを活躍させることができたらやはり嬉しい。 ソフィー2だとプレイアブルキャラは6人で、前衛3人、後衛3人の構成になるので全員が戦闘に参加することになる。その代わり、全員の装備について気を抜けないということでもあるが…

そんな感じで、調合が楽しい。また、調合を頑張ると戦闘も楽しくなる。戦闘がうまくいかなければ、多くの場合は調合を頑張ることによって解決できる。調合と戦闘のフィードバックループの面白さはシリーズ共通なのだが、ソフィー2はそのループが特にうまくはまっているように感じられた。

あと、ストーリーもけっこう良かった。最後はちょっと涙ぐんでしまった。

ゼルダの伝説 ティアーズ オブ ザ キングダム

www.nintendo.co.jp

ハード Switch
プレイ時間 390時間くらい

いわゆる「ティアキン」。去年の記事で書いた「ブレワイ」の続編。基本的にブレワイの延長線なので、ブレワイを初めて遊んだ時のような衝撃はなかったのだが、それでもご覧の通り390時間以上も遊んでしまうくらい楽しかった。ブレワイのフィールドは地上だけだったが、ティアキンでは空島と地底が追加され、探索可能範囲が劇的に広がった。地上は設定上ブレワイと同じ場所なのだが様々な変化が起きており、今までなかった洞窟や井戸も各地に出現。その広大な世界を探索するのが本当に楽しかった。というか、ただ単純にリンクを動かすだけで楽しいので全然飽きなかった。

なんというか、ロマンの塊みたいなゲームなのである。洞窟探検とかロマンそのものだし、井戸の中に入って下りてみたらまた洞窟みたいになっていて探索できたり、秘密基地っぽくなっていたりするのがロマンでなくて何なのか。空島もロマンの代名詞みたいなものだ。最初はなかなか行く手段がないが、それはそれで欲求が掻き立てられる。行けるようになれば嬉しいし、飛び降りてスカイダイビングするのは非常に爽快。
地底探索も個人的にはすごく楽しかった。地底は不気味な場所だし単調になりがちでもあるが、真っ暗な中で明かりを灯しながら進んでいくのはすごく「探索!」って感じがしてよかった。ゾナニウム鉱床を叩き割るのもすごく爽快で、見つけたらいちいち全部叩き割っていた。そういう、何気ない操作に爽快感があるのがすごく良かった。

新しい能力も全体的に面白いと思った。メタ的だが、ブレワイで使っていた能力は失われている、かつ地上は基本同じフィールドなので破綻しないように調整するのは大変だったのではと思ったりした。たとえばブレワイではリモコンバクダンを使わないとうまく倒せない敵もいて、ティアキンではその敵はどうやって倒すのだろうと頭を捻ったのだが、モドレコなどの新しい能力を使えばうまく倒せることに気づいて、よくできてるなーとすごく感心した。

それと、ラスボス戦が思いの外楽しかった。主に探索に楽しみを見出していたので、満足するまで探索をして、ラスボス戦というのは満足した後にEDを観るために行う儀式か作業みたいなものだと思っていたのだが、普通に楽しくて不意をつかれた。人間形態のガノンドロフとの戦闘なのだが、詳細は一応書かないけど、良かった。人間形態ならではの良さ。時オカのガノンドロフ戦もこうであってほしかった。

去年の記事ではブレワイをわりと絶賛したつもりだけど、ティアキンはブレワイの面白さを引き継ぎつつも新たな面白さをどっさり追加してきたという印象で、これは楽しいに決まっていますよ。それこそ390時間やっちゃうくらい。謎解きはトータルで見るとブレワイのほうが面白かった気がするのと、ほぼ同じ内容のムービーが何回も流れるなどの微妙な点もあったけど、そういうのは霞むくらい良かった。

あのブレワイの続編で、しかも6年もかかったということで上がりに上がりまくったハードルを見事に超えてきた感じ。最高です。

グノーシア

d-mebius.com

ハード Switch
プレイ時間 45時間くらい

面白いゲームないかなーと思って調べると、かなりの確率で名前が挙げられていたのでずっと気になっていた。ティアキンをクリアしたタイミングで念願のプレイ開始。

このゲームはいわゆる人狼をベースにしている。人狼系だと多人数で遊ぶゲームもあるみたいだが、このゲームは一人用なのが特徴。密室となった宇宙船の中で、人間の中に「グノーシア」という敵が混ざり込んでいることがわかった。グノーシアを見つけ出してコールドスリープさせる必要がある。グノーシアが何人いるのかはわかるが、実際に誰がグノーシアなのかはわからない。グノーシアは見た目では人間と区別がつかないため、船内の全員が集まってやり取りし、その会話の中で嘘を見破って見つけるしかない。ということでグノーシアを見つけるための駆け引きが始まる、というゲーム。決まったターン数会話をしたら、誰がグノーシアだと思うか投票を行い、最も多くの票を集めてしまった人はコールドスリープされて脱落する。また、グノーシアは1日に1人の人間を選んで消してしまう。それを繰り返し、グノーシアを全員コールドスリープさせれば人間の勝ち、人間とグノーシアの数が同数になったらグノーシアの勝ち、となる。(初期状態では必ずグノーシアのほうが数が少ない)
他にも特殊な能力を持った配役や特殊な立場の配役もあるが、ここでは割愛する。

この作品のもう一つの特徴としては、いわゆるループ物であるということ。決着がついても時間が巻き戻り、グノーシアに消された人やコールドスリープされた人も元に戻って、またやり直しとなる。しかし、誰がグノーシアなのかという配役はなぜか入れ替わる。そもそもグノーシアとは一体なんなのか、なぜループしてしまうのか、といった大きな謎があり、ループを繰り返す中で情報を収集してそれらの謎を解き明かすのがこのゲームの本当の目的。

個人的には人狼系のゲームはこれが初めてなので類似ゲームとの比較はできないが、単純に人狼系のゲームとして面白いと思った。最初は立ち回り方がよくわからず、明らかに怪しい人にひたすら疑いの声を向けるムーブをかましていたが、それでうまく行くとは限らない。そもそも間違っていることもあったし、合っていたとしても他の人が同調してくれないと意味がないし、むしろ自分が疑われてコールドスリープされたり、グノーシアに目をつけられて消されたり、を繰り返した。何度も凍ったり消されたりしながらループして段々コツをつかんでいって、ある程度思惑通りに場を動かせるようになってきたらすごく面白くなった。

とはいえ何度も繰り返して飽きないのかといえば、ちょくちょくイベントが発生するので飽きないように工夫されている。イベントが起こればその分新たな情報も得られるので、ちゃんと進捗があると感じることができる。
イベントの中には、特定の人物と共に生き残るなどの条件を満たすと初めて続きが見られるものも多く、その場合はただ勝つだけでなく条件も満たす必要がある。また、配役は入れ替わるので自分がグノーシアのこともあるし、自分がグノーシアでないと起こらないイベントもある。さらに生き残らせる対象が敵であることもあり、つまり仲間を裏切るムーブが求められることもある。そのような感じでループごとに目的が異なることもあるので、実際飽きないのである。

イベントの前段が発生して、生き残らせたい人ができた後にその人が消されてがっくり、ということはもちろんあり得る。しかしループするのでそのイベントはまたそのうち発生する。また、このゲームには経験値とレベルの概念があり、勝つと多めに、負けてもある程度の経験値をもらえる。レベルアップでステータスが上がればその分有利になる。イベントが再度発生した時は単なるやり直しではなく、少しアップした知識とステータスでの再挑戦となるため、まあそのうちクリアできるだろうと思えるので徒労感はなかった。この辺りはうまく作られていると思う。

そしてイベントを無事クリアできればご褒美として謎が一つ明かされて、いわゆる伏線回収の楽しみがある。全体の大きな謎だけでなく、登場キャラそれぞれもみんな何らかの謎を持っており、それらが一つ一つ明かされていくのはすごく楽しかった。

といったところ。前評判に違わず、たしかにこれは面白いわと思った。

2024年にやりたいゲーム

去年の記事で「2023年にやりたいゲーム」として書いた作品の大半をプレイできていないという。時間が足りない… あと気になるゲームが多すぎて迷います。

去年書いてない作品で気になるのは

  • TUNIC
  • Celeste
  • NieR:Automata
  • CrossCode
  • Ori and the Blind Forest
  • Ori and the Will of the Wisps
  • Good Job!
  • Lonely Mountains: Downhill
  • 20XX
  • Portal

あたり。


  1. アトリエシリーズ」という大きな枠のシリーズがあり、その中でもさらに細分化されて複数のシリーズがある。たとえば他に有名な作品としてトトリのアトリエ、ライザのアトリエなどがあるが、トトリはアーランドシリーズ、ライザは秘密シリーズに属する。

2023年の振り返り

印象的だったトピックごとに、ざっくりと2023年を振り返っておこうと思う。

競プロ

去年に引き続き、個人的に最も関心が高いトピックは競プロだった。2023年はAtCoderのコンテストには34回Rated参加し、5回Unratedで参加していた。レートは2022年末と比べて+153で、1年間での進捗としてはパッとしない。色も茶色のまま変わらず。まあそれでも去年は1度も出なかった緑パフォが何度か出たのでいくらかは成長していそう。時間が限られる中での取り組みなので、まあこんなもんかなという感じ。ペースを上げるよりかは、マイペースで継続していく方針でいきたい。

レートの変動は大きくないが、それでもなんだかんだで色々なことがあった。緑パフォをとったこともあったが、逆に1完爆死したり、激遅2完灰パフォ爆死したり、などもあった。それらの回では2次元のグリッドを探索する問題が解けずにそのようなことになった。解法は明らかで、アルゴリズムとしてはただの全探索なので、ただその通り実装するだけでよかった。なのに実装しきれなかった。自分はグリッド系の問題が苦手なのだと思った。
しかし、それは正確な認識ではないと後から思った。グリッド系というか、単純にプログラミングが苦手なんじゃないかと…
プログラミングって実は「ちゃんと」できなくてもなんとなくそれっぽいことをして、動作確認をして、違ったら対症療法的な修正をして、というノリで案外できてしまう。偶発的なプログラミングというか。自分はそのレベルだったのだと気づかされてショックを受けた。しかしそれが現実なので、克服するために実装が面倒な問題を募集して解いて練習するなどの取り組みを行なった。
そういう実装が重い問題を続けて解いていくことで、それなりに改善することができたと思う。なんというか、真面目にコードと向き合えるようになったというか。提出しても通らないなら、コードが間違っているということ。それに対して修正ガチャみたいなことをするんじゃなくて、本来あるべき姿を真面目に考えてそれとの差分を探すべき。というか、最初からあるべき姿通りに実装するべき。まだ満足できる水準じゃないけど、以前よりはできるようになったと思う。
お恥ずかしい話だが、提出してWAが出た場合、なんでだよーーとちょっとキレそうになることがよくあった。なんでって、お前が書いたコードが間違っているからだが…?という。WAが出た時に、修正するにあたって頼れるのは結局自分。頼れる自分になりたい。なろう。

こういう偶発的なプログラミングのような悪い癖を矯正するための手段として、競プロはすごく良いと思った。競プロの良いところは、優秀な人によって作られたテストケースによって容赦なくテストされること。偶発的プログラミングなんてしていていたら容赦なくWAになる。何度もその洗礼を受けた。これは、プログラミング言語の入門書に沿って写経したり、おもちゃのようなプログラムを書いたり、という勉強では得られない。
もちろんおもちゃではなく実使用に耐えるようなものを作ってリリースして多くの人に使ってもらう、という取り組みをすればさらに容赦のないフィードバックを得ることができると思うが、そこまでやるのはなかなか大変。それに比べて競プロは手軽に始めることができる。

なんというか、コードをちゃんと手懐けることができていないと、偶発的プログラミングにつながりやすいと思った。考察が不十分なまま実装が先行したり、読みやすさを考えずにただただコードを書き下したりすると、コードはあっという間に手に負えないモンスターと化す。自分で書いたコードなのに、読んでもよくわからない。修正するのが辛い。関数に切り出すなどをせずにコピペとかしたらもう最悪である。それでも通るならまだ良い。でも通らなかったら?モンスターコードを修正しなければならないとしたら…?たぶん、出力に合うように細部に対症療法的な修正を施してお祈り提出とかするだろう。そして祈りは天に届かない。
さすがに、業務でそこまでひどいプログラミングをしたことはない。しかし、競プロではやってもいいと思っていた。スピードが重要なので、いくらか雑になってもいいと思っていた。大間違いだったわけだが。そこで、競プロでもちゃんと方針が立つまでは実装に着手しないようにして、時間をかけない程度に可読性も気にかけて、できるだけ関数化して、などを考えるとだいぶ良くなった。それでちゃんと問題が解けると嬉しいし少し自信がつく。何より、久々にプログラミングって楽しいなと思えるようになった。初心に帰れたというか。

まあ、それはそれで良いことなのだが、レートを上げていくためにはそれだけでは不十分。レートを上げるには現状解けない問題も解けるようにすることが必要だが、2023年はそのための精進の方針はけっこうブレがちだった。
今考えていることとしては、とにかく典型を身につけることが重要じゃないかということ。ABCの問題は全部典型らしいし、自分が今まで良いパフォが出た回はいずれも自分が既に身につけている典型パーツに当てはめて解くことに成功した回だった。それを全ての回で再現できればレートは上がるはずだろうと。 しかし、典型を身につけるというのは決して簡単ではない。身につけるべき典型パーツの数が単純に多いというのもあるが、何より解説記事などを読んだところで身につくとは全然限らないという問題が大きい。私の場合、問題の公式解説を読んでもわからず、解説動画を視聴してもわからず、有志の解説記事を読んでもわからず、ということが非常に多いのである。わからないというのは、おそらく解説を理解するための前提知識が足りないか、必要な頭の使い方が身についていないかのどちらか、あるいは両方だと思う。落ち着いて何がわからないのか分析して、わからない部分を遅延評価で調べて、を繰り返していけばいつかは理解できるかもしれないが、その間にも脳は悲鳴をあげっぱなしなので辛すぎて途中でやめてしまうことがほとんどである。
知識なら調べればいいんだけど、ネックなのは知識というより頭の使い方だと思う。数式などを読むとき、一旦脳内メモリに保存して先を読んで、とかしているうちに脳内メモリに置いたはずの情報が蒸発していてパニックに陥る、みたいなことが頻発する。数式を読み慣れている人なら息を吸うようにできる頭の使い方が私にはできないという感じがする。 これはどうしたらいいんだろうな。途中でやめるなよといえばそうなんだけど、いやほんと脳が悲鳴をあげて辛いんですが。でもやるしかないのかなあ。2024年はもうちょっと頑張ってみるか…
脳内メモリだと蒸発するなら紙にでも書いておくとか、その気になればやりようはあるかもしれない。

数学

競プロの問題の解説が理解できないのは、間違いなく数学ができないことに起因していると思う。そのため、競プロとはまた別枠として数学の勉強もしていた。小学校レベルからやり直して、とりあえず中学レベルまでは勉強しなおした。また、競プロは離散数学の実践編であるという意見を見たことがあって、それならばと離散数学の本も読んだりした。まだまだ効果を実感できるところまで来ていないので、今後も取り組みを続ける必要がありそう。まあ、どうやって取り組むのがいいのか悩ましいんだけども。

競プロというか、プログラミング自体が離散数学なんじゃないかと思った。

論理も集合も離散数学の分野である。それも、特に中核を成すような分野であることは私でも想像できる。
プログラムには入力と出力があり、入力としてあり得る値も出力としてあり得る値も集合として考えることができる。それらの集合をマッピングするのがプログラムだし、どのような規則でマッピングするのか決めるのが論理、とするとプログラミングとはまさに集合と論理の実践編なのだと言えそう。

そう考えるとプログラミングをやる上で数学が重要ではないはずがない。プログラミングはやったことなかったけど数学が得意な学生が、けっこう短期間でAtCoderで緑や水色に到達するのも納得がいく。知識というより、数学とプログラミングで頭の使い方がほぼ同じなんじゃないかと思う。
たしかに数学が苦手なままプログラミングを始めることはできるし、そのままプログラミングが得意だと言える水準に到達する人もいるんだけど、それってプログラミングから逆算して論理と集合を身につけることもできるってだけなんじゃないかと…
(上で書いたように偶発的プログラミングをしているだけかもしれないし、あとは実用的な高レイヤーのプログラミングはただ部品を組み合わせるだけでできるという面もあるし、とかを考えると、自分はプログラミングができると思っている人でも実はできていないってこともあり得るが)

それと関連して、プログラムの正しさはかなりの部分を論理と集合で担保できるのではないか、という気もしている。

プログラムの期待動作は人間が決めることではあるんだけど、論理的に破綻しているプログラムの動作が期待通りであることはおそらくないので、少なくともそのフィルタとしては役に立つんじゃないかと。であれば、数学ができる人がプログラミングすると、そもそもバグを作り込みにくいんじゃないかと想像している。

それの実践編という感じで、形式手法とかプロパティベーステストといった手法が存在しているらしい。2024年はこれらに関する勉強もしたいと考えている。

自己研鑽

自己研鑽はほぼ数学と競プロに全振りとなってしまった。それも悪くないんだけど、他にもやりたいことはあるので、一旦精進を止めて他のことをやる時期も設けたい。(並行は無理…)

健康

2023年は体調不良に見舞われた年でもあった。3月か4月くらいから、なんだかんだ半年近く苦しんだ。とにかく疲労感が強くて、仕事はなんとか頑張るとしても、終業後はぐったりして何もできなくなった。その間は競プロの精進もほぼ止まったし、コンテストもあまり参加できなかった。原因はよくわからなかったけど、どう考えても健康的な生活習慣ではないことによる影響がまず疑われたので、生活習慣を大きく見直すこととした。

ざっくり以下のような感じ。

  • 運動する
    • 一日一万歩を目安に歩く
    • 筋トレをする(とりあえず自重で)
  • 健康そうなものを毎日食べる
    • サラダ(主にレタス)
    • みかん
    • バナナ
    • ヨーグルト
    • 毎日ではないがりんごを丸かじりすることがある
  • タンパク質を一日に最低60gは摂る(できればもっと)
    • プロテインも飲むが、それだけでは足りないので食べる物はタンパク質の含有量をガン見して決める
  • 食事制限
    • 摂取カロリーは一日1900kcal~2000kcalくらいにする
    • リーンゲインズ(16時間絶食)
  • サプリ類を飲む
  • 腰痛改善
    • 整体に行く
    • スタンディングデスクでできるだけ立って仕事する

あれこれ同時に試したので何が功を奏したのか不明だが、驚くほど症状が改善した。体感としては、ここ何年かで一番体調がいい。怪我の功名!
食事は主にコンビニに頼ることになった。コンビニ食に健康的なイメージはないかもしれないが、栄養成分をちゃんと見て選べば意外といい感じになる。(弁当はダメな事が多いが)
残念ながら食費は高くなった。サラダだけでも400円以上するし… まあそれで健康を保てるならいいか。自分で作ればもっと安くできるかもしれないがめんどくさい。金で解決するならそれでいいや。

ただ、毎日そのような食事だと、食事がただの作業となって楽しみがない。なので週一くらいはあまり気にせず好きに食事している。最近はよくラーメン屋に行く。

ラーメンの良さに気づいたのはけっこう最近。単純においしいってのもあるが、ラーメン屋を巡るという行為が楽しいとも感じた。ラーメン屋はたくさんあるし、バリエーション豊か。普段のウォーキングコースにもまだ未訪問のラーメン屋が多くある。一通り行ってみたいところ。

仕事

仕事柄、あまり内容を明らかにできないのでぼんやりしたことだけ書く。現職および今着任しているプロジェクトにはそれなりに長く関わっているが、学べることが非常に多くて感謝しながら働いている。かなりコアな部分の設計から関わらせてもらったが、2023年にそれが本番リリースされた。恐れていたほど大きなトラブルは発生しておらず、すごくホッとすると同時に自信にも繋がった。
とはいえ、まだまだこれから。引き続き同じプロジェクトに関わっていく想定で、運用期間が長くなると何かと問題も発生するかもしれないが、自分がかなり初期から関わったシステムで問題が起こったとしたら、それは自分の設計や実装に対する重要で貴重なフィードバックとなる。それが今後得られるとしたら、こんなにありがたいことはない。関係各位には感謝しかない。
2023年は収入も増えたし、2024年には新たなチャレンジができそうなお話もいただいている。苦労することも増えるかもしれないけど、全て成長のための糧としていきたい。

なお、現状の自分は主にバックエンドを担当するシステムエンジニアに相当する。このレイヤーだと、大量のデータを高速に処理するような処理を自分で書くことはほぼなく、そういうのはDBに任せる形になる。バックエンドと言っても本当のバックエンドではなく、本当のバックエンドの処理を呼び出すためのインタフェース周りを設計、実装する役割という感じ。自分が競プロは強くないのにITエンジニアとして働けている理由はそこにある。レイヤーが違うというか。本当のバックエンドを担当する人は、コンピュータサイエンスを修めたガチの専門家なので年収の桁が違う感じだと思う。
そういう意味での自分の立ち位置がなんとなくわかったのも競プロのおかげかもしれない。今の仕事も十分に良いのだけど、もうちょっとでも近づきたい気持ちはあるよねぇ。

ゲーム

今年はやはりティアキンの年だった。半年くらい、時間にすると400時間近くプレイしていた。詳細は別途記事を書くかもしれない。

今はグノーシアをプレイしている。2024年はこういうインディーゲームも開拓するつもり。

2023年に観たアニメ

概要

この記事はアニメについて熱く語る Advent Calendar 2023の16日目の記事です。 内容としては、私が2023年に観たアニメについての雑感を作品ごとに書いていくだけの内容となります。ごった煮です。私はアニメを雰囲気で楽しんでいるので内容について正確に理解しているとは限らず、凝った考察もできないですが、それなりに思ったことをポエムみたいな感じで書き綴ろうと思います。

なおdアニメストアを使って過去作品も観たので、古い作品も含みます。dアニメはすごいですね… 格安で名作を観放題。古い作品でも色褪せない名作というのはたくさんあるし、無限に楽しめそう。

一覧

一話だけ観た作品などは含めていません。

詳細

ネタバレってほどではないですが、いくらかは内容に触れます。

SPY×FAMILY

超有名な作品ですね。シンプルにすごく面白い。けっこうシリアスな設定からの、まさかのほのぼの路線、ギャグ路線が魅力です。たとえば心が読める、読めてしまうというのはその気になればいくらでもいわゆる「鬱展開」にできそうな重い設定とも言えます1が、SPY×FAMILYではむしろそれがギャグに昇華されている感じ。なんだかアンジャッシュのコントみたいな面白さがあります。

全体的にほのぼのとした感じなので安心して観られるみたいなところもあります。利害の一致で作られた偽装家族のはずなんですが、あまりそういう感じがしなくてなんだかんだお互いまんざらでもない感じ。任務に忠実なロイドでさえこれを快く感じてそうな描写があって、これもシリアスゆえに逆にそう見えるのかな(?)

作中でなんとなく印象に残っていたのは、アーニャとベッキーが一緒に買い物に行った回で、アーニャもベッキーも満面の笑みで笑い合っているシーンです。(これはSeason 2じゃないですが)
すごく、尊い。アーニャの生い立ちは重いのかもしれないなとかまた余計なことを考えて、でもだからこそそのアーニャにも良い友だちができたのが、なんか嬉しく感じましたね。

笑みといえば、アーニャの「よゆうのえみ 」には笑わせてもらいましたね。なんというか、アーニャという存在が魅力的すぎます。かわいさ、ギャグ要素、ほんのりシリアス要素も併せ持っている。また、ロイドとヨルはお互いの正体を知らない(たぶん)わけなのですがアーニャだけは全部知っているので、ストーリー上重要な位置づけでもあります。全部知っているので、本人に気づかれないようにちちやははを頑張って助けようとすることもあります。健気で良いですよね。

時間の都合でSeason 2はまだ全然最初のほうしか観ることができていないのですが、だいたい一話ごとに完結するのでマイペースでゆっくり観ても大丈夫な感じ。よきです。

リコリス・リコイル

おすすめされたので観てみました。ちょっと百合?らしいみたいな事前情報だけあった状態で観てみたけど、そこまででもなかったかも?まあ百合かどうかはさておき、千束とたきなの関係性は良いと思いましたね。OPでたきなが千束にガチで蹴り返す、あの感じが良いです。

印象に残っているのは全体的にガンアクションのシーンに力が入っていたことです。ガンアクションだけど、(あまり)流血しないのであまり気負わず観られる感じ。

日常回も良かったですが、どちらかといえばやはりシリアス要素のほうが強いのかな。飄々として明るい千束が持つ重い背景、迫るタイムリミット、その状態でのラストバトル、そしてその結果…?オーソドックスなのかもしれないけど、引き込まれましたね。

好きなキャラはクルミです。ゆるい感じのキャラは好きになりがちなんですが、その上最強ハッカーとなると厨二心もくすぐられるしで実に良いですね!

あとは、EDテーマがとても印象に残っています。各話の引きからのEDの流れがきれいでよく印象に残りました。曲自体もすごく良いですしね。EDが良いアニメは名作!

闘牌伝説アカギ

カイジがけっこう好きで(沼までしかわからないけど)、アカギも同じ人が描いている有名な作品ということで気になって観てみました。麻雀はさっぱりわからないので雰囲気だけで楽しんでいました。麻雀がわからないのに観てどうするという感じかもしれませんが、雰囲気だけでもけっこう楽しめてしまいました。

カイジとアカギは特に関係ないし全然違うキャラなのですが、アニメだと声が同じだったのでついつい比較をしてしまいます。カイジはギャンブルにかけては天才的で頭もよく回るけど、それ以外ではダメ人間。でもアカギは基本的に全部天才的な感じでしたね。カイジのように弱気になったり負けたりするような描写は一切なく。ある意味、チート系主人公の一種なのかも。

アニメの最後は鷲巣麻雀でした。アニメについては、ここで終わっちゃうの!?という感じのタイミングで終わってしまいました。何も知らなかったのでそう思ったのですが、これって原作で決着がつくまでに現実の時間で20年近くかかったそうですね…

原作で決着がついたのは現実の時間で2017年、アニメの放送は2005年ということで、アニメの時点ではまだ全然終わる目処もついていなかったのですね。納得。 そうなると原作のほうも読みたくなるところですが、私の可処分時間が20年の重みに耐えられるかどうか…

けものフレンズ

すごく癒やされました。特にサーバルちゃんに癒やされた。

「へーきへーき。フレンズによって得意なこと違うから!」

ああ… なんて優しい。尊い。なんかこう、ほんとに元気が出ました。サーバルちゃんは慰めとかでなく本当にそう考えていそうなのがよいなと思いましたね。実際かばんちゃんのいいところに気づき、かばんちゃんを助けることもある一方でかばんちゃんに頼る場合もあり、良い関係が築けていてほっこりする感じ。最後にかばんちゃんを助ける時にアレを使ったシーンでは、なかなか心動かされました。

ジャパリパークが崩壊していたり、なにげにシリアスな一面もあったけど、ほのぼのとした雰囲気のほうが印象に残っています。

ちなみに、他に印象に残ったフレンズはトキとギンギツネでした。

魔法少女まどか☆マギカ

これも名作として名高い作品ですね。リアルタイム放送時から名前は知っていたけどなんとなく視聴はしておらず、そのうち観たいなと思いつつ年月が経過… ようやく視聴に至りました。

そんな感じなので、どんな作品なのか、3話で何が起こるのか、とかはある程度知ってしまっている状態での視聴でした。しかし、それでも衝撃的でしたね。3話ラストからEDへの流れがすごかった。EDテーマ自体もめちゃくちゃ雰囲気が出ていて震えました。ディスプレイを前にしばらく固まっていました。知ってたのにね。

食い入るように何話も続けて観ました。魔法少女になることを決心しかけたまどかに対して突きつけられ続ける魔法少女の現実、さやかの身に降りかかる絶望につぐ絶望、それなのに目が離せない。悲劇ってのも一つの面白さなんだろうな…

OP2では魔法少女(のような姿)になっているまどかが実際にはなかなか魔法少女にならず、どういうラストになるのか想像できませんでした。(そこのネタバレはくらってなかった)
作品のタイトルからしても普通に考えたら魔法少女になるはず。しかし、なったらどういうことになるのか散々見せつけられているので、どういう流れでなる決断を下すのか全然想像できず、続きがすごく気になる作品でもありました。

進撃の巨人

面白すぎたので感想がポエムに発展し、かつ重大なネタバレも含むため別記事としました。

dhirabayashi.hatenablog.com

ライザのアトリエ ~常闇の女王と秘密の隠れ家~

ライザはもともとゲームをやったことがありまして、それがきっかけでアトリエシリーズの他の作品も多くプレイするようになりました。それなりに思い入れがあるのでアニメ化のニュースを聞いたときは嬉しかったですね。これは観るしかないなと。

ゲームは最後までプレイしましたので、話の内容は既に知っています。なので、調合シーンはどうやって表現するのかな、サブエピソードとかは入るかな、あのサブキャラは出るのかな、みたいな感じで、ゲームがどのようにアニメになるのかという感じで楽しみにしていました。

さてお待ちかねの第一話を視聴してみて、これは当たりっぽいなと思いました。ライザもクラウディアもかわいい!クラウディアはゲームと少し違うテイストのような感じでしたがこれはこれですごく良い。そして、クラウディアをよく見るとゲームでは持ってなかったはずの弓を持っている。クラウディアはゲームだと続編のライザ2で弓使いになっているのですが、一作目はそうではなかったのでアニオリ要素ですね。(一作目のアニメ化なので)
主要キャラについてはゲームでもボイスがついていましたが、主要キャラを演じる声優さんはみんなゲームと同じだったので全く違和感なく入り込むことができました。

またゲームの冒頭、アニメだと一話で、ライザが錬金術と出会うシーンがあります。ライザは物語の開始時点では錬金術士ではなく、錬金術についても存在自体を知らない状態でした。そのライザが錬金術に出会い、錬金術士を志すきっかけとなった重要なシーンです。

ゲームでは、魔物に襲われてピンチ状態のライザたちが、通りすがりの錬金術士アンペルが投げた爆弾によって助けられました。ライザはそれを見て、今のは何かとアンペルに尋ね、錬金術だとアンペルが答えた。自分が住む島での平凡な生活に飽き飽きして刺激を求めていたライザは錬金術に心惹かれて、アンペルに弟子入りを志願する、みたいな感じでした。

この演出には少しだけ違和感がありました。なんというか、ただの爆弾じゃん?まあ錬金術で作った爆弾ではあるわけだけど、爆弾自体は珍しいものじゃないし、錬金術を使わなくても爆弾は作れるじゃん??という。まあ、普通に戦っても勝てないくらいの強い魔物を一撃で!?みたいな話だったのかもしれないですが、それにしてもちょっと物足りない感じ。
ゲームの面白さを損なうようなものではないのでまあいいかと思っていましたが、アニメでも同じ演出になるのかどうかはほんのり気になりました。

それでアニメの一話を観て実際どうだったかというと、かなりいい感じになっていました。アンペルが爆弾で魔物を倒してライザたちを窮地から救ったところまでは同じなのですが、その後に傷口が一瞬で消えてしまう治療薬、魔除けの効果を持つブローチ、青い炎のランタン、などの超常的なアイテムが次々と登場し、ライザが驚き、錬金術に強烈な興味を抱くまでの流れが非常に自然に感じられました。これだけでもう良アニメ判定していいよね!

良かった点は他にもあります。ゲームではサブキャラ(村人キャラ)も多く登場していたのですが、残念ながらボイスがついてなかったんです。しかし、アニメではちゃんとボイスがついていました。あのキャラはこういう声だったんだねぇと嬉しくなることしきり。サブキャラが関わるエピソードもごく一部ですがいくつかアニメ化されていて楽しめました。

サブキャラといっても主要キャラと比べて魅力が劣るわけではありません。私が特に好きなのはロミィさんとヨンナさんです。どちらもアニメに登場してくれました。ロミィさんはとてもかわいくて、そのおかげなのかアニメでも頻繁に登場して、それどころか次回予告まで任されていました。サブキャラとは思えない厚遇っぷりです。3
もうひとりのヨンナさんは、白馬の王子様を待っているような可憐な(?)女性なのですが、なぜか途中で謎の武闘派的な才能に目覚めて、力が欲しいとか言い出す面白い人です。簡易的にはだけどその辺にも触れてくれたのでよかったですね。(残念ながら力が欲しいというセリフはアニメ化されなかった…)

アニオリ要素もいろいろありました。たとえばクラウディアが冒険に行くために父親のルベルトを納得させようと弓の練習の成果を披露するシーンがあって、見事に的の真ん中に当てて、ルベルトはそれ以上何も言えず、そのまま冒険に出かけるクラウディアを見送るしかなかった、という演出がありました。原作ではこの辺りがどのように描写されていたのか覚えていないのですが、前述の通り原作のクラウディアはこの時点では弓を持っておらず、他に武器も持っていないのでこの演出もアニオリのはず。良いです。

あとはリラさんがソファーに横たわってだらけているシーンとか、アンペルからお菓子を奪って食べるシーンとかあって、そういうゲームでは描写されないような何気ないカットが挟まれているのも良かったですね。

残念だったのは、物語としては最後まで行かずに途中で終わってしまったところですね。1クールで終わるようなボリュームじゃないだろうから2クールくらいやるのかなと思っていましたが、1クールで終わってしまいました。そのままこれで終わりだと悲しいので二期を…なにとぞ二期をよろしくお願いします…

ぼっち・ざ・ろっく!

Xでよくイラストが流れてきていたので気になって観てみました。ぼっちちゃんはいわゆる陰キャで、その描写がけっこうリアルに思えて、1話時点でウッとなりました。私もそちら側なのでなかなかダメージが…

普通の人はぼっちちゃんの数々の奇行を見て笑うのかなー、たぶんそうなんだろうなーと思いながら無表情で眺めていました。視聴を続行するか悩みましたが、せっかくなので少なくともイラストでよく見かけるキャラが全員出るまでは観てみることとしました。

そのように視聴を続けていくとだんだん慣れてきて、ぼっちちゃんの奇行を見てニヤリとするくらいまで成長しました(?)。
そして、なんだかぼっちちゃんが羨ましいなと思うようになったんですよね。いわば巻き込まれる形で結束バンドのメンバーらと関わり、仲良くなって、実力を認められて、一緒に青春しているのが羨ましかった。まあでもぼっちちゃんはすごく頑張ったし、これくらいの恩恵を受けてもいいよねって、なんか嬉しくもなりました。

印象に残ったシーンはぼっちちゃんの私服姿が披露されたところと、文化祭での最後の奇行です。最後のシーンを見た時は普通に笑ってしまいました。私も少しだけ陽キャに近づけたのかもしれません。

ウマ娘 プリティーダービー Season 3

ゲームはやっていないですが有名な作品なので知っており、これもイラストがよく流れていたので気になっていました。ソシャゲはやる気が起こらないのですが、アニメがあるのを知って視聴しました。1期がけっこう良かったのでそのまま2期も観て、そして2期も良かったです。なので3期も来たとなればもちろん観ますよね。

シーズンごとに主人公が変わっていますが、全体的な展開としては大きくは変わらず、すごく王道な感じですね。元ネタが競走馬ですので、レースに取り組む子達の話です。主人公は才能があって大きな夢に向かって頑張るウマ娘。それなりに勝ちを重ねるけどライバルも強いのでときには負けたり、怪我、スランプといった障壁にぶつかることもあり、悩んだり迷ったり泣いたりしながらも努力して努力して、そして最終的には大舞台で勝つ。王道ってのも良いものです。

レースのシーンは単純に楽しいですね。結果はなんだかんだけっこう想像できてしまうのですが、それでも主人公が一番でゴールしたときになんかちょっと涙が出るんです。いろいろあったけど本当によく頑張ったね!とか思うとね。(私はだいぶちょろいのかもしれない…)

3期の主人公は、2期の主人公であるトウカイテイオーに憧れるキタサンブラック、そしてトウカイテイオーのライバルであるメジロマックイーンに憧れるサトノダイヤモンドの2人、ってことになるのかな。2人とも2期でもトレセン学園に入る前の姿として登場していました。なるほど、今度は成長したあの子達の番なのね。

キタちゃんとダイヤちゃんは幼馴染で、仲良しで、しかし強力なライバル同士でもある。そういう存在がいるのは1期、2期とはまた違ったところですね。普段は仲良しだけど、レースでは勝ちを譲るわけにはいかない。二人の初対決はなかなか痺れました。一族の期待を背負っていて本気で闘志を燃やしているダイヤちゃん。それを様子を見て気を引き締めるキタちゃん。
そして二度目の対決も。お互い勝ったり負けたり。まさにライバル。尊いです。

この記事の執筆時点ではまだ放送中で完結していません。直近だとちょっと不穏な展開になっています。たぶん最終的には勝つのだろうとは思いつつ、でも実際それを観たらまたちょっと泣いてしまうんだろうな… 楽しみにしています。

なお、ウマ娘はソシャゲなので非常に多くのキャラが登場します。活躍する姿がアニメでも描かれるキャラやセリフがあるキャラは全体の数からするとごく一部なのかと思いますが、そうでないキャラでも後ろで歩いている姿が描かれたりしていますし、名前も表示されるのが印象的でした。ゲームをやっている人なら推しがいるでしょうし、推しがアニメで登場するか、どれくらい活躍するのか、などの楽しみがあるのでしょう。私はやっていないので残念ながらそういう楽しみ方はできないのですが。

アニメ知識だけで言うと、好きなキャラはサイレンススズカです。1期で活躍するキャラで、スズカが歌う特殊EDもあってなんか心惹かれました。3期でも登場しているしセリフもあります!特に活躍はしないのですが。まあそれは仕方なし。
他にも、3期主人公のキタちゃんもすごく好きですね。あとダイヤちゃんのアイマスクがかわいい。

終わりに

本当は推しの子とかDr. STONE 3期とかも観たかったのですが、そのための時間はゼルダに吸われました。
まあ隙間時間でも使って来年もいろいろ観たいですね。


  1. 琴浦さんとかね… (琴浦さんも名作ですよ!)
  2. いわゆる詐欺OP。といっても最初のまどかは泣いているし、気怠げな表情をするカットもあったりしたので若干の不穏さはあったかも。しかし、気怠げな表情のまどかはちょっと好きでした。
  3. もっとも、ロミィさんはゲームの続編(ライザ2)でも続投しているので、必ずしもサブキャラとは言えないかもしれません。

進撃の巨人のアニメが良かったのでポエム

※この記事は重大なネタバレを含みます。

この記事は以下の記事から分離したものです。

dhirabayashi.hatenablog.com

2023年秋、ついに進撃の巨人のアニメの完結編が放送されました。原作のほうは読んだことがないのですが、アニメは最初から最後まで視聴しました。

これが抜群に面白かったですね。1期はリアルタイムで視聴していましたが、なぜか2期以降は観ていませんでした。今年の秋に完結編が出ると知って、一通り観ようかと思ってまた1期から観ていきました。1日1話くらいでゆっくり観ていこうかと思っていたのですが、面白くて何話も続けて観てしまったので想定よりだいぶ早く最新話に追いついてしまい、完結編を待ち望む日々が長かったです…

そんなわけで、感想というかポエムのようなものを書き綴りたいと思います。

巨人の謎から始まり、様々な謎がどんどん生まれて、その謎が徐々に解き明かされていく。やっぱりそういうのは続きが気になって引き込まれます。でもそれだけではなく、いろいろと考えさせられる作品でもありました。

雰囲気勢なので最後まで観てもよく理解していない部分もあるのですが、それでも様々なことに思いを寄せました。この作品はとにかく人が死にます。それもモブではないキャラクターもけっこう呆気なく死ぬ。それに、進撃の巨人の場合は人の死に方が現実にありそうな残酷さを持っているように感じたのですよね。もちろん巨人自体は空想なのですが、「巨人」を「何らかの脅威」と抽象化して考えるとどうでしょう。たとえば侵略的意図を持った外国軍であったり、テロリストであったり、あるいは自然災害であったり。
「壁」によって一応の平和は保たれて、自分たちは完全に安全だと思っていた。しかし、「壁」は実際にはちょっと強いやつが突進するだけで穴が空くような代物であり…… すごく、現実的にありそうな話だと思いました。1

そうした脅威に対抗するために命を張る人たちがいます。作中でも現実でも。作中でも多くの人が死にます。トロスト区奪還作戦では、岩を運んでいて無防備になるエレンを守るために多くの兵士が犠牲となりましたし、女型の巨人を捕獲する作戦でも、ストヘス区内で兵士のみならず民間人までも死傷者が出ました。いずれの作戦も、作戦に失敗した結果そうなってしまったのではなく、最初からそうなることがわかった上で決行されました。ウォール・マリア奪還作戦においても、獣の巨人に対する、騎馬特攻の作戦がありました。無論、死にに行くようなものです。
団長のエルヴィンも指揮官として先陣を切って真っ先に死ななければなりませんでした。もうちょっとで知りたいことにたどり着けるというところまで来たのに、無念の死を遂げる必要があった。新兵にもそうさせるために「一流の詐欺師のように体のいい方便を並べ」ることで、若者たちを死に追いやらなければならなかった…

ある命を守るために、他の命が失われる。死ぬ役と、生きる役がいる。死ぬ役、あまりにも辛いけど時には必要な存在です。できれば生きる役のほうになりたいものだけど、死ぬ役が文字通り命を捨てて繋いでくれた命、彼らの犠牲を無駄にしないための覚悟は問われます。

ただ、その犠牲を無駄にはしない、と言いつつも結局のところ無駄だったんじゃないのか?と思わせてくるのがこの作品の恐ろしさと面白さだと思いました。作中ではエレンは基本的には生きる役でした。理由はもちろん、エレンの巨人化能力は調査兵団にとって不可欠な存在だったからです。エレンの力を消耗させないため、エレンを守るため、エレンを救出するため、多くの兵士が死にました。エレンは巨人の力を使って多くの戦績を上げましたが、しかしその後エレンは何をしたか。

エレンが地ならしを発動させたのは単純にとても悲しかったです。死体の山と引き換えに存続したエレンの命、エレンはその命を使ってそのようなことをするのかと。ナイーブな感想なのでしょうけど、そう感じました。そんな単純な話ではないだろうとは思いつつも。

この世から巨人を一匹残らず駆逐するというエレンの悲願は(エレンの思惑通りなのかそうでないのかよくわかっていないのですが)達成されたとも言えるわけなので、エレンを生かすために死ぬ役を演じた人の犠牲、地ならしによる犠牲も無駄ではなかったのではという解釈を試みたのですが、やはり犠牲が多すぎてなかなかそのように考えることができず。

まあ、長い目で見ればどちらであっても変わらないのかもしれません。巨人という脅威は去ったけど、結局その後も人類は争いを続けました。多くの犠牲のおかげで命を繋いだ人たちが殺し合う。多くの犠牲は、結局無駄だったのでしょうか…?

もっと言うと、仮に争いが完全になくなって平和な世界になったとしても、誰も死ななくなるわけではない。天寿を全うするのか、不慮の事故や病気で亡くなるのかわかりませんが、どのような理由にせよ最終的にはみんな死にます。次世代に命をつなぐことはできても、命を受け継いだその次世代もやはりそのうち死ぬ。ジークが言っていましたね。命の目的は増えることだけ。生きるということはいずれ死ぬということ。意味などあるのかと。

実は、私は幼い頃からずっと同じことを考えていました。増えたところで、増えたやつだって同様にそのうち死にます。死ぬ前に増えれば命のバトンを渡すことはできるけど、ゴールにたどり着くことはありません。ゴールのないリレー、ただの無限ループ。いったい何のために…?2

この辺りのジークとアルミンのやりとりが興味深いと思いました。ただ三人でかけっこをした。自分はそのために生まれてきたのではないかと。ただの些細なことだけど、嬉しい楽しいこと。それに対するジークの反応。キャッチボールをする。ただ投げて、捕って、また投げる。ただそれを繰り返す。何の意味もない。しかし、それでよかったのだと…

いろいろな解釈ができるかもしれないですが、いつか死ぬのだとしてもそれまでの過程でなにか楽しいこととか、嬉しいことがあるならそれでいいじゃないかと、これまたナイーブかもしれませんが私はそのように理解しました。別に些細なことでもいい。

命とは本質的には無意味なのでは思うことがあります。何らかの物理的現象によって偶発的に生じた何かがたまたま増える能力を有しており、その能力を行使してきた結果でしかないのではないかと。少なくとも、人智を超えた何かが意志をもって作ったものだとは、私は思っていません。ただ、仮に無意味なのだとしても、自分で意味を与えることはできそうです。よほど特殊な生い立ちでなければ、かもしれませんが、基本的には生きる理由など自分で勝手に決めていいものなのかなというところまで考えが膨らみました。

作中でも多くの人が死にましたし、同じような死に方をした人は現実世界にも多くいるでしょう。しかし、一見無駄にも思えるような死に方をした人であっても、生前、自分はこのために生まれてきたんだろうなと思えるなにかがあれば、また、その犠牲のおかげで生き延びた人にも同様の何かがあれば… それが彼らの魂の救済となることを願ってやみません。

そう考えていくと、たとえ多くの犠牲が出たのだとしても、誰かが生き残って、生き残った誰かが自分の命に何らかの意味を見出すことがあったなら、やっぱり無駄ではなかったとも言えるのでしょうか。多くの犠牲のもとに生き残った人たちが引き続き殺し合う、絶望的だけどそれでも希望はかすかに残る、むしろそのかすかな希望にフォーカスした話なのだろうかという気もしてきました。

ちょっとネガティブに見えることも書きましたが、むしろこういったことを考えることでより良い人生を歩むためのヒントが見つかるんじゃないかと思っています。考えるきっかけをくれた進撃の巨人、そしてその制作に関わった全ての人に感謝したいです。
進撃の巨人のような素晴らしいコンテンツに触れることができたのも自分が生きていたからですね。それに、言うまでもなく進撃の巨人とは人が作ったコンテンツです。なんだかんだ言っても、やはり人の営みとは尊い
自分も何かお返しができたらな、という気持ちにもなってきました。それが生きるということなのかも。

ちなみに、進撃の巨人で好きなキャラクターはハンジさんです。ハンジさんの最期で、調査兵団のみんなが号泣しているシーンで私も泣きました。


  1. 進撃の巨人も結局のところ人類同士の争いの話ですしねぇ
  2. もちろんただのループではなく、科学技術の発展などめざましい進歩を遂げています。今の自分は先人の努力によって多大なる恩恵を受けているわけなので、言い方には気をつける必要がありますね。本気で主張しているというより、思考実験のようなものだと思っていただけると。

JJUG CCC 2023 Fall参加メモ

JJUG CCC 2023 Fallに参加したのでメモを書いておきます。個人的には現地参加は本当に久しぶりです。 午前中は用事があったので午後からの参加です。

ccc2023fall.java-users.jp

動くコードを書こう

speakerdeck.com

主にこれが目当てで参加しました。動くコードを書くというのは当たり前なのですが、意外とできていない人が多いのではないか、というか自分はできていないのではないかという思いが元々ありました。去年から競技プログラミング(競プロ)に取り組んでいて強く感じたことです。 ちゃんとアルゴリズムを組む力がなくても、プログラミングって案外できちゃうのですよね。アルゴリズムを書く力がなくても、パターンの暗記、高度に抽象化されたライブラリの使用、あとは動作確認をガチる、などによってカバーできちゃう。それによって一応「動く」コードはできあがるので、自分はプログラミングができる、と勘違いする。(私のことです) 一応「動く」コードができあがるなら別にいいじゃないかというと、それではダメなケースが多くあります。実際、私は上記のような感じで自分はプログラミングが得意だと勘違いしてましたが、競プロによって化けの皮が剥がれました。簡単な問題はもちろん解けるけど、解法を発想するのがそれなりに大変な問題や、解法は明らかだけど実装が面倒な問題が解けませんでした。自分が解くことができたのは解法を思いつくのが簡単、かつ実装も簡単な問題だけ。ショックでした。何年も仕事でプログラミングしてきたはずなのにどうして?しかし、何にせよ現実として解けないので、自分はプログラミングが苦手であると考えるしかありませんでした。

まあそういった思いを抱えていたために、こちらのセッションが気になりました。そして、聴講してどうだったか。 キーワードは「状態遷移」でした。状態遷移というとフラグとかステータスの遷移を連想しますが、それ以外にもそもそも逐次実行もプログラムカウンタの状態遷移であるという内容がありました。プログラミングとは本質的に状態遷移を扱うものなのかもしれないですね。故に難しい。 たとえばオブジェクトはできるだけ状態を持たせない、できるだけ不変にする、というのが基本的には良いことだとされています。状態を扱うことは難しいからです。つまり、プログラミングは本質的に難しい…

アルゴリズムの実装について、隠れた状態を発掘するのが難しい、しかしそれを見つければ実装自体は簡単、という例が出ていました。とてもよくわかります。競プロでもそういう問題は多いです。難しい。難しいけど、プログラミングができるようになる、動くコードを書くというのはそういうことが容易にできるようになることなのだと理解しました。きれいなコードを書くとかもめちゃくちゃ大事ですし、プログラミングする上で大事なこと、習得が必要なことはたくさんあるけど、それらはアルゴリズムをちゃんと発想できるようになってからの話なのかと思いました。

生成系AIによって仕事が奪われないかどうかがよく話題に上がるようになり、私もすごく不安を抱えていますが、こういったことができるようになればAIに仕事を奪われなくて済むのではないかという趣旨が示されて締めくくられていました。この時代にこそ基礎力が大事になるのですね。 アルゴリズムもそうですが、コンピュータの動作原理などのいわゆる低レイヤーの知識も重要になるのかなと思いました。プログラムカウンタとかはそういう話ですし。

なので、今後その辺りを中心に自己研鑽をしていこうかなと思いました。アルゴリズムについては、引き続き競プロに力を入れることで鍛えていけるかなと思いました。今回のセッションだと競プロには触れられませんでしたが、触れるつもりではあったらしいので…

低レイヤーはまた別途やらないとダメですね。積んでいるNand2Tetrisを進めたい…

Spring Eventsでのトランザクション処理の地獄とそれを解決できる方法

github.com

Spring Eventsは使ったことがないですが、イベントハンドラの形でリクエストを処理するフレームワークのようです。このセッションでは、実際にコードを修正して動かしながら説明をされていました。内容としてはトランザクションの考慮が足りなくてイベントの処理順が想定通りにならない問題と、その解決方法についてです。結論としては @TransactionalEventListener を使うとなっていました。 やはりアノテーションを使ってトランザクション管理するのは難しいですね。アノテーションの仕様をそれなりに深く理解していないと、まさにこの例のような罠を踏んでしまいます。アノテーションを付けるだけでそれっぽくは動くので便利だけど、裏ではアノテーションプロセッサがめちゃくちゃ頑張っているので挙動を把握しにくいです。仕様の調査、綿密なテスト。当たり前っちゃ当たり前だけど、アノテーション周りは特に気をつけたいです。

ところで、デモではIntelliJ IDEAでtest.httpというファイルを開いて、それを使ってHTTPリクエストを送っているのが気になりました。ざっくり調べたところ、IntelliJ IDEA Untimateで使えるプラグインの機能のようでした。VSCodeにも似たような機能があるようです。便利そう。

それと、なんとベルギーのチョコをいただいちゃいました。美味しかったです。ありがとうございました。

Database Rider を用いたデータベーステスト

スライドは現時点だと公開されていないですが、するとは言っていた気がします。

内容としてはタイトルの通りで、Database Riderというツールの使い方についてでした。リポジトリ層のテストとして、実際にDBにアクセスさせて行う部分の支援ツールですね。DBにテストデータをINSERTする機能のほか、アサーションをする機能もあるとのこと。 今の私の業務ではテストデータのINSERTやアサーションはJdbcTemplateを使ったりしていて、かなり冗長で醜い感じになっています… なのでその辺りをDatabase Riderでなんとかできるのだとしたらすごくありがたいですね。できれば導入したい。アサーションもしてくれるというのがすごく気になります。

DBのテストはテストデータの扱いも面倒ですが、テスト実行に時間がかかりがちという問題もあります。せっかくなのでその辺りの対策について質問してみました。H2をインメモリモードで動かして使うことでかなり速くなるということでした。たしかに速くなりそうなのですが、実際にプロダクション環境で使うRDBMSは大抵はH2ではないと思うので、テストと本番で異なるRDBMSを使うというのがテストとしていいのかどうか気になりました。 少し調べてみた感じだと、H2にはMySQLモードで動かすとかそういう機能があるとのこと。本物ではないのでそれでもカバーできる範囲は限られるのでしょうけど、それでも良いケースもあるのかも。あるのかな?この辺りはもうちょっとちゃんと調べたい。

おわりに

最近の関心事はアルゴリズム、テスト、DBという感じだったので、まさにそれというトピックのセッションを無意識に選んでいました。 やはりJJUG CCCみたいなイベントは現地に行くのがいいですね。コロナ禍でオンライン開催だったときは、参加しやすいはずなのにあまり参加しなくて… 久しぶりにまともに参加できてよかった。アルゴリズムを勉強する重要性についても再確認できたし、これからも頑張っていきます。

2022年にやったゲーム

概要

2022年にプレイしたゲームの雑感などをサクッとまとめる。あくまで雑感なのでちゃんとしたレビューではない。

箇条書き

ちゃんとやったゲーム

挫折したゲーム

詳細

ソフィーのアトリエ

social.gust.co.jp

ハード Switch
プレイ時間 70時間くらい

2021年の終わりくらいに始めて、2022年の1月にクリアした。

多くの人が名前くらいは聞いたことがあるであろうアトリエシリーズ、その中の不思議シリーズの第一作目。個人的にはアトリエシリーズ自体は2021年にライザのアトリエをやったのが最初だった。ライザのビジュアルに惹かれてつい、だったのだがやってみたところ意外と(失礼)面白かったのでシリーズの他の作品にも興味が出た。

ソフィーのアトリエはシリーズ初心者にも親切、主人公のソフィーの人気が高いという前評判は聞いていて、さらにもうすぐソフィーのアトリエ2が出るということでもあったので、ライザの次にやるならソフィーだろうと思った。
ソフィーのアトリエ2は2022年2月に発売済)

ライザは採取地が広くて探索する楽しみがあったがソフィーはそういう感じではなく、またバトルのシステムや調合のシステムも大きく異なるのでけっこう違うゲームだとは思った。しかしながら行動することで作れるものが増えて、行ける場所も増えて、ストーリーが進行して、という王道の楽しみは同様にあった。調合については雰囲気でやっても一応クリアはできるが、目当ての効果や特性を付けたい場合はそれなりに頭を捻ることになって面白い。
(なお、雰囲気でやっていたら裏ボスとかには全然勝てない…)

このゲームはキャラクターに話しかけると頻繁に会話イベントが発生する。私は会話イベントを見るのが好きなので、これがとても楽しかった。会話イベントは強制的に発生し、見ているうちに元の用事を忘れることもあったので人によってはストレスかもしれないが、私はむしろどんどん発生してくれと思った。

キャラクターも魅力的で、特にコルネリア(コルちゃん)というキャラがTwitterなどのアイコンとしてお借りしようと思ったくらい気に入った。
(画像は公式サイトで配信されている)

主人公のソフィー、相棒のプラフタといったキャラも好きになったので、続編であるフィリスのアトリエ、リディー&スールのアトリエのプレイも是非プレイしたいと思った。

ソフィーが人気なのはすごくわかる気がした。驚異的にかわいい。

ライザのアトリエ2

www.gamecity.ne.jp

ハード Switch
プレイ時間 80時間くらい

ライザのアトリエの続編。前評判としてはシステム面では前作からブラッシュアップされていて良い、シナリオ面は微妙と聞いていた。実際やってみたところ、私もそれに近い感想を持った。シナリオに関しては、今作で登場するフィーという謎の小動物を中心に話が進むので、フィーに愛着を持てるかどうかでかなり評価が変わるのかもしれない。私は残念ながら愛着を持てなかったので、マイナス面ばかり目についてしまった。
(ちなみに「謎の小動物」という表現は公式サイト通り)

ライザのアトリエ2 〜失われた伝承と秘密の妖精〜 | CHARACTERS | フィー

ライザシリーズのリアルタイム戦闘システムはすごく好きで、探索の楽しみがあるのも良い。今作のライザは登るし、泳ぐし、水深が深いところなら潜るし、と少しオープンワールドチックな探索ができるのがすごく良かった。これは褒めるところを無理にほじくり出したのではなく、ほんとに面白いと思った点。

トータルでどのような評価になるのか難しいものの、前作でお気に入りだったロミィさんというサブキャラがボイス付きで再登場したのが嬉しかったのでその分でプラス評価ということで。
(ロミィさん、モブに近いキャラだったけど妙に可愛らしいビジュアルで気になっていた)

スーパーマリオサンシャイン

www.nintendo.co.jp

ハード Switch
プレイ時間 20時間くらい

もともとはゲームキューブのゲームだが、スーパーマリオ3Dコレクションに収録されていてSwitchでプレイできる。オリジナルは20年以上前のゲームと気づいて衝撃を受けた……

難しいということでネットでは賛否両論な感じだったけど、個人的にはさすがの面白さだと思った。鬼畜な難易度のステージもたしかにあったけど、もともと3Dマリオは難しいものだと思っているので想定を超えるほどではなかった。

やっぱり3Dマリオは良いねぇ。オデッセイとかもやりたくなる。

天穂のサクナヒメ

www.marv.jp

ハード Switch
プレイ時間 35時間くらい

農林水産省のWebサイトが攻略Wikiなどと言われるくらい稲作がガチ過ぎると評判になったゲーム。稲作パートとアクションパートがあり、個人的にはむしろアクションパートの動画が楽しそうに見えてプレイしてみた。

正直稲作は雰囲気でやってしまったので本当の面白さを体感していないかもしれない。逆に言えばそんなんでもクリアはできるので、あくまでもやりこみ要素として考えることもできる。

稲作は多くの工程があり、最終的な成果を決めるパラメータが凄まじく多いのでハマる人はハマるのだろうなあという感じ。ただ、雰囲気でやったとしてもガイドに従って水を入れたり抜いたり、雑草を見つけたら引っこ抜いたり、益虫を捕まえて田んぼに放ってみたり、とかしているとちゃんと世話しているような気になるし、それなりには育つので嬉しくなる。

収穫に至れば雰囲気勢でさえそれなりの達成感を覚えるので、やりこみ勢の達成感は半端じゃないだろうなあと想像。収穫するとサクナのステータスが上がるので、アクションパートも攻略しやすくなる。

アクションパートもけっこう充実していて、武器やスキルの種類がいろいろあるし、コマンド入力による技も多くある。敵が弱ければボタン連打でザコ敵を吹き飛ばして爽快感を覚えるゲームになるけど、敵が強い場合はそれだけだとクリアできずそれなりの立ち回りが必要になる。しかし、どうしてもクリアできない場合は米をキメてステータスを上げて物理で殴ればいいので詰むことはほぼない。よくできている。

アクションパートのやりこみ要素として、敵を全部倒しながら進んでいくダンジョンがある。(天返宮)
ある階層の敵を全滅させると、次の階層へ進める。進めば進むほど敵が強くなり、特定の階層に行くとボスが出現、そこがマイルストーンになるという感じ。ペーパーマリオRPGの100階ダンジョンを思い出した。私は早々にリタイアしたけど、天返宮も100階層で一区切りらしい。

まあ雰囲気勢でも楽しめるし、やりこみ勢も(たぶん)楽しめる良作と思った。

えどたん

www.capcom-games.com

ハード スマホ
プレイ時間 10~20時間くらい?(覚えてない)

珍しくスマホで買い切りのゲームをやってみた。探偵に憧れる高校生が江戸時代にタイムスリップし、様々な事件に巻き込まれる。その事件を持ち前の才能と、推理小説で培った知識をもとに解決しながら、現在に戻る方法を探すという感じ。

元々はガラケー向けに配信されていたのが、スマホにも移植されたものらしい。

ゲームシステムとしては逆転裁判とほぼ同じ。裁判はもちろんないけど、犯人と対面して証拠品を突きつけながら矛盾を暴いて追い詰めるのは尋問とほぼ同じ。 (むしろ逆転検事の対決と同じかも)
もちろん犯人と対決するのはその話の最終段階なので、その前に調査パートがある。調査パートは逆転裁判と全くといっていいほど同じ。あまりにも同じなので、これ著作権的に大丈夫なの?と思ったけど、どちらも同じ会社が(カプコン)が開発元なので大丈夫みたい。不正はなかった。

このように書くと劣化コピーかのように聞こえるかもしれないけどそういうわけではなく、難易度こそ控えめだったものの、シナリオや謎解き、BGM、キャラクターの魅力や掛け合いなどの質が全体的に高かったと思う。普通に楽しめた。

続編の「続えどたん」もあったようだが、スマホには移植されていない。移植してほしい!

フィリスのアトリエ

social.gust.co.jp

ハード Switch
プレイ時間 140時間くらい

ソフィーのアトリエの続編で、不思議シリーズの2作目。主人公はソフィーからフィリスに交代しているが、ソフィーは師匠ポジションで引き続き登場する。ちょい役ではなくちゃんとストーリーに絡んでくるし、仲間としてバトルでも活躍してくれる。

不思議シリーズの3作目であるリディー&スールのアトリエが良いと聞いたことがあって、やりたいと思ったけどその前に2作目のフィリスのアトリエもやったほうがいいよね、という感じで始めた。そういう意味では期待度はそこまで高くなかったのだが、予想を覆された。めちゃくちゃ面白かった。

タイトルは正確には「フィリスのアトリエ ~不思議な旅の錬金術士~」で、その通り旅というのがコンセプトになっている。特定の拠点は持たず、テント式の移動アトリエの中で調合しながら各地を巡る。マップが非常に広いのと、イベント会話やクエストが非常に豊富なのが特徴。お使いと言ってしまえばそれまでなので、そういうのが好きでなければ合わないかもしれないが、個人的にはいろいろな場所に行けて、いろいろなことができて楽しいと思った。まさに旅の面白さ。

主人公のフィリスは見た目の印象だけでいうと当初は特に気になっていなかったが、プレイしてみるととてもかわいい子ですっかり気に入った。キャラデザした人にフィリスかわいいですってリプを投げたくらい気に入った。

プレイ時間がかなり伸びたのは、一度エンディングを見てクリアデータをセーブするときに元のセーブデータを上書きしてしまって、そしてクリアデータをロードすると強制的に二周目(最初からプレイ)になってしまったためである…
エンディングを見た時点でもまだ行っていない場所、こなしていないクエストやイベントもあったし、他のエンディングも見たいと思っていたのでやむを得ずそのまま最初からやり直した。まあ、やり直してでも全部見たいと思った程度には気に入ったということでもある。また、やり直しも嫌々やっていたわけではなく、一周目と違うルートを辿ってみたり、一周目ではできなかったことをしたりなど二周目なりの楽しみがあったのでこれはこれで良かった。

やたらとマップが広いわりには快適な移動手段が少ないなどシステム面の問題はあるので万人におすすめという感じではないが、少なくとも私にはヒットした。大満足。

UNDERTALE

undertale.jp

ハード Switch
プレイ時間 10時間くらい

とても人気のあるゲームなので、気になってやってみた。まだ一周(いわゆるNルート)しかやっていないのでおそらくこのゲームの面白さのごく一部しか味わっていないと思われるが、それでもすごくよく作り込まれたゲームなのはわかった。クスッとする小ネタも豊富で、こういうの好きだなと思った。

最後はなんとも言えないというかよくわからない終わり方だったので、これは二周目前提のゲームなのかなという気はした。とりあえずPルートとGルートというのがあるというのはわかった。誰も殺さないPルートはたしかに気になる。今回プレイした時は、今戦っているこのキャラもきっと生存ルートがあるんだろうなと思いつつも攻撃がたまたまクリティカルヒットして倒してしまったり、生存させたくとも和解する方法がさっぱりわからなくて結局そのまま倒してしまったりなど、なかなか後味が悪い感じになってしまったので。

Pルートはおすすめとは言われたことがあるのでいつかやってみたいと思いつつ、他にもやりたいゲームがあるしなあということで後回しになっている。

リディー&スールのアトリエ

www.gamecity.ne.jp

ハード Switch
プレイ時間 108時間くらい

フィリスのアトリエの続編で、不思議シリーズの3作目。

ソフィー、フィリスが未プレイでもメインストーリーは理解できるが、プレイしておいたほうが楽しめそう。不思議シリーズのフィナーレを飾るといった感じの演出が多く見られるし、続投しているキャラも多い。さらに、過去作キャラ同士が会話するだけで今作主人公(リディー、スール)が全く登場せずに終わる会話イベントも多くある。過去作ファンへのファンサービスが豊富という感じ。

これはまあ賛否両論ありそうではある。ソフィーやフィリスのファンであればキャラのその後の成長した姿が見られるのは嬉しいが、その分リディーやスールの存在感が薄くなるし、そもそもそういうノリ自体が好きではない人もいそう。個人的には歓迎するけど。

リディスーのフィリスはかわいいって感想を見たことがあり、フィリスは無条件でかわいいんだが?って思ったけどまあ言いたいことはわかる。

ファンサービス要素が多いのでやはりそちらの印象が強い。コルちゃんも登場し、ソフィーとの会話イベントがあるのがポイント高い。また詳細は書かないけど、不思議シリーズファンなら胸熱のイベントもある。

私としてはリディスーのプラフタは(特に)かわいいって主張したい。

とはいえ、ファンサービス要素以外がスカスカかというと全然そんなことはない。ボリューム的にはむしろ多いし、ストーリーもなかなかよくできていて楽しかった。ちょっと涙ぐんでしまう場面もあったり。リディーとスールをはじめ、オリジナルのキャラクターもみんな個性的で良い。おっとり天然と見せかけてけっこう黒いリディーとかすごく良い。一般的にはスールのほうが人気かもしれないけど、まあそれもよくわかるので結局どちらもいいよねってなる。

システム面ではフィリスのような旅路線ではなく、どちらかといえばソフィーに近い。フィリスのようなインパクトはそんなになくて無難な印象を受けたけど、全体的にはすごく楽しめたと思う。

ゼルダの伝説 ブレス オブ ザ ワイルド

www.nintendo.co.jp

ハード Switch
プレイ時間 110時間くらい(現時点)

これはまだまだプレイ途中。マップは一通り埋まり、神獣は4体中3体を解放したところ。

一般的には名作とか良作みたいな言葉が霞むくらいの高い評価を受けていると思う。実際のところどうなのだろう?とやってみた。やってみたところ、普通に納得するくらいの傑作だと思った。(まだ途中だけど)

オープンワールドのゲームを他にやったことがなかったのでそれ前提の感想になるが、広大なマップがあって、目に入る場所は基本的に全部行けるというのはやっぱり衝撃的だった。

崖があっても、それはそれ以上は進めないことを示すシンボルではなく、実際に登ることができる。登った先には何かしら用意されていたり、新たな世界が広がっていたりする。何もなかったとしても、高い場所から周囲を見渡せばいい景色が目に入ってそれはそれで達成感がある。しかも、それは見かけだけの景色ではなく実際に行くことができる。パラセールで滑空できるので、興味がある場所が見えたら飛び降りてそこまで飛んでいくことができる。こんなの楽しいに決まっている、という感想を5年遅れで抱いた。

戦闘も楽しい。時オカの頃から変わらない安定の面白さ。

看板を壊せるのも変わらない。看板を叩いたら当然壊れるよねっていう。同じような話として、木製の武器を火に近づけたら燃え移る、火が点いた武器を草むらで振ればやはり周囲に燃え移る、木になっているりんごに火を近づければ焼きりんごになる。雨が降ったら火は消える。そういう、こうしたらこうなるのではないか?と思うことがだいたい実際にそうなるので、すごくこの世界に没入できる感じがする。
(雨が降ったら滑って崖登りしづらくなる、のはちょっといらないなと思ったが…)

祠の謎解きは難しくないものが多いので、謎解き要素は薄めかもしれない。ただ、まだ全部はやっていないが、神獣の謎解きはなかなか歯ごたえがあって面白いと思った。ナボリスは簡単めだったかもしれないが、個人的にはルッタの難易度がすごくいい塩梅で、満足度が高かった。

マップが非常に広いので、全部行ってみようとか、コログや祠をコンプしようとか考えると苦行に変わってしまう。なのでそこまでは考えず、ほどほどに楽しんだら切り上げようかなと思っている。

まあ要するに、めちゃくちゃ面白い。もっと早くやればよかった。

2023年にやりたいゲーム

ブレワイはプレイ中なのでまずはそれを終わらせるが、その後にやりたいゲーム。候補を挙げているだけで、全部やるとは限らない。というか全部は時間的に無理。

ソフィーのアトリエ2

これはもう絶対にやる。というかブレワイと並行で今週にでも始める。早くやりたいと思っていたが、フィリス、リディスーの後にやろうと思ってずるずると先延ばしになっていた。

ゼルダの伝説 ティアーズ オブ ザ キングダム

ブレワイの続編なので非常に期待している。ただ未発売なので、発売後に評価が固まるまでは様子見。

ロロナのアトリエトトリのアトリエメルルのアトリエ、ルルアのアトリエ

いわゆるアーランドシリーズ。じつはもう購入済で積んでいる状態。アトリエシリーズを初めて知ったのがトトリだったと思うので、ずっと気にはなっていた。これを機にSwitchでできる分は一通りやってしまおうかと思った次第。まあ他のシリーズもやるので、2023年中に全部できるとは限らない。少しずつやっていく。

アーシャのアトリエエスカ&ロジーのアトリエ、シャリーのアトリエ

いわゆる黄昏シリーズ。これらも購入済。あまり同じシリーズを続けてやると、なんか楽しむというよりコンプ欲の解消のための作業になってしまう気がするので、他のシリーズを挟みつつ長期スパンで一つずつやるつもり。

ポケモンのどれか

ポケモンは実は初代とそのリメイク(ピカブイ)しかやったことがない。初代は何周もしてやり込んだくらい好きなので、最近のポケモンをやっても楽しいはずだよねと思っている。

Outer Wilds

詳細はよくわかっていないものの、各所で絶賛されている印象なので気になっている。宇宙が舞台のオープンワールドゲーらしいというくらいしかわかっていないが、どんな感じか調べるうちにネタバレを踏むのは嫌なので、あまり調べずに信じてやってみようかと思っている。

グノーシア

これもみんな口を揃えて面白いと言っている印象。

ドンキーコング トロピカルフリーズ

ドンキーコング リターンズはストレスに蝕まれていた私を救ってくれた思い出のゲームなので、続編のトロピカルフリーズも是非やりたい。

十三機兵防衛圏

これも記憶を消してやり直したい系らしい。そういうの聞くとすごくやりたくなる。

ゼノブレイドシリーズ

有名だけどやったことない。しかし、気になっている。

エルデンリング

これもオープンワールドの傑作と定評があると思う。

Return of the Obra Dinn

謎解きゲー。面白そうな予感しかしない。

ルーンファクトリー3

たぶんこれ系はすごく自分に合う気がしている。Switchで3のリメイクが出るということなのでそれをやってみるのがいいかも。

メトロイド ドレッド

メトロイドヴァニアという言葉があるけど、そもそも本家メトロイドを一作しかやったことがない。難しいけど面白かった覚えがあるので、他にもやってみたらいい気がする。

ドキドキ文芸部

なんか第一印象とは別の意味でドキドキするらしいというのだけは知っている…
それ系は意外と苦手ではないので、ちょっと怖いもの見たさでやってみたい。

ライザのアトリエ3

ライザシリーズもこれで完結のようなのでやってみてもいいが、未発売なのでまずは様子見。シナリオが2と同等のクオリティであればやらないけど、シナリオライターは初代の人(高橋弥七郎さん)ということなので期待してもよさそう。

スーパーマリオ オデッセイ

すごくやってみたいのだが、うちにあるSwitchがSwitch Liteで、ちょっと相性が悪そうなので二の足を踏んでいる。

雑感

やったことあるシリーズの別の作品で無難に楽しむのも良いが、やったことないシリーズを開拓するのもやりたい。要はバランスおじさん。

2022年の振り返りと競プロと私

はじめに

2022年は個人的にそれなりの転機になったような気がするので、色々振り返っておきたい。Twitterで今年を振り返っている人がいて、自分もやりたいと思ったがTwitterでは文字数が全く足りない。

長文を書く場合は最近は主にQiitaを使っていたが、今回のは技術記事ではないので適切ではない。なので存在をほぼ忘れていたはてなブログのアカウントを引っ張り出してきた次第である。

雑なまとめ

  • 競プロを始めて本当に良かった
  • Kotlinはいいぞ
  • ブレワイが面白かった
  • アトリエシリーズが面白かった。特にフィリスとリディスー
  • リディスーのプラフタはかわいいよ

競プロ観点での時系列での振り返り

まずは競プロに絞らずに時系列で一通り振り返ってみたのだが、長くなりすぎてしまった。今年の大きな出来事としてはやはり競プロを始めたことで、現在の最大関心事も競プロなので、競プロに関係ない部分はできるだけカットしてお送りする。

1月

競プロはまだ始めていなかったが、自己研鑽として「勉強」ではなく実際の取り組みが何か必要なのではないか?と思っていた。以前、通信制大学に入ってITを学び直すなどしたことがあったが、正直何も身につかなかった。

自分は机上の勉強ではなく実践が伴わないと身につけられない人間だと思った。でも何を実践すればいいのだろうか…?

2月

競プロはまだ始めていなかったが、ゲーム以外にも何か他に趣味が欲しいと思っていた。交流が発生するようなものであればなお良いと。

3月

会社の人がAtCoderをやっていることがわかった。ちょっと楽しそうだなと思った。以前からAtCoderは知っていたし、そもそも数年前に参加していたこともあるが、その頃に挫折しているので苦い思い出となっていた。

そのため、ただちに自分もやってみようとは思わなかった。しかし、挫折した悔しさと、本当はやりたいという気持ちが残っていたので、参加を考え始める。

4月

自己研鑽として「勉強」ではなく実際の取り組みが何か必要なのではないか?ってもう一度思った。

何かを勉強するとき、いつか使うだろうと思いながらやっていた。いつかっていつだよ。今必要なことをやらないと身につかないよ。

何かを勉強したとして、その時は「今度仕事で必要になったら使おう」と思うけど、実際にはその機会は訪れないか、もしくは訪れたときにはもう忘れていたりする。

身につけるために実践の機会を意図的に作るのも重要なんだけど、そもそも日常的にプログラミングしているのであれば、学んだことを素早く取り入れて試すことができる。勉強のための実践って結局勉強の延長なので本当の意味での実践ではなく、定着具合はイマイチ。勉強したことを勉強用以外のプログラミングのために取り入れたらそれは本当の実践なので、定着が段違いになる。なので、勉強以外で日常的にプログラミングすることが重要、という感じ。

勉強したことを定着させるために無理やりなんか実践するのではなく、そもそも普段プログラミングをしていて、それに役立つことを勉強する、ならいいのかもしれない。

では何を実践するのか、なんですよね。ここがネックだった。何も思いつかない。作りたいものなんて別にない…

5月

Pythonの勉強のためにCheckiOというサイトで問題を解いていた。決められた制約に沿った値が入力されるので、それについて何らかの処理をして出力する。その出力が正しければOKというものである。

あれ?これって競プロじゃね?って気づいた。ただ自分が知る限りでは、コンテストのようなものはなかったと思う。

どうせならコンテストがあるAtCoderのほうがよくない?と思い、AtCoderに復帰することを決める。早速C++の環境構築をした。(Pythonじゃないんかい)

6月

  • 自己研鑽として「勉強」ではなく実際の取り組みが何か必要なのではないか?
  • 自分は机上の勉強ではなく実践が伴わないと身につけられない人間だと思った。でも何を実践すればいいのだろうか…?
  • 何か他に趣味が欲しいと思っていた。交流が発生するようなものであればなお良い
  • 勉強したことを定着させるために無理やりなんか実践するのではなく、そもそも普段プログラミングをしていて、それに役立つことを勉強する、ならいいのかもしれない。
  • では何を実践するのか、なんですよね。ここがネックだった。何も思いつかない。作りたいものなんて別にない…

妙な前フリをしていたけど、要するに競プロでよくない??って思った。

さらに、アルゴリズムやデータ構造、数学についてはずっとやらなきゃいけないと思っていた。いい機会になるはずだと思った。

競プロは、すごく自分の求めていたことにガッチリはまる感じがあった。

そういうわけで6/4、ABC254で久々にコンテストに参加!

記念すべき?復帰戦の結果は2完。しかも遅い。まあそうだよね…

C問題は過去にも(簡単な回を除き)解けなかったので、鬼門になるのはわかっていた。なので当然そうなると受け入れて、焦らず、他の人と比較せず、長期的に取り組むと決めていた。落ち着いて力をつけていけばいいと思った。

実力とは無理やりつけるものではなく、長期的に取り組んでいるうちに気づいたらついているものだと思っていたので、当面はただ参加し続けることだけを目標とした。

コンテストに参加するだけでなく過去問もちまちま埋めていたが、A問題でWAを出すなどして凹んでいた。さすがにこれはいかんでしょと思った。自分がこんなに実力がなかったとは…

7月

この頃から、Zennで競プロの記録をつけるようになった。C問題は解けないが、解説を見て目から鱗というか、すごく新鮮に思って記録をしたいと思った。

zenn.dev

Cが全然解けずに心が折れるかと思いきや、むしろやる気に満ちていた。

自己研鑽として何をしていけばいいのかということはずっと葛藤があったが、当面は競プロに力を入れるってことでいいのではないかと自分の中で結論が出た。自己研鑽としては競プロだけしかやらないのは十分ではないのだが、競プロ自体の有用性には確信を持った。

8月

引き続き競プロについて自分なりに分析を続けてきた。これについては別の記事でも書いたのだが、自分はプログラミングでものづくりをしたいのではなく、ただ純粋にプログラミングをしたい、自分が書いた通りにコンピュータが動くのを見て楽しいと思いたい、それだけなのだと気づいた。

プログラミングはものづくりだと表面的には思っていたので、プログラミングしたいはずなのにプログラミングしたくない???と混乱していたが、このように整理すればすっきりした。ものづくりではないプログラミングも存在するし、自分がやりたいのはそれだった。つまり競プロですね。

ものづくりする仕事に就いているのでこのような思考になっているのは良いことではないが、しょうがない。嘘はつけない。それに、競プロで鍛えられる力はものづくりにも必要ではあるので問題はないと考える。

そのように思ったのでコツコツと精進を続けていた。

いろいろなC問題を解説ACする中で、数学ができないことが致命的なボトルネックになっていると痛感せざるを得なかった。なので、数学の勉強も始めることに。 本当に最初からやり直したかったので、数学以前に算数から始めた。

さすがにそこまでは…と思ってはいたのだが、やってみたら簡単な算数の計算でも脳が悲鳴をあげることがわかったし、しょうもない計算ミスを連発することがわかったので、お恥ずかしながら算数からのやり直しで正解だった…

こうなってくると、競プロや数学が有益かどうかという以前に、このレベルで躓いている自分を許せないという気持ちのほうが強くなってきた。ちょっとしたコーナーケースを見落としてWAを出す自分、稚拙な全探索しか思いつかなくてTLEを出す自分、小学生レベルの計算で脳が悲鳴をあげる自分…

しかし、絶望はしない。むしろ、自分のダメな点が明らかになってよかったと思う。競プロは本当に自分のダメな点を容赦なく炙り出してくれる。これは強がりではなく、本当にありがたいことだと思った。

なお、これまではC++で競プロしていたが、この辺りからKotlinに乗り換えている。C++は残念ながら自分にとっては書きやすい言語ではなく、仕事で使っていて書き慣れているKotlinを使ってみることに。もし必要性を痛感することがあればまたC++に戻ればいいかなって。

仕事で一番長く使ってきたのはJavaなのでそれも選択肢だが、Kotlinのほうが簡潔に書けるのでそちらに流れている。

9月

ようやく入茶を果たしたのがこの月。レーティングには執着しておらず、早く入茶したいなーとも実はそこまで思っていないつもりだったのだが、結局入茶記事で長文ポエムを書いてしまったのでやっぱり嬉しかったのかも。

qiita.com

入茶した回はCが解けずにAB早解きで茶パフォが出たので、まだまだだなーとは思った。しかし、十分な実力を得たとは到底思えないまでも、少なくとも前進はしていることは明確になったのでその点が嬉しかったのだろう。1度(いや実は2度)挫折していることを一応は克服したのだと。

まだまだC問題は解けないけど、C問題を安定して解けるようになりたいというのがけっこういい感じの目標になっていたのかも。簡単には達成できないが、不可能というわけではなく、頑張ればいけそうというのがちょうどいい塩梅だった気がする。

過去問だと解けるC問題も出てきたので、それなりに成果は出始めていた。いよいよ楽しくなってきたという感じ。

その一方で、モチベをレーティングに依存することの危険性についても考えていた。レーティングは変動するので、下がり続けて灰落ちも普通にあり得る。そうなっても自分はモチベを保てるのか?

競技なので競争要素がモチベになるのは普通だし、それは人それぞれの考えがあるので他の人に対して口を出すようなことではない。ただ、自分としてはレーティングのようなふわふわ変動するものにモチベを左右されたくないと思った。レーティングが下がったけど問題が解けてうれしい、解けなかった問題の解説を見て新たな知識を得てうれしい、くらいのほうが生きやすいだろうと。

まあレーティングを一切気にしないというのは現実的には無理なんだけど、解けた!の嬉しさのほうをできるだけ重視したいと思った。

10月

いよいよコンテスト本番でC問題をACするという実績を残した。まあそれ以前にもCとは思えないくらい簡単だったとか、実は理解してないけどググったら解法を見つけちゃったとかはあったのだが、その回は正真正銘実力で難しい問題を解けた。しかも緑diffだった。これは本当に嬉しい。そして、解ける問題を増やしてこういう嬉しさをもっと多く感じたいと思った。

まあ「解けて嬉しい」とは「解けなかったら嬉しくない」に繋がるかもしれないので、もう一歩思考を進める必要がある。正直、成長という観点だと解けた時より解けなかった時のほうが成長すると思う。なので、解けたら嬉しいのでOK、解けなかったら成長するのでOK。どう転んでもお得。これでいこう。

それと、ようやくDPの勉強も始めた。DPで解く問題の解説を何問か見たがサッパリ理解できず。事前知識を先に勉強しないと解説を理解すらできない問題もあるんだなあと思った。

この頃になるとTwitterでの交流も増えたし、マシュマロも飛んでくるようになったので嬉しかった。

11月

ABCで初めての4完を達成したのがこの月。Dにしては簡単だったといえばそうだけど、普段よりも順位が高めに出たのでやっぱり嬉しい。成果を実感できるとほんとに嬉しいね。

ただ、何でもうまくいっているわけではなく、また一つ重要な気づきを得てしまった。それは、自分は今までずっと、足りない考察力と実装力を動作確認しまくることでカバーしてきたんだなということ。つまり一応それらしく実装はするが、普通にバグがある。動作確認によってそれに気づく。直す。また動作確認するがまだバグがある。直す…を繰り返すみたいな。それって、単純にプログラミングがちゃんとできてなくない…?って。

実務でも今思えばそんな感じだったけど、実務だと動作確認は比較的しやすいので、動作確認スキルが高いのであれば一応問題はなかった。画面の実装とかなら、思いつく限り全ての操作方法や入力値を全部試せばいい。私は全探索脳なので、これは試さなくていいよね?とかはあんまり思わず、ほんとに全部試してきた。それでバグも見つけてきた。文字通り、動作確認しまくることでカバーしてきた。

しかし、競プロではなかなかそうはいかない。問題にもよるが、入力が複雑な場合はサンプルを試す以外の動作確認が面倒。だがサンプルが親切とは限らないので、十分に動作確認するのであれば自分で入力値を用意しないといけない。しかし、それに対する正しい出力は自分で計算しないといけないので得るのが難しい。それ以前に、どのような入力値を試すべきなのかの判断が容易ではない。

愚直実装もして結果を照合するテクニックもあり、自分も何度かお世話になっているけど、愚直実装すら大変である問題に対しては使えない。

そもそも、できるだけ早く提出してACを得る競技なので、動作確認に多くの時間を割くわけにはいかない。なので、足りない考察力と実装力を動作確認でカバーするというのは競プロでは通用しづらい。

十分な動作確認がなくても正しい実装ができるなんて化け物かと思ったりもしたが、実際それなりのレーティングの人はみんなやってるわけなので、やはりこれは普通に自分の弱点と捉えるべきなんだろうなあ…

これは実は私としては本当に衝撃的な気づきだった。私は他の人よりバグを見つけるのが得意だったと思う。それはバグ検出件数という形で数値化でき、他の人の数値と比較できるので、おそらく勘違いではない。その理由は何かというと、おそらくだが私が全探索脳だからだと思う。普通の人ならこれはテストしなくていいだろうと判断するようなことも、めんどくさがってやらないようなことも愚直に全部テストしてきたから。

こいつめっちゃバグ見つけてくれるやんって評価されることもあった。全探索脳が私の武器だった。それが…まさか通用しないとは……

むしろ、全探索脳による動作確認でカバーできてしまうが故に考察力や実装力が十分に育たなかったのかもしれない。自分の武器だったはずのものが、むしろ仇となった形。

自分にこのような弱点があったとは。また競プロが一つ自分に気づきを与えてくれた。ありがたい。そして、この弱点はきっと競プロを続けることで改善できるのだろうと思った。

まあ、ここまでくると自分は普通にプログラミングの能力が低いと認めざるを得なかった。気づきを得られたのはありがたいが、現実が残酷すぎてちょっとメンタルに来てしまったところもあった。

こういう時は「頑張らないと」と思ってしまうけど、頑張りすぎるとそれはそれでメンタルに来て逆効果になるので、頑張らないことも考えないといけない。頑張ることも頑張らないこともどちらも重要。変な話頑張るのは簡単で、頑張らないほうが実は難しい。頑張らないことを頑張れって言われたことがある。だいぶ身にしみてわかった。

なのでこの辺りから、休日はあんまり頑張らずにゲームをやることにしている。休日は、休むための日なんだよ…

とはいえ、他の人が頑張っている時に自分はゲームをするというのはそれはそれで精神的な負荷がある。休むのは必要だけど、休みすぎて成果が十分に出ないと、それはそれで問題。頑張り過ぎたらダメだけど、頑張らなさ過ぎるのもダメ。む、難しい…

結果単体で捉えず、直近の精進具合も含めて考えたらいいのかもしれない。結果は出なかったとしても、最近はブレワイが楽しすぎてあんまり精進できてなかったので当然である、みたいに冷静に判断できればいいのかと。 この辺は今も試行錯誤を続けている。

この時期の精進の内容としては、グラフの勉強をしていた。これも解説を見ただけだといまいち理解しきれなくて、一から勉強する必要があると思った。

こういう勉強の仕方は良いと思っていて、明確な目的はないけどなんとなくグラフをやるかー、というのよりも、この問題の解説を理解するためにグラフをやる、と明確な目的があるほうが吸収しやすいと思った。

こういった明確な目的を得るにはやはり日々の具体的な取り組みが必要で、今は競プロが自分にとってそういう存在になっている。

なお、DPやグラフの勉強ではアルゴ式のお世話になった。アルゴ式の教育的な問題は自分がよくわかっていないものを理解するための訓練としてはとても良い。

あとは、算数の勉強は終わって中学数学の勉強に進んだのがこの頃。先は長いけど、継続していけば着実に力はつくはず。

12月

ABCで久々に灰パフォを出したりして、焦りを感じるなどした。先月に引き続き、ちょっとメンタルに来ていた。メンタルケアは重要。

ここのところは、ABCでC問題が簡単な回が続いているので、早解き勝負の側面が強くなっている。なので早解き力も鍛えようと思ってバチャにも少しだけ参加するようになってきた。成果を実感するには至っていないのでまだまだこれから。

気持ちとしては、C問題は歯ごたえがあるほうがありがたいとは思う。解けて当然の問題しか解けなくてコンテスト終了よりは、それなりに難しい問題を通すことができて満足感を得てからコンテスト終了のほうが当然楽しい。

まあでも仕方がない。それならCまで高速に解けるようにするか、Dも解けるようにするかのどちらかで考えるしか。

年内最後のABCでは、D問題がそこまで難しくなかったはずなのに解けなくて悔しい思いをした。年末は消化不良で終わってしまったので、もう少し頑張りたい。

DPを勉強するとかグラフを勉強するとかもいいけど、やはり問題を解くのが一番とも思ったので、直近だとABCのC問題の過去問をまた解くようにしている。アルゴ式の教育的な問題も良いのだが、アルゴ式だとどういうアルゴリズムで解ける問題なのかわかっている状態で解くわけだし、そもそも理解に導くことを目的として作問されていると思われるので、コンテスト用に作問された問題とは趣が異なると思った。両方やるのがいいけど、最近はアルゴ式に偏っていたのでABCの問題のほうに少し寄せた。

その回のD問題については、テストケースに制約違反があって部分Unratedになっていた。自分のレーティングとしては全体Unratedになるほうが冷えなくて済むことが想像できた(実際そうだった)が、全体Unratedになってくれーとかは全然思わなかった。自分は意外とレーティングに執着がないことがわかって少し安心した。

今月はTwitterで初めてリプを交わし合う人が増えたり、リアルでエンカする人もいて交流が促進できた。期待以上に交流が生まれたと思うので嬉しい。

2023年の目標など

入緑するみたいなそういう目標は立てない。年末は不完全燃焼になってしまったので、まずは早めにまた満足のいく結果を出せるようにしたい。

取り組んでいれば相応に強くなるやろ(適当)って思っているので、とにかく継続したい。やめてしまうことがないようにしたい。なので他にも目標があるとしたら、来年の年末時点でもまだコンテストに参加し続けていることですかね。

参加を継続さえするなら、自ずと精進もするだろうし、数学の勉強も進んでいるだろうし。そんな感じでよいと思う。

競プロは自分の弱点を容赦なく炙り出してくれたけど、それらもおそらく競プロを続けていれば改善されていくでしょう。焦らずコツコツと。