simplearchitect.hatenablog.com
こちらのエントリに非常に共感したのと、こないだの講習会とも繋がるものがあったと感じたので記事にしました。
目次
引用したブログの内容
「定義」で理解するアメリカのエンジニアと「例」で理解する日本のエンジニア
結論から言うと、基礎をしっかり固めてから応用に行った方が地力が付くという事です。スマブラの話に行きたい人は次の項目へどうぞ。
どうコードを記述すれば上手くプログラムが動くか分からなくなった場合に、検索して解説してあるブログを見つけるのが日本人エンジニアの場合は多いが、アメリカのエンジニアは公式のコードの定義を参照するだけでそこからは自分で考えることが多いそうです。プログラミングをしたことがある人ならよく共感できると思います。僕が少しかじっているVBAで例を挙げると、先日スペースを置換するためにReplace関数の使い方を知りたいということがありました。上の話に当てはめると
下のブログには解決法は書いてありますが、Replace関数の定義は書かれていません。しかし、僕の求めていた回答を得ることは出来ます。Microsoftのページでは、ああいうプログラミングの英語っぽい日本語に慣れていないと少し理解するのに手間取ります。が、定義から理解することができます。(以下、基本を固め自分で思考して解決策を探る方法論をA、基本を理解せずに他力で進んでしまう方法論をBとします。)Bで一時的に解決するのは良いんですが、Aの内容が頭に入っていないと、結局記憶に残らず、プログラミングの力がついて来ないという経験がかなりありました、いちいち検索しないといけないんですよね。AだけからBを導き出す過程によりかなり力がつくとは思いますが、それには結構時間がかかるので、元記事でもあったように時間の余裕がないときは避けるべきです。Aに慣れたら速度が上がるでしょうけど。なので今回は急ぎたいという場合はB⇒Aでも良いです、Aを丸々抜かしてしまうのはかなりまずいですね。
解決法を探そうと試行錯誤する過程に意味があるのであって、正解を出すことに意味があるわけではないということです。算数とか数学の授業で言われた気がします。
A-自分で解決法を導き出すこと、を習慣にする
ブログのタイトル通り、「ググるのをやめる」という習慣にしてしまうことで、能力を向上させようというのが、定義と例の方法論と並んで大きなテーマになっています。習慣が人を作るとはよく言いますけど、実際その通りだと思います。
京大スマブラ会初心者講習会反省
講習会内容、基本的な操作等
しゃち(@orca_sheik)に依頼されて、みなさんの前で再びおしゃべりしてきました。前回はかなりマニアックなパワーポイントを用意して臨んだのですが、詳しすぎて初心者は全く内容についてこれていませんでしたね。
今回はその反省を生かして、スマブラ公式の「あそびかた」動画を見るところから始めて、基本的な操作の話、歩きやステップ・ダッシュなどの詳しい解説・各状態から出せる行動、強攻撃、投げ、空中で出来ること・急降下・横移動・ジャンプでの慣性、必殺技・反転、アイテム関連などをメインに話しました。しかし、悲しいかな、今回の参加者は中々レベルが高く、これらの内容は既にご存知の方が多かったみたいです、30人中Cステスマッシュの参加者が3人しかいなかったことから察するべきでした。一番最初のカービィがリミット状態のクラウドに追いつくためには走るしかないという話は結構ウケがよかったけど。
前回の反省です。
プラスアルファを用意していなかった
参加者のレベルを考えると、少しは話したんですが、確認と意識配分というところまで行ってしまったほうが良かったですね。意識配分で確認(=見てから行動)の精度が全く変わってくるということです。実例を出すと、上りと下りの空中攻撃の話で上りの空中攻撃はガードしたら反撃確定(ここまでは話しました)なんですが、どうやったら反撃を取る精度を上げることができるのかという話です。反撃を取る技(=リターン高めの技、当てたい技)を常に決めておくということと相手キャラによりますが、この%この距離ならこの技とあの技を振りたいだろうから、それらに意識を振っておけば、手痛い反撃を食らわせられるということですね。具体的なキャラで実演できるまで煮詰めておくべきでした!甘かった。ちょっと差し合いの話もしたんですが、具体的なキャラでないと深い話が出来なかったです。後は意識を振っていなくても、反撃を取ることができる後隙、フレームの話もするべきでしたね。
感想戦
将棋等で行われている対局後の反省会ですね。今回KUSCで実施し、形式としては対戦終了⇒リプレイ鑑賞で行いました。自分のプレイを俯瞰する機会はなかなか得られないのでとても有意義でした。
まとめと基本の話
一つ目の話とも関連しますが、前回講習会をしている時に、ガーキャン行動・ガード解除行動をみんなでやってみようという時間がありました。ガードしてからガノンの上Bをする参加者がいて、思わず僕は、「それは弱い」と言ってしまいました。後で別のプレイヤーに「自分で色々試すのが重要なんだからアレは余計だったんじゃないかな」と指摘されました。非常に納得し、反省しました。まさに自ら学ぶ貴重な機会を剥奪してしまったわけです。
なんとか一つ目の話に繋げたいんですが、スマブラの対戦で基本を言語化して反省することがそもそもかなりハードですよね。基本ということがプログラミングほど明確に定義されていないっていうのと、相手は感情のある人間で、1Fごとに状況は変わるので。難しいな~~って悩んでたんですけど、繋げるならば、対戦の中で試行錯誤、振り返りをする習慣をつけるということですね。感想戦でリプレイを見たように、頭の中で場面場面を再生できるくらいの習慣がつけばかなり良いです。刹那的なプレイングにならないようにしたいですね。