'sqr'atch-note

ちりはつもれど ちりぬるを

とぐろ島の神髄クリア!

  • シリーズ恒例の99Fを目指すもっと不思議なダンジョンのとぐろ島の神髄をクリアした。非常に楽しかった。
    • 今作ではユーザがどれくらいの割合でクリアできているのかというクリア率が表示されるのだけど、神髄のクリア率は2%で、ぼくは37回目の冒険で抜けられてだいたい周りと同じような感じでクリアできた。
  • 今回の最終ダンジョンは、SFC版のフェイの最終問題と64版の最果てへと続く道に似た感じで非常に楽しめた。難易度は、難しすぎず易しすぎず、楽しめる難易度に調整されてあって、非常に好印象。
    • 過去シレン5などの最終ダンジョンが、ほんとうに嫌がらせとしか言えないような内容だったので、今回の神髄のように難易度をまとめてくれた開発チームに感謝。
    • といっても、道中は軽い絶望を何度か味わった。
    • 10回に1回は割と武器も盾もいい感じに強化できて、この冒険は99F到達できるのでは?と思ったのに、戦車フロアでモンハウに遭遇してイッテツ戦車とガンコ戦車に囲まれてやられたり、ドラゴンとスカイドラゴンが堅すぎて回復アイテムを消費させられたり、大鬼サソリにちからの最大値を削られたり、、、と絶望を何度か味わった。
  • なので、どれだけの奇跡を重ねればクリア出来るんだ?と思って諦めかけてたけど、友人とシレン6の話をしてた時にふと攻略方法を思いついて、実際に試したら割とするすると深層を目指すことが出来、クリアできた。
    • 運が良かったのは、深層フロアでアークドラゴンがあまり出ずにそこまで困らなかったところ。根絶やしせずにすんだし、階段運にも恵まれたように思う。
    • そのせいか、アイテムを余らせすぎてしまった。

『風来のシレン6』買った

  • 実に14年ぶりのナンバリングタイトルが1/25に発売された。去年9月のニンダイで突然発表されてからあっという間に発売日を迎えた気がする。
    • ぼくは2014年にDS版のシレン5を初めて遊んだので個人的には10年ぶり。
  • 今回のシレン6は、ニンダイのPV見て64版のシレン寄りのSDちっくなキャラクターになったしアスカも登場とすると知って非常に楽しみに思った反面、発売されるまでほとんど話題を見かけなかったし、開発者インタビューのプレイ画像を見るとグラフィックがしょぼそうだし微妙では?という、期待と不安が入り交じった気持ちだった。
  • で、ここ5日くらい遊んでみた結果、結構満足している。
    • 神器の海廊が楽しくて、まだ最後のもっと不思議なダンジョンを出したものの挑めてないけど。。。
  • 全体の評価はざっくりこんな感じ。
    • ストーリー:★★★☆☆
    • シレンらしさ:★★★★★
    • 遊びやすさ:★★★★★
    • グラフィック:★★☆☆☆
  • ストーリーに関しては元々シレンはストーリーが面白い!っていうゲームではないので、普通だったという評価。
  • シレンらしさという上手く言語化できない部分だけど、なんとなく原点であるSFC版のシレンに存在した面白さが戻っている気がする。
    • 純粋に不思議なダンジョンを楽しめるような構成になっている。いやらしい昼夜システムが廃止されてるのが大きい
    • 神器の海廊、買い物上手の修験道とかシステムを楽しめるダンジョンがあるのが良いと思った
    • 印の数が増えたので、最強の武具を作るっていう楽しみが増したと思う
      • 今回、過去最強の武具が作れると思えるほど性能が壊れた印がいくつかある
  • 遊びやすさという点では、操作に関して細かい改善が行われていると感じた。
    • 壺に入れるアイテムの選択時に、装備しているアイテムの下から選べるようになっている。間違えて装備品を壺に入れてしまう事故が起こりにくくなってる
    • マップにどこを歩いたのかがマッピングされるようになっている。ので、罠を踏む可能性が少なくなってると思う(それでも未踏の場所を歩いて罠にかかるのが人間の性・・・)
    • アイテム欄にギタンがあって整理しても所持金に加算されなくなった!これは非常にありがたい機能改善だった
  • グラフィックに関しては、発売前から不安に感じてたとおり、微妙だった。
    • というか、インディーズで発売されるゲームのグラフィックがすごすぎて、それと比べてしまうと見劣りしてしまう。これなら、ドットでも良かったんじゃ無いかとも思ってしまうが、まあ比べてもしょうがない。
    • シレンとコッパの3Dモデルがなにやらガビガビしている。慣れればある程度は平気にはなってくるが・・・。
      • コッパの毛並みが非常に堅そう。ゴワゴワしてそう。
      • 金の剣なのに、見た目が木刀みたいに見えてしまう。
      • あと、ダンジョン内では陰に違和感があるように思う。アイテムに乗ったときアイテムの画像が差し変わるのが気になる
    • シレンに関しては、派手なグラフィックがウリなゲームでは無いので、そこまで欠点では無いものの。
  • 今回、おそらく富江慎一郎さんが関わる最後のシレンだと思うけど、若い人たちが多く参加して作り上げられたんだと思うし、それでこのシレンが出来たと考えると次回作も期待出来るなと感じた。
    • 次回作が出来るかどうかも今回の売り上げ次第なのかな。

シェケナダム、初野良カンスト達成!!

  • 1/21のシフトで、シェケナダムの野良カンストを初めて達成!これで野良カンストは5つ目。残るは魔境ドンブラコ・・・・。
    • 今回のシフトはこんな編成だった。
    • 重量級ブキ(ダイナモローラー)が入ってる編成で上位を目指すのはなかなか大変という印象はあったものの、対雑魚シャケで無類の強さを誇るダイナモだったのと、満潮シェケナダムの相性が良かったからか、同じ重量級ブキのハイドラント込みの編成の時よりも動きやすさはあったように思う。
    • 他のブキもスプラマニューバーとボトル、96ガロンで全部シューターなので動きやすかった。96ガロンについては射撃中の移動速度が極端に遅いから、周りをシャケに囲まれたり、インクの塗りが甘い場所で逃げるときに塗りながら逃げるって言うのがなかなか難しく苦戦した。
    • とはいえ、評価40スタートでは無く、評価300から始まったのに野良カンストまでの総バイト数は112回。800台を抜けるのに37回もバイトする羽目になり正直心が折れそうだった・・・。
  • 今回、立ち回り方について頭で分かっていたのに対応できていなかった部分がなんとなく出来るようになったのは良い収穫だったと思う。
    • 基本的には納品を楽にするためにオオモノの寄せを考える必要があるのだけど、評価が上がっていくと必要なイクラ数に対して湧くオオモノが非常に多くなってくるので、寄せの意識から処理効率を意識した立ち回りに変えていく必要がある。800台で長時間苦しんだ時に、途中でそういう意識の切り替えをしたら少し成功率をあげられた。
    • 今回800台でバイト中に気づいて立ち回りを変えたけど、正直600を超えてきたらもう処理優先を考えて良い気がする。
    • 処理優先であっても、海岸寄りで倒さずにコンテナ周りに上手く誘導してあげた方がいいオオモノもいるから、処理優先だと言っても見かけたオオモノを海岸で片っ端に処理していると今度は納品に困る結果になるだろうし難しい。

atcoder-cliの導入

  • 今更ではあるんだけど、AtCoderの解答前準備を楽にするため、atcoder-cliを導入した。
  • 今回、インストールした環境は以下の通り。
 $ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.3 LTS"
 $ npm -v
8.5.1
 $ nodejs -v
v12.22.9
  • nodejsとnpmは普通にaptを使ってインストールした。
$ sudo apt update
$ sudo apt install nodejs npm
$ acc config-dir
/home/username/.config/atcoder-cli-nodejs

$ cd $(acc config-dir)
$ mkdir python
$ cat <<EOF > python/template.json
{
     "task": {
         "program": [
             "main.py"
         ],
         "submit": "main.py"
     }
 }
EOF

$ acc config default-template python
$ acc config default-test-dirname-format test
$ acc config
  • acc config default-test-dirname-format test
    • この設定は、accが作成するテストケースのディレクトリ名をtestに変更している。ojコマンドは、デフォルトでテストケースを./testディレクトリから探すため。
    • -dオプションでテストケースのディレクト名を指定も出来るが、毎回指示するのも面倒であるのでacc側の設定を変更してあげる。
  • 適当な問題をダウンロードとojでテストケースの実行をやってみる。
$ acc new abc099
abc099/contest.acc.json created.
create project of AtCoder Beginner Contest 099
? select tasks A ABD
[INFO] online-judge-tools 11.5.1 (+ online-judge-api-client 10.10.1)
[INFO] load cookie from: /home/username/.local/share/online-judge-tools/cookie.jar
[NETWORK] GET: https://atcoder.jp/contests/abc099/tasks/abc099_a
[NETWORK] 200 OK

$ oj t -c "python3 main.py" 
[INFO] online-judge-tools 11.5.1 (+ online-judge-api-client 10.10.1)
[INFO] 3 cases found
[WARNING] GNU time is not available: time

[INFO] sample-1
[INFO] time: 0.005157 sec
[SUCCESS] AC

[INFO] sample-2
[INFO] time: 0.004408 sec
[SUCCESS] AC

[INFO] sample-3
[INFO] time: 0.004404 sec
[SUCCESS] AC

[INFO] slowest: 0.005157 sec  (for sample-1)
[SUCCESS] test success: 3 cases
  • OK
  • 毎回、テスト時にコマンドを入力するのは手間なので、エイリアスを設定してあげる
    • alias ojpy='oj t -c "python3 main.py"'
    • 必要に応じて~/.zshrc~/.bashrcに追記する

サモラン、年始バイト

  • とてつもなく癖の強い編成だった。雑魚シャケに弱いし、塗りも弱いので、非常につらい。
    • ボトルガイザーは祝いのお酒のボトルを表して、竹は門松を表してるとかなんとか。2年前?の年明けバイトも似た編成だったようす(その頃はスプラ2だったので、サモランやってないので知らない)。
    • ハイドラントとRペンは、対タツ戦において圧倒的な強さを誇るので組み込まれたんだと思う。
      • タツ戦で、ハイドラントを持ったときは、オオモノを完全に無視してフルチャを弱点に叩き込んでるだけで、すごい早さでHPが減っていくので非常に楽しい。
    • 最も、これでステージがアラマキ砦であれば、かなり楽だったと思うけど、見通しが悪くて広いシェケナダムだったので、新年早々心が折れそうなバイト始まりだった。
  • 評価300からスタートしたけど、そこはかとなくしんどかったので、評価を100までリセットしてしまった。ハイドラントを握ってタツ戦をやりたかったので。
    • 本来、こういうクセ強編成であってもある程度の評価まで自力で上げられるような実力を付けたいと思ってはいるんだけど、やっぱりしんどすぎて修行感が強く出てあまり楽しめない。
    • そんな気構えで、シェケナダムとドンブラコの野良カンストを今年中に達成できるのか・・・?

2024年目標

今年の目標(OKR)をセルフコミットメントとして書き出しておく。

  • O:技術的な知識を付ける
    • O:技術書を読む
      • KR:ソフトウェアアーキテクチャ関連や設計に関する本を始め再読含め年間20冊読む
    • O:C++に入門する
      • KR:C++入門 APG4bやる
      • KR:C++本を何か1冊読む
    • KR:LinuCレベル2の取得
  • O:コーディングに慣れる
    • O:AtCoderで茶色になる
      • KR:ABCコンテストに24回参加する(2回/月x12ヶ月)
      • KR:Boot camp for BeginnersのEasyを100問全て解く
      • KR:競プロ典型90問やる
      • KR:あさかつにN回参加する(頻度は要検討)
    • KR:GolangでWebアプリを1本作り上げる
    • KR:Githubで200コミット以上する
  • O:健康になる
    • KR:エアロバイクを1400km乗る(9km/日x3回/週x52週)
  • O:サモランで全ステ野良カンストする

訂正メモ

  • C++入門目標のキャンセル
    • 毎年一言語学んでいくという思想に基づいて、今年はC++を学ぼうと考えてた。加えて、AtCoderで茶色になるという目標もあるので、問題を解くためにC++を使うと一石二鳥でお得かなと思い、今年の目標に設定していた。
    • が、AtCoderで茶色になるという目標を考えたときに、使用する言語は手段でしかないため、何だっていい。
    • もちろんC++の人気が高くて情報が多いのと、解説がC++で行われている場合が多いので、C++が分かるのはAtCoderをやっていく上で利便性が高い。でも、次の理由からも個人的にはPythonをやめてC++に乗り換えるのは微妙かなと判断した(もちろん、茶色の先を考えて長期的に見ればC++でやり直す方がメリットの方が大きいが、今時点でそこまで上を目指していない)。
      • コンパイル型の言語は、Golangをちゃんと使えるようになりたいと思っていること(まだGolangが自信を持って使いこなせていると言えない状態でC++に手を出すのは、どっちも中途半端になってしまうのではないか)。
      • 普段、Linuxのログ解析などを始めたとしたテキスト処理をやってることが多く、その場合Pythonもしくはbashを使っており、AtCoderの問題においてもAB問題ではテキスト処理が問われる問題はそこそこあるため、それがPythonで解けるようになっていくのは都合が良いこと。

2023年振り返り

2023年は特に目標を立てなかったので、予実的な振り返りは出来ないが、年末なので今年やってきたことを振り返ってみる。

プログラミング

  • 今年はシェルスクリプトPythonスクリプトを書く機会が多かったものの、普段から書いていないので必要なコードをさっと書けずもどかしいく思い、プログラミングの練習として5分コーディングを9月頃から始めた。その中で、2020年にちょっとだけやったきりになっていたGolangも再開。
    • 短いコードをさっとかけるようになるためにも日常的にコーディングをやるべきだけど、習慣化のために負荷は軽くという方針から最低5分はコーディングしようという考え。
    • 5分コーディングのおかげで、コードを書いている時間は増えているけど、まだまだ掛けてる時間が全然足りて無い感がある。それに加えて、1本のアプリを実用的なレベルまで作りきるという体験の積み重ねがまだまだ足りない気がする。
    • 経験もそうだけど、知識も圧倒的に足りておらず、自分が実現したい処理をどう言葉にして表現すればよいのか分からないレベル。なので、来年はソフトウェアアーキテクチャを始めとして知識も並行して身に付けたい。
  • あとAtCoderを初めてみた。こっちはPythonで問題を解いている。
    • ビギナー問題集を50%くらい解いてみて、ABC問題のうちABはほぼほぼ15分以内に解けるようになった。Pythonのリスト内包記法も慣れたし、基本的なイディオムは抑えたように思う。自分で問題を解いてACしたら、他の上手い人の解法をみてみるのが、やっぱり勉強になる。
    • 茶色になるための課題がC問題で、単純に実装してしまうと実行時間が足りないため、典型的な問題の解法を覚えたり、基本的なアルゴリズムの知識を付けていく必要がある。来年の課題。

サモラン

  • 野良カンストしたいと1月からずっとバイトし続けて、今年はサモランだけで500時間以上プレイし、今日までに4つのステージで野良カンストを達成。
    • カンスト出来たのは、アラマキ砦、ムニエール海洋発電所すじこジャンクション跡、トキシラズいぶし工房の4つ。
    • トキシラズは、12/27から始まった最強編成(ボールド、ホットブラスター、キャンピングシェルター、ジムワイパー)で駆け込みのカンストを達成。
    • ドンブラコとシェケナダムの野良カンストを達成できず全ステ野良カンストとはならなかったのは残念。2023年最後に割と強そうな12/26〜27の編成(52ガロン、96ガロン、ラクト、トライストリンガー)がきたので、だいぶ時間を使って910まで評価を上げたが、結局時間切れとなりカンストならず。バイト初日に400から800に4時間ほどであげられたので、カンストまであと3時間くらいでいけるだろうとたかを括っていたら、翌日のバイトは沼ってしまい5時間かけてもカンストまで至らなかった。
  • 来年こそはシェケナダムとドンブラコの野良カンストを達成したい・・・。
  • かなりやり込んだ方だと、ぼくは思っているけど、まだまだ目の前のことで手一杯になってしまい全体を見られていないなと言う気がする。
    • というか、ドンブラコとシェケナダムは見通しが悪いため、オオモノの対応が遅れがちでバイトが困難というステージであるので、全体を見る癖を他のステージで徹底して身に付けて、ドンブラコとシェケナダムのカンストを目指したい。
    • オオモノ処理については、カタパッドとコウモリ(のアメダマ)を放置しがち。ミサイルとアメが降って足場の塗りが無くなり、動きづらくなる上に地味にダメージを蓄積して、コジャケの一発でやられてしまうみたいなパターンがある。オオモノの寄せをしつつ、海岸に湧いたカタパッドの対応を同時にやるのが難しいので、その辺りの立ち回りを考えて改善したい。

LinuCレベル1

  • LinuCレベル1を取得した。
  • こっちも決めてた目標では無いけど、今年は何やかやとLinuxを触る時間が長くて、今の知識だと困る場面もあったため、もう少しちゃんと知識つけて詳しくなりたいなと思ったので、LinuCを取ってみた。こういう資格があってもあまり意味はないでしょと思ってたので長い間、取得する気が起き無かったが。
  • レベル1は基礎的な知識が問われる内容なので、正直あっても無くてもって感じで、ぼくが求めてる知識レベルにはまだまだな気がするので、いまはレベル2の取得に向けて勉強してる。最終的にはレベル3の303まで取れると良いなと考えてる。
  • これまである程度Linuxは触ってきたので、その経験でサクッとレベル1に関してはクリアできたものの、レベル2から普段はあまり触ってない部分の知識が求められるので、問題を解くだけではなく実機使って試してみるのも取り入れて学習する必要があるなと思う。