ゲームを遊んだら、自分を遊べ(あるいは『プログラミング後に、自分をステップ実行』)

(もしかしたら今後、挿絵を挿れるかもしれない)

この記事は、
CoderDojo Advent Calendar 2021』の23日目の記事であると同時に、
えだ管理Discord鯖アドベントカレンダー 2021』の24日目の記事の予定です。

「フライング投稿は如何なものか」
と読者の皆様は思われると存じますが、この記事は上記の日付までに何度か改版が入る前提で投稿しました。

また、
「アドベントカレンダーを投稿する事を忘れる」
という失態回避の目的も兼ねております……というより そっちの方が動機としては強いです

不躾とは存じますが、ご容赦頂けると幸いです。以降、本文となります。


事前にお伝えする事として、筆者は以下の書籍や情報の影響を強く受けている;

  • 『禅とオートバイ修理技術』
  • 数理論理学(しかし、過激な関数型プログラミング狂信者の様な「プログラミングも自然言語も人間の心情も数学。理解できない連中は野蛮人」という発想には疑念を覚える)
  • クトゥルフ神話 TRPG で用いたキャラクター達
  • 他多様なフィクション

つまり、
「歪んで現実の人間への不信の極みに陥いって、フィクションに逃げてるヲタクの世迷い言」
として受け取って読んでもらうくらいが丁度良いと思う。

なおタイトル元ネタは小飼弾氏の『本を読んだら、自分を読め』である。

「くそ長い。はよ言え」な人向けに

  • 復習大事。振り返り大事
  • 振り返りの内容は表現できるとなお良い
  • 振り返りの表現のコツとして「感情描写。比喩・擬音・擬態」とか

自分を遊べとは

TRPG には『感想戦』という「感想共有」の時間が設けられている事が多いし、ほとんどのシステムのルールブックに明記されている。

という字から誤解を招きやすいとは思うものの、あくまで主目的は、
「あの場面のあの人のロールプレイは良かった」
とか、
「あそこの場面でプレイヤー自身はああしたかったが、ダイス目の都合で……」
という、リスペクトや暴露会なのが丁度良い。

その感想戦をする中で、その卓の人々で気づきがあるはずである。

可能であれば、しばらくその気づきに入り浸るなり、深めると良い気がする。

気づきの深め方

ここでの気づきの深め方については「脳内で言語化する」だけで必要条件は満せるかもしれない。

ただ筆者個人としてはせっかくなので、 その内容を 3 行まとめで良いので書き起こす事を勧めたかったりする。

あわよくば 筆者個人としては 、二次創作と称して小説やマンガ・イラストや音楽に書き起こしてもらえたら、これほどシナリオ制作者やゲーム制作者として嬉しい事は無い。

その過程で、別の物語があなたの中で湧いたなら、感無量である。

デジタルゲームでも同じ事

異様と思われるだろうが、これはデジタルゲームにも言える。

ただし振り返る対象が物語ではなく、自身の身体制御や操作直前の思慮、ひいてはその後のゲーム展開や身体が覚えたジョイパッド(コントローラー)やキーボード・マウスから来る反作用(抵抗力)、そして身体部位の緊張感などが主となる。

  • あの瞬間何を思って操作を行なったか
  • その時の指先や手の甲の動き具合
  • その際に指先で感じた反作用・抵抗力、あるいは緊張した身体部位

これを続ける事で、もしかすると自分に適したゲーム内の戦術や入力機器の選択の幅を絞る事ができるかもしれない。
ただ、筆者や周りの人々の様子を伺う限りでは、
「1ヶ月間、毎度振り返り続けると、入力機器に順応してる」 傾向が多い。

自分をステップ実行とは

さて、ゲームとは真逆にも捉えられそうなプログラミングの話が混入してきて、読者の方々の中には困惑を覚えたりするだろう。

しかし筆者個人としてはほぼ同一の感覚を覚えてしまったからこそ、就労移行支援事業所での個人活動の時間にこんな世迷い言を認(したた)めているのである。

閑話:俗に言う「美しいソースコード」の個人解釈

ソースコードを書いたり読む時に、多少の彩(あや)を感じる事がある。

空行の数、チェーンメソッドの並べ方、変数名。

その彩をある程度共通にする事で、 「後からコードを読む人々にに余計な思考の徒労を与えない様にする」 為の『コード規約』と筆者は捉えている。

なので識者以外には異様に思えるかもしれないがプログラミングでも、
「行間を読む」
という行為や、
「語の並びに思慮を巡らす」
事が無い事も無い。

暴論だが、むしろそれらを怠ったコーディングをしているコードには、
デスマーチの最中でのコーディングとは留意するものの
激しい憤りの念を覚えるし、 そういうコードを書かざる負えなかった環境には尚更憤怒の念を覚える。

かと言って筆者の様な、
「言葉やコードの彩に躓いては、躓いた対象をじっくり観察・分析・解剖する」
様な輩が地方の末端派遣社員や農家のアルバイトをやるとクビが飛んだり怒号や罵声を浴びるのは、こういう、
「他人が直感で解っていたり無視できる事をいちいち気にして、傍から見れば無用な時間を過ごしている」
からだと自負はする。

ステップ実行の仕方

さて、具体例を挙げよう:

  • 自分の書いたソースコードを眺める
  • 改めて、「なぜこの様な書き方をしたのか」と自分に問う。例:
    • フレームワークや言語仕様の都合でそう表現するしか無かった
    • 良い方法はあったが、改修範囲が多岐に渡り、時間も要するから
  • とりあえずその「なぜこの様な書き方をしたのか」をソースコードのコメントに書いておく

その上で;

  • 「もっと良い実行コード上での表現方法は無いだろうか」
  • 「自分の中で言葉にするなら一言で収まる処理だが、ノイマン型コンピューターではもっと細分化が必要だっただろうか」
  • 「もっと細分化するなら、どの主語や述語を軸にして分解し、手順を並べるか」

と自分に問うてみよう。

オープンソースは考え方の宝庫

これが巡り巡ってコンピューターや自分自身の理解の促進に繋がるかもしれないと筆者は思うと同時に体感している。

ここ最近は、
「自分の頭の中が Linux カーネルだったら、この『注意力散漫』さを少なくするには?」
「弁識ができても行動に移せないのはなぜ?」
と思い至って、『CPU スケジューラー』や『システムコールの実装』について興味を抱いている所だ。

幸い、今日は Linux カーネルそのものはもちろん、そこから派生したカスタムカーネルもある上、ソースコードがWeb
上で公開されている時代である。

直接自分の思考過程への焼き込みはできなくとも、参考になるものはあるかもしれないという希望を持つので興味が強化されている筆者が居る。

もっとも、ここまでの発想に、
「そんなもの、気合や根性が足りないからだ」
と一蹴できるのであれば、あなたはよっぽど健全な人間なのだろうと筆者は勝手にあなたの事を羨ましく思い、皮肉めいた感情を抱く次第である。

総括

振り返りは大事

ここ最近、
「『振り返り』は脳科学の観点でも良い刺激を自身に与える」
という話はとても散見される。

しかしいざ集団で振り返りをするとなると、その場に適する表現を求められるのが世の常では無かろうか。

そこで筆者としては、
「個人の個人による個人の為の振り返りを、頻繁に行ったておくだけでも十分な効果があるんじゃね?」
という思い付きを共有した次第である。

ただの独り感想戦

やる事は感想戦である。最悪、言語化とか映像化も難しいだろう。

それはまず、今のあなたはそうであるという事実が確認ができる。
そして、そういうものもしっかりと認識するだけでも違うかもしれない。

その感覚・体感に深入りする事を無理強いしないが、時間や心情に余裕やゆとりがある時にはやっても良いだろう。

感想戦の内容は表現できると尚良し

上述で、

やる事は感想戦である。最悪、言語化とか映像化も難しいだろう。

とは書いたが、可能であれば脳内に留めず自分の手を動かして表現した方が良いと思う所存である。

その表現したものを眺めたり聴くなりして自分自身の表現能力を真の当たりした方が、頭身大の自分に気付けるかもしれない。

補遺:心の在り様に苛責(かしゃく)は愚息

オープンソースは考え方の宝庫 の終わりについ、

もっとも、ここまでの発想に、 「そんなもの、気合や根性が足りないからだ」
と一蹴できるのであれば、あなたはよっぽど健全な人間なのだろうと筆者は勝手にあなたの事を羨ましく思い、皮肉めいた感情を抱く次第である。

とこぼしてしまったので、書き加えておく。

気合や根性、あるいは知性や教養でも良いのだろうが、
「単一の対象による評価での優劣で自他を呵責ないし揶揄する。または自惚れるのは如何なものか」
という持論がある。

かく言う私も人間の出来損ないなのでいくら親父に、
「お前は愛や人間感情を理解できずに自分の損得だけで動いているからすぐに解雇されるんだ」
と言われたり、とある現場の上司からは、
「お前も発達障害かもしれないし、俺も本当は発達障害かもしれない。けれどもそれに甘んじて向上心を絶やすのが一番愚か」
と言われたり、どこかの『自称 IQ148』の人間からは、
「君が不幸なのは不幸な考え方をしているからだ。もっと僕みたいに自分を好きになりなよ」
と言われ、果てはとある派遣会社の同僚や営業からは、
「お前が趣味と仕事を混同して社内チャットに投稿してくれるおかげで、こっちは集中力が削がれるんだ。仕事しろ」
「プロ意識というものは無いのか? そんな『使えないなら切り捨てれば良いだろ』という発言に無責任さを感じる」 と散々言われ続けてきたにも関わらず;

  • 行動の鈍化(本人も他人の様に素早く正確な行動をしたいものの、他人の様な正確さが損なわれる)
  • 通勤途中での嘔吐
  • 起床不良・不眠症
  • 弁識能力の低下による業務指示理解・遂行能力の顕著な低下(環境手順書があるものの、内容が古すぎる為に公式ドキュメントで示されている手順で勝手に進める。他)
  • 記憶能力の欠如(自分が言った事を数日で忘れる。他)

などが顕著になったり悪化したりして、最終的には『地域包括支援センター』や『相談支援事業所』と呼ばれる所に
掛け込んで、幸か不幸かはまだ判らないが「生活困窮者と認定され、かつ就労移行支援から出直し」という、
まさに人間の出来損ないらしい現状に至っている。

散々愚痴を吐いたが、各人には、
「付き合って頂き、有り難う御座います」
という思いは多少ある。

ただ、もしかするとそこまで思ってはいないのかもしれないし、その場を取り付くろう為に罵声や怒号を浴せたのかもしれないが、筆者個人としてはここまで読んで下さっている方々には留意して頂きたい事がある:

「五体満足で言葉も喋れるならば、自分と同じ認知・思慮・推察、および注意持続能力をもっていて 当然
という発想は かなり危険 である。

とは言え読者の方々の中には上述について割り切れない心情が沸く事もあるのは筆者も容易に想像できるし、
そういった感情と上手く付き合えない故に、物心着いた頃から常に孤立感を抱いている筆者の現状がある。

でなけりゃ、わざわざ自分でこんなクソ長い世迷い言を書き記し続ける動機や気力も、とっくに尽きているか満足しているのである。結果論だが。

ツイッターでシェア
みんなに共有、忘れないようにメモ

まんじゅ(´ん`)

CoderDojo Sapporo/Sapporo East の駄メンターです。 オープンソースソフトウェア・フリーソフトウェアの布教と、それらを使った創作活動の布教をしています。

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント