SE的デッキ構築術


【はじめに】
私はプログラマー(PG)として、社会人の第一歩を踏み出しました。その後、システム・エンジニア(SE)を経て、現在はセールス・エンジニア(技術営業)をしています。横文字の業界は憧れの存在になりがちですが、実は肉体労働者なのです。本番稼動の直前は、お客様の仕事場に泊まり込んで2日連続徹夜とか、広くて寒いマシンルームで震えながら除夜の鐘を聞いたのも、今では懐かしい思い出です。好きでなければ、絶対に続きませんでした。この春の転職活動中、面接で職歴を話す機会が多く、久しぶりに原点(=SE時代)を振り返ることが出来ました。そんな日の夜に、懐かしさとは違う妙な感覚に襲われましたものです。それは、最近味わった感覚...そうです!SE時代の経験が遊戯王のデッキ構築に活きていたのです。意表を突くコンセプトなのに破綻がなく、コンボ性を追求しているのに無駄がない(本当か?)豊富なイメージ力と研ぎ澄まされた感性は、まさにシステムの構築経験で培ったノウハウと感性そのものだったのです!(言い過ぎです!(笑)) さて、デッキ構築はともかく、システムの構築は生活が掛かっているだけにプロ意識が違います。いかに効率的に、精度を高くシステムを構築出来るかによって、利益が違ってくる。そのために細分化された標準手法が存在します。今回、遊戯王の世界にシステム構築手法を持ち込んでみたいと考えました。わかりやすく説明するように心掛けますが、未経験者には伝わりにくい感覚があるかもしれません。そんな時はご自身のイメージで解釈していただければ良いと思います。ネットの世界でシステム業界用語が流行ることを少し期待して、始めさせていただきます。

【SEとはどんな職業?】
一般的にシステム・エンジニア(SE)は経験とスキルによって、立場が細分化され、任される仕事の範囲が決まっています。基本的にクライアント(顧客)のニーズを聞き出して概要の設計図を作る人をシニアSEと呼び、それを受けて詳細の設計書(仕様書)に落としていく人がジュニアSE。仕様書を見ながら実際のプログラムを組む人がプログラマーです。最初の工程(上流工程)にたずさわる人ほど、スキルが高い熟練者と見られます。小さい仕事では一人のSEで全てをこなしますが、何ヶ月にも及ぶ、長期の仕事では役割が明確になります。遊戯王のデッキ構築と共通だと感じるのは、最初のフェーズほど経験、スキル+創造力が要求されること。つまり、最初のフェーズ=新コンセプト発掘 と考えれば、なんとなく納得出来ますね。いきなり斬新で強く、完成度の高いデッキは作れません。コンセプト→基本戦術→戦術(コンボ)→単体カード選定→ドローテスト→実戦テストを経て、徐々に完成に近づいていくのです。「俺はフェーズなんて分けないよ!」そうおっしゃるデッキ・マスターの方々は複数の上流工程が瞬時に頭に浮かぶので、自覚がないだけ...少なくともコンセプトを考え、デッキを作り、テストをするだけの工程は必ず経ているはずです。複数のSEが集まって、お互いの設計書、プログラムの品質と整合性をチェックする打ち合わせ=「品質精査会議」システム業界にもデッキ掲示板に当たるものが存在するのは面白いですね♪本当に両者は似てるなぁ...次章では、遊戯王に戻って「3分クッキング!」の極意を語りたいと思います。


【3分クッキング!】
上級者のデッキを作るスピードに、驚いたことはありませんか?私が初心者の頃、新コンセプトで行き詰まっていると、即座にサンプル・レシピを作ってくれた方がいました。(以後Aさん)なんと、わずか3分ですよ!思わず「このタイプを作った経験があるの?」と聞いてみたところ、「い〜や!初めてですよん♪」こんな軽い回答が返ってきました。この時の衝撃は今も脳裏に焼き付いています。今になって、ようやくその感覚がわかってきました。Aさんは、実は何も考えていなかったはずです。完成後のイメージを浮かべて(想像力)、必要そうなカード、相性の良さようなカードをだぁ〜と並べてバランスを取り(模擬実験)、不要な順に捨て(修正)40枚に収めて完了!つまり、Aさんは考えるより先に全体を見通す感性をお持ちだったのです。鋭い感性はデッキ鑑賞により更に磨かれていきます。SE用語で言い換えると、イマジネーション(想像力)+シミュレーション(模擬能力)+デバッグ(修正能力)の「3大能力」をバランス良く、習得する必要があると言うことです。だいぶ昔になりますが、上司に「SEとして成長するためには、どんな心構えが必要ですか?」と聞いた回答が印象的でした。「常に問題意識を持ちながら、ひたすら経験を積むこと」でした。デッキ構築の際は、必ずテーマ(問題1)を決めること!投稿&診断&実戦の際には、デッキの性能と弱点(問題2)を意識すると良いですね。夢の「3分クッキング」には多くの経験が必要です。焦らずに、の〜んびりと頑張りましょう!

【自由な発想】
イマジネーション(想像力)を磨くには、常識にとらわれない自由な発想が必要です。もしも、あなたが新コンセプトの始祖を目指すなら、斬新で、多くの人々に感銘を与えるだけの力が求められると思います。一人で考えているとと、視野が狭くなりがちです。「このカードは絶対抜けない...」こんなこだわりもあるでしょう。そんな時、自分の中に他人の眼を持ってみてはいかがでしょうか?コンセプトを尖らせる「暴走型人格」。趣味のカード、コンボにこだわる「萌え系人格」。バランスを考えて調整する「癒し系人格」...3つあると良さげです。これらの異質な感性を自在に扱えると、コンセプトの奥行き、幅が違ってくると思います。最後のフェーズまでには、必ず調整できる時間があるので、最初にコンセプトを考える時は「テキト〜」から入るのがコツです。これは実に奥が深い。馬鹿にしてはいけません!個人の主観が入り込まない自由な状態で、武道用語で言う「自然体」。こんな状態で、コンセプトを極限まで尖らせる。趣味を徹底する。そして、調和を図る。こんなダイナミックな感覚が、新コンセプトを生む原動力となります。SEと聞くと理数系職業を想像される方が多いようですが、芸術的センスを問われる世界!何故かと言うと、全く異質な「お客様の要望」と「コンピュータの世界」を結びつける感性が必要になるからです。信頼性とコストのバランス、効率性と使いやすさのバランス、様々な矛盾する多重人格を調整していくためには、それから超越した、自由な境地にいることが求められるのですね♪この章は、ちょっとわかりにくかったかな?

【模擬実験】
シミュレーションを日本語に訳すと、「模擬実験」...なんかイメージが違いますね。システム構築はシミュレーションの積み重ねで出来ていると言って良いほどです。面白いと思うのは1.基本設計→2.詳細設計→3.仕様書→4.プログラミング→5.単体テスト→6.結合テスト→7.システムテストの各フェーズで4を中心に3と5、2と6、1と7が対応することです。つまり、単体テストでは仕様書の内容を、システムテストでは基本設計の内容をシミュレーションすると言うことです。そして、テストの内容は対応する設計フェーズで事前に考えておくのです。(激難) わかりやすく遊戯王で話すと、1.コンセプト決定→2.カード選定→3.デッキ構築→4.ドローテスト→5.実戦テストと分けた時に、ドローテストではカード毎に機能しているか、引きはどうか、除去はどうか等を大雑把にバランスを見る。実戦でコンセプトで考えたコンボ、戦略が正しく機能するか試すという感じ。テスト(模擬実験)では、漠然とプレイするのではなく、事前に試したいポイントを決めておくと良いと思います。シミュレーションの時にも他人の眼が入ると効果的です。システム構築でも、見逃しを防ぐために必ず複数のSEがチェックします。もし、他人の眼で見るのが難しいと思ったら、デッキBBSに投稿!様々な感性を持つ方々に模擬実験をしてもらいましょう!これこそ、正真正銘の「他人の眼」ですね♪

【害虫駆除
SE3大能力の最後は「デバッグ」です。英語では「デ」=駆除、「バグ」=害虫のこと。つまり、設計書、プログラムのミス、誤りを探し出して修正することを言います。どんなシステムでも、必ずバグは潜んでいます。いかに多くの害虫を駆除出来るかにより、完成度が違ってきます。デッキ構築においても、最初のデッキ投稿から完成度の高い方はデバッグ能力が秀でていると思います。斬新なコンセプトであるほど、詰めが甘いのはもったいないです。ところで、経験豊富なSEはどのようにバグを見つけているのでしょうか?当然、シミュレーションを重ねてロジック(処理のかたまり)を順に追っていくのが普通ですが、中には全体を眺めただけで、直感的に誤りを見つけてしまう方々がいます。「なんとなく、ここが浮いているような気がする」こんな感覚!この方々の設計書、プログラムはシンプルで無駄がなく、美しく感じられますよ。遊戯王のデッキでも、単体では強いけどなんとなく働いていないカードってありますよね!逆にどんなにマイナーなカードでも、特定のデッキでは生き生きと活躍出来ることもあるのです。そもそも、20〜30枚も必須カードが存在する遊戯王のデッキには、空いているスペースは僅かです。この中に全ての要素を閉じ込めるのは無理があります。だからこそ、無駄を省いて全てのカードがダイヤモンドのように強固にリンクされ、研ぎ澄まされたデッキを目指しましょう!でも...他のデッキで活躍している心変、強奪、ハリケ、埋葬クラスのカードに対してバグと言うのは、あまりにも可哀想ですね...この言葉はきっと流行らないなぁ(w

【おわりに】
今回、遊戯王の世界にSE的な手法を取り入れるという、無謀な試みに挑戦してみました。予想通り、多くを語るのは難しかったですねぇ...言いたい事の半分も伝わっていないような...(汗 無理にスペースに押し込めようとすると、抽象的になってしまいます。そこで、具体的な内容をご紹介するために、「SE的」をシリーズ化することに決めました。連載はだいぶ先になりそうなので、興味を持っていただけた方はのんび〜りと待っていてくださいね。最後に、今回のキーワードを簡単にまとめておきておきましょう。1.フェーズ(工程) 2.他人の眼 3.イマジネーション(想像力) 4.シミュレーション(模擬実験)5.デバッグ(修正) 今後も、繰り返し出て来ると思います。ぜひ、言葉だけでも覚えていてください。私がSE時代に感じたのは、出来る人ほど、多くを語らずに行動で示すということです。評論家(口だけ)になってはいけませんね。こんな人の意見は薄っぺらくて重みがない。重要なのは経験の積み重ねです。失敗しても得るものはあるので、色々なことに挑戦してみてくださいね♪時々「SE的」な発想をすると、思わぬ発見があるかもしれませんよ〜 それでは!また〜