Virtual PCでメモリを「ガバッ」と確保して「Harpoon II」を動かす勝手に連載!「レトロ“PC”ゲームが好きじゃー」(2/4 ページ)

» 2005年11月11日 21時47分 公開
[長浜和也,ITmedia]

Virtual PCでメモリ領域をたっぷり確保する

 Harpoon IIを導入して起動する。Harpoon IIはDOSベースのゲームである。当時すでにWindows 3.1を導入していたので、PIFファイルにコンベンショナルメモリを600Kバイト以上確保する設定を記述してからMS-DOSモードで動かすことになる。そうして起動したHarpoon IIの画面は……

これは渋すぎる

 パッケージと同じように「黒い」のである。黒い「戦況図」には蛍光色でラインとテキストが表示され、その上を青と赤のNTDSシンボルが動き回る。色彩といえばツールバーの小さいアイコンのみ。当時のPCゲームの主流といえば「RPG」「アドベンチャー」「アクション」という華やかなグラフィックが必須のエンターテインメントタイトルであったが、そういったゲーマーには許しがたいほどの「暗い」画面なのだ(実際、当時の国内ゲーム雑誌では、複雑なゲームシステムと貧弱なグラフィックが酷評されていた)。

 ゲームシステムそのものは、初代Harpoonにいくつかの細かい追加機能が盛り込まれた「拡張バージョン」といえるもので、大規模な改造が施されているわけでない。しかし、ユーザーインタフェースに「革新的な」変更が加えられた。なんと、DOSベースのゲームなのに、ゲームプログラムの中に独自開発の「Windowシステム」を組み込んでしまったのだ。初代Harpoonの画面レイアウトは広域戦況図と戦術戦況図、情報表示欄が固定されていたが、Harpoon IIでは、表示画面のサイズや数をWindowsのようにゲーマーが自由に変更できるようになっていた。

 広域戦況図から特定の海域をマウスで矩形に選択して新たな戦況図としてWindowを作成でき、その表示サイズも変更できた。複数の部隊ごとに戦況図を表示させ、同時に状況を把握できるのはリアルタイムシステムのHarpoon IIにおいて操作環境を格段に向上させてくれたのである。

一介のゲームベンダーがビジネスソフトに負けないほどのクオリティを持つWindowシステムを独自に開発してゲームに実装させてしまった。何をかくそう、当時の私は「プログラマー」だったので、その開発労力を想像して思わず「絶句」するほどに、当時のGUI開発は手間のかかる作業だったのだ(独自システムだけに、開発ツールもないだろうし)

 しかし、その画期的なユーザーインタフェースの実装によって、Harpoon IIはPCのリソースを大食いするゲームとなってしまった。当時は、一部のパワーユーザーを除いて、16Mバイトから32Mバイト程度のメモリを組み込んでいるのが普通であったと思う。ゆえに、戦況図をどんどん開いていくと、たちまちメモリが消費され、ハングアップ!という状況が続出した。

 登場当初のバージョンに潜在していた膨大な「バグ」とともに、リソースを食い尽くして頻繁に止まってしまうHarpoon IIは「遅くて不安定で、とてもまともに動かないゲーム」と、多くのゲーマーから評価され、HDDの奥底にモスボールされることになる。

 その後、膨大なパッチによってバグは減っていき(しかし、これは後に述べるHarpoon 3でもなくなることはなかった)、PC環境も1Gバイトのメモリ容量が当たり前となってきた今では、Harpoon IIは大分安定し、かつ、高速で動くようになった。そういう意味で考えると「Harpoon IIは登場するのが10年早かった」と言える。

 しかし、ハードウェアがHarpoon IIに追いつき、バグもなんとか減らせたとき、今度はOS側でHarpoon IIを受け付けなかった。Windows Me登場以降、Harpoon IIを動作するのに必要なコンベンショナルメモリ領域を確保できなくなったためだ。この問題はVirtual PC 2004を導入することで解決できる。前回の記事でも紹介したように、ゲストOSにWindows 98/98 SEを組み込んでおけば、PIFファイルのプロパティ「MS-DOSモードも詳細設定」でコンベンショナルメモリが確保できる。

 そして、仮想マシンのシステムメモリ容量は「Virtual PCコンソール」の「設定」メニューで変更可能。ゲストOSでWindows 98系を導入すると、初期状態でシステムメモリが64Mバイト確保される。このままでもHarpoon IIは動作するが、大部隊が展開するシナリオや、高解像度に設定して戦況図を多数開きたいならば、メモリを多く確保したい。

 ただし、ゲストOSを起動するときに、Virtual PCは指定された容量をメインメモリに確保しようとする。ホストOSですでにメモリを消費していて必要とする容量を確保できない場合、ゲストOSは起動しない。そのときは、ホストOS上で動いているソフトを終了させる必要がある。

ゲストOSが動作する「仮想PC」に組み込まれるメモリの容量はVirtual PCコンソールの設定画面で指定できる

Copyright © ITmedia, Inc. All Rights Reserved.

最新トピックスPR

過去記事カレンダー