20歳最後の日にゲーム業界に飛び込んで以来、様々な時代の変動がありました。その中でいくつかの変動に、私は乗れずに業界から落ちこぼれそうになったタイミングがありました。今回はそんな時代の変動について、思い起こしたいと思います。
- ゲーム機の台頭と国産機の終焉
忘れもしない1984年2月1日に私はゲーム業界入りをしました。仕事はゲームを作る事です。ゲームを作るのは、当時は分業は珍しかったので、自分はパターンエディタを自作して、自分でキャラパターンを作成して、プログラムを作成して、ゲームとして動くまでをパソコンで作っていました。開発機もパソコンなら、ターゲットも同じパソコンです。例えば、PC-8801 対応のゲームを作る時は、PC-8801 で開発をしていました。
そんな中、家庭用ゲーム機が生まれました。メーカーから高額な開発機を購入して、それを元にゲームを作っていくのですが、私はなぜかそのラインからは外れました。理由は不明です。そのため、パソコンに特化した技術ばかり向上していく事になりました。なぜかゲーム機で開発したいとも思わず、そのままの環境で開発が続くのかとも思っていました。
それが、少なくとも私にとっては PlayStation(以下 PS と略す)の開発で状況が一変します。それまではアセンブラでプログラムを作っていました。それが PS では C言語というコンパイラに変わったのです。そして、これが一番大きかったのですが、直接ハードを叩けなくなりました。今までだと、ハードウェアの制御は全て自分で行っていたのですが、PS では提供されたライブラリを使ってハードを制御します。
正直、よく分からなかったので、当時のプログラマにハードに依存する部分は作ってもらっていました。こんな事をやってるうちに、MS-DOS の時代は終わり、パソコンと言えば PC-9801 シリーズだった時代も終りを迎えることになります。
- Windows ショック
MS-DOS でのプログラミングはアセンブラでした。また、当時はまだ PC-9801 でしたので、アセンブラで直接ハードを叩くことも多かったです。一部、例えば FDD コントローラなどはソフトウェア割り込みコール等でしたが、だいたいは直接叩くイメージでした。それが、OS が Windows に変わるや否や状況が一変します。
Windows プログラムの前提はイベントドリブンでした。操作されただの、ウィンドウが動いただの、数多くのイベントに対して必要に応じてプログラムで対応する、なんていうか受身の姿勢でプログラムを書くことになります。そして、開発言語も C++ が主流になっていきます。開発スタイルはオブジェクト指向にと、大きな変革期が一気になだれ込んできました。気分は黒船襲来です。
当時、開発ソフトは Microsoft Visual Studio 6 の C++ でした。Win32API を叩いて…と組むのですが、なんていうか新規作成とすると、いきなり雛形を提示されて放置です。正直、何をして良いのか分からず途方に暮れました。C++ も C とよく似てはいましたが、クラスというカプセルに覆われていて、なんでこうなっててどう動くのか全く理解できませんでした。半年ぐらいは「分からない」が続いたように思います。
そんな中、私にとっての救世主が現れます。それが Borland C++ Builder 4(以下 BCB4 と略す)です。とても直感的で今の C# の原型がここにありました。部品をウィンドウにペタペタ貼っ付けると、それでレイアウトが出来ていくのです。これが本当のオブジェクト指向なのかと。そして、そのオブジェクトにはプロパティが見える形で用意されていて、その値を変更すると動作も即座に変わるのです。
そして、BCB4 の最も優れていた点は、その部品をマウスでダブルクリックすると、最もよく使われるであろうイベントのメソッドを自動生成して、編集に移行してくれたことです。例えばボタンなら、クリックした時の動作を記述する準備をしてくれました。なるほど、これがイベントドリブンなのかと理解できました。そして、その過程でクラスの概念も学んでいけました。
BCB4 がなければ、私は現在のプログラミングについていけず挫折していたかもしれません。本当に助かりました。この Windows ショックが私には人生で最も大きな転換期となっています。この時、私は専門学校教師を仕事としていました。MFC(Microsoft Foundation Class)を学生に教えていましたが、何のことはない、私が学んだ事を翌日そのまま学生に伝えていたにすぎなかった事を、ここに暴露いたします ^^;
- C# とネット情報
いろいろあって千葉に引っ越して仕事をしていました。その中で、仕事の効率がとても悪い部分があり、それが意味のない忙しさを生んでいました。そこで MFC を使ってツールを作ろうかと思い、かなり久しぶりに Visual Studio を起動したところ、C# という新しい言語が追加されてるのを見つけます。試しに新規作成してみると、なんと最初の雛形が懐かしい BCB4 とそっくりで驚きました。あとから知ったのですが、どうも開発者のアンダース・ヘルスバーグ氏が、元々は BCB4 のメーカーであるボーランド社からの引き抜きで、なるほど血統は同じなのかと。
そこで折角だからと C# を覚えながらツールの制作を始めたのですが、いやはやこれが面白いように開発が進むんです。初めて BCB4 を触ったときのような、あの感覚が蘇りました。そして、数ヶ月で業務に使用できる複数名からのネットを介した情報共有システムが出来上がりました。最初は起動に数分かかるという、ちょっと実用には出来ない遅さだったのですが、圧縮差分でネットアクセスする事で、最終的には数秒で起動するまでに高速化出来ました。
この高速化のヒントは全てネットから拾っています。今までだと自分一人でうんうん悩んで、それでもダメなら隣の席とかの同僚に頼って等、とても時間のかかる解決策をしていたのですが、今はネットにどうしたいかを探すと簡単に答えが見つかります。おかげで技術書を読む機会もかなり減ってしまいました。解決策はネットにあるので、検索技術が次々向上していきます。ググり方が上手いと一発で答えが出ますから、本当にラクなのです。今はそのググり方すら、AI に任せてしまえる時代になったというか、簡単な雛形であれば、AI に作ってもらえたりします。
…AIが提示するコードって、どっから拾ってきたのよって思っちゃう私はダメなのでしょうか^^;
コメント