令和の今だからこそ⁠MSXでゲームを作ろう

MSX—⁠—1980年代に提唱され一世を風靡したホビーパソコンの共通規格。⁠昔はそんなものもあったなあ」と懐かしく思った方にこそ手にとっていただきたいのがMSX-BASICでゲームを作ろう 懐かしくて新しいMSXで大人になった今ならわかるです。

今や小学生までもが自作ゲームを作る時代です。お子さんやお孫さんがゲームやプログラミングに勤しんでいるのを見ながら、当時の記憶がうずくのを感じることはありませんか? 現代には、子どもでも扱える簡単なものからプロも使用する本格的なツールまで、多様なゲームプログラミングの入口があります。正直に言えば、これらはどれも「あの頃」のプログラミングよりもずっと容易に習得できるものです。

しかし、どうも自分向きではないと感じる方も多いのではないでしょうか。斬新な発想の新作ゲームに胸を躍らせ、雑誌に掲載されたプログラムリストを慎重に打ち込んで改造する、そんな日々が輝いていた80年代にもう一度戻れるなら……。最終的には他のツールにステップアップするにしても、MSXでなら学び直せる気がする……。本書はそんな希望を叶える1冊です。

本書は、まったくMSX世代ではない、プログラミングにある程度慣れた方にもおすすめです。誰もがプログラミングに取り組めるようになった一方で、なんでも作れてしまう現代の環境に、かえって自分が作りたいものを見失ってしまうこともあるでしょう。

それに比べてMSX-BASICによるプログラミングは非常にシンプルです。文字を表示する・消す・線を引いて塗りつぶす、当たり前すぎて忘れかけていたテクニックを積み重ねて、ほんのちょっとしたゲームが動いたとき、MSXがあなたのコリをほぐしてくれるはずです。

本稿では、書籍内で取り扱っているサンプルゲームを2つ紹介します。

スプライトを使用したシューティング

本書でも紹介しているシューティングは、Scratchなどを用いたプログラミング教育でも序盤に扱うことが多い定番のテーマです図1⁠。当時のホビーパソコンでは先進的だったスプライト機能を活用した作例となっています。

図1
図1

上下左右移動と発射ボタンを操作して、敵の攻撃を避けながら敵機の撃墜を目指します。メインループ内でのスプライトの表示と移動、操作の認識、スプライト同士の当たり判定など、シューティングゲームには他のジャンルのゲームにも活かせる基本技法が詰まっています。

発展的な課題として、この章ではMSX-BASICによる効果音作成にも触れています。基礎的な発音コマンドをうまく組み合わせることで、ゲームに臨場感を加えることができます。

コマンド式RPGのバトル画面

本書で最後に紹介しているのは、コマンド式RPGのバトル画面です図2⁠。MSXでも発売されていた有名RPGシリーズを意識した作例で、画面中央に迫力ある大きなドラゴンのグラフィックを配置しています。

図2
図2

このドラゴンは、MSX1の裏モードであるSCREEN 1.5(多色刷り)を使用して、文字の形と色を巧みに変更して表示させたものです。ハードウェアの制限があるからこそ工夫が光る、レトロゲームグラフィックの醍醐味を体験してみましょう。

ターン制バトルでは、敵の行動がランダムであることで戦略的な駆け引きが生じます。この作例ではMSX-BASICで乱数を扱う方法はもちろんのこと、市販のゲームタイトルにも通ずる乱数の弱点や特性にまで言及しています。


登場から40余年が経過した現在も、MSXは進化し続けています。クラウドファンディングによって実現した現行機「MSX0 Stack」のほか、長年のロマンである「MSX3」も開発中です。今だからこそ、MSXでゲームを作ってみませんか?

本書にはMSX公式謹製のエミュレーター「MSXPLAYer」が付属しているので、MSX本体を手元に残していなくてもPCさえあれば挑戦できます。当時は挫折してしまった方も、大人になった今なら理解できる。MSXでゲームプログラミングの世界に再び足を踏み入れてみましょう。