ゲームの設定
小学生のころからゲームが好きで、低学年のころはDSで遊んでいました。その後、PSPやWiiU、さらにはPCといった様々なゲーム機を経て、ゲームを楽しんできました。当初はゲームを購入したらそのまま遊ぶだけでしたが、いつしかタイトル画面の次に必ず設定を開くようになりました。
「いつもの自分」へのこだわり
私が設定を開く理由の一つに、「同ジャンルのゲームでも操作が異なる場合がある」という点にあります。例えば、FPSのような対戦ゲームではこの傾向が顕著です。あるゲームではFキーで扉を開けるのに対し、別のゲームではEキーがその役割を担うことがあります。また、SHIFTキーで走る動作が割り当てられている場合もあれば、歩く動作に設定されている場合もあります。
このようにゲームごとに異なる操作を覚えつつ、対人戦で勝利するには高度な対応力が求められます。そのため、私はまず設定を確認し、操作の最適化を行なうことが習慣となったのです。
さらなる設定
FPSでは通常、スペースキーでジャンプをするのが一般的です。しかしながら、ジャンプがほとんど必要とされないゲーム(例:R6S)もあります。そのため、私はこのゲームでSHIFTキーを歩行、スペースキーを走行に割り当てる設定にしていました。歩行は足音を消すために重要である一方、迅速に前線に駆けつけるために走行も欠かせなかったからです。また、通常はEキーとQキーでリーン(視点を傾ける動作)を行うところを、CキーとVキーに割り当てるといった変更も行っていました。このような操作の効率化によって、他のプレイヤーに対して優位に立つことができたと考えています。
さらに、League of Legendsというゲームでは、独自のキー設定を行いました。このゲームにはチーム内でのコミュニケーションをするための、ピンと呼ばれる画面上に警告を出す機能があります。そこで私は、1キーを危険ピンに、AキーをMIAピン(敵が見えなくなった際に使用するピン)に設定するなどのキー配置を採用しました。これらのピンはデフォルト設定ではすぐに呼び出せる設定になっていません。そのため、この設定をしたことでチームメンバーと迅速なコミュニケーションが取れるようになりました。
このように、私はゲームの操作設定に非常に強いこだわりを持っています。これにより、標準的な設定よりも効率的な操作が可能となり、ゲームの成績向上に大きく寄与したと感じています。
開発活動での設定
現在行なっている個人開発でも、ゲーム同様に設定へのこだわりがあります。例として、私が普段使っているVSCodeでは、設定ファイルを細かく調整しています。ただし、settings.json
が190行ある一方で、keybindings.json
は、たったの13行しかありません。さらに、keybindings.json
に記載されている内容も、拡張機能同士で競合しているキーマッピングを削除する設定に限られています。
ゲームでは操作設定にこだわってきた私ですが、テキストエディターの操作設定にはほとんどこだわりがありません。その一方で、操作面で不便を感じることが多々あり、操作を変えようと考えたこともあります。例えば、出来る限りマウスを触らずにプログラミングをしたいと考えていますが、操作を覚えられなかったり、マウス操作の方が楽だったりして、よくマウスに手を運んでいます。これは、ゲームと異なり、テキストエディタの使用歴が短かいため、多様な操作方法を十分に知らないず、どのような設定にするのが最適なのか判断できないからだと思います。この課題克服するために、キーボードのホームポジションから手を動かさずに編集が出来ると噂のVim
を学び始めたものの、その難易度の高さに挫折してしまいました。また、現在はポートフォリオの作成に集中しているため、他のテキストエディタを試す余裕がなく、寄り道によって転職までの期間が延びることを懸念しています。
こういった状況の中、最適な操作設定が分からないまま、開発を続けているのが現状です。
今後について
ポートフォリオ作成が一段落したタイミング、つまりはアプリケーションを公開したタイミングで、再度Vim
の学習に挑戦したいと考えています。プログラミング言語においては、Haskell
, Scala
のような関数型言語や、Rust
のようなガベージコレクタを持たない言語を学ぶことで、他の言語の習熟に役立つと聞いたことがあります。同じように、さまざまなテキストエディタを経験することで、「操作設定の最適化≒開発効率の上昇」を目標にしたいと思っています。