世界的なコンピューターRPGの元祖として、Wizardryシリーズと並んで有名なUltimaシリーズだが、初代Ultima ((及びその前身のAkalabeth)) はリチャード・ギャリオット氏 ((ペンネームとして「ロード・ブリティッシュ」)) がApple II向けに作られたコンピューターRPGだった。これらは、当初はBASICで書かれていた。
BASICといえば、おそらく多くの人はVisual Basic ((あるいはVBA、もしくはVisual Basic .NET)) を連想する人が多いかもしれないが、それよりも古い仕様のBASICで書かれたいたとのことである。
BASICは、もともと学術用によく用いられていたFORTRAN ((1977年版までの場合、1990年以降の仕様のものは通常「Fortran」と記述される)) を元に、プログラミングの学習用として作られた言語であり、そのインタプリター ((8ビットPCに搭載されていたインタプリターは、限定的ながらOSのような使い方もできた)) が8ビット時代のPC ((当時はもっぱら「マイクロコンピューター」あるいは「マイコン」と呼称されていた)) のほぼ全てにROMとして搭載されていた ((16ビット時代でも初期PCにはBASICインタプリターが搭載されていたものもある)) 。
当時は各プラットフォームごとにソフトウェアが不足していた時代であり、BASICも重要なツールであった。初代Ultimaもその時代にBASICで書かれていたというのである。
しかしながら、BASICをインタプリターで実行する場合、機械語を直接実行させる場合と比較して処理速度が遅いという問題があり、Ultima II以降ではアセンブリ言語で書き直されるようになった。当時は現在ほどPCの性能が高くなく、少しでもコードサイズを減らしたり、処理に要するサイクルを減らすなどの工夫が必要だったことがうかがえる。
今日では当時からPCの性能が格段に向上したため、アセンブリ言語を使わなければならない場面は(組み込みプログラミングやハードウェアのドライバーなど、特殊な状況を除けば)ほとんどないと考えられる。あまりマシンパワーを意識する必要は無くなったと言えるだろうか。
ウェブマスター。本ブログでITを中心にいろいろな情報や意見などを提供しています。主にスマートフォン向けアプリやウェブアプリの開発を携わっています。ご用の方はコメントかコンタクトフォームにて。