blog.bouzuya.net

2021-06-12 『ヒューマン・リソース・マシーン』をクリアした

『ヒューマン・リソース・マシーン』をクリアした。サイズ目標・スピード目標をすべて達成しているのでコンプリートで良いと思う。以下メモ。

  • すべての YEAR についてサイズ目標・スピード目標をともにクリアした
  • プレイ時間は 20 時間程度
  • Nintendo Switch 版をプレイした
  • テレビなどに表示するとコントローラーでのプレイになり操作しづらい
  • タッチスクリーンでのプレイは操作しやすいけど画面が小さい
  • コードの表示領域が狭くスクロールする際に命令を移動してしまいそうで怖い
  • コードの表示領域を広げて人の表示領域を削ってほしい
  • なぜかコメントを手書きしなければいけないのがつらい
  • データの制約がきちんと書かれていないのがつらい
    • データに 0 が含まれていると死ぬのでは?
    • データの長さが N を超えると死ぬのでは?
    • etc.
  • とにかく低レイヤーなのがつらい
  • 関数で抽象化できないのがつらい
  • ループできない (ジャンプしかない) のがつらい
  • 比較でさえ破壊的操作になるのがつらい
  • サイズ目標・スピード目標により過度な最適化を要求されることと ↑ の組み合わせがつらい
  • OUTPUT で持っているデータを失うのがつらい
  • BUMP+ で持っているデータを失う (+1) で上書きされる動作にモヤモヤする
  • ループなし・関数なしでプログラミングをすると人はこんな簡単にスパゲッティコードを生み出せるのだと学んだ
  • クリアだけならもうすこし楽しめると思う
    • それでもサイズ・スピードのランプの点灯が気になってしまう
  • 普段のプログラミングとは違いすぎる (個人的にはヒューマン・リソース・マシーンのものをあまり楽しいと感じない)
  • ヒント
    • サイズを稼ぐために処理を並び替えてそこへジャンプする手がある
    • インライン化してジャンプ回数を減らせばスピードを稼げる
    • COPYFROM -> COPYTO -> COPYTO でまとめてつくることでサイズを減らせる
    • あらかじめ数字をつくっておくことでスピードを稼げる

今日のコミット。