ITmedia NEWS > STUDIO >

HyperCardの思い出 ゲームスタック作家だったあの頃(2/3 ページ)

» 2021年03月19日 08時44分 公開
[小寺信良ITmedia]

ゲームを作り始める

 みんなが楽しめるもの、と考えた時に、会社の社員旅行のバスの中でUNOをやって盛り上がったことを思い出した。なんか疲れてるのか妙にテンションが上がっていて、よく考えると大したことないのに大爆笑みたいな、そういう雰囲気をゲームとして再現できないか。

 方向性としてはUNOと同じルールのカードゲームを作るということに定まったが、あとは実力との相談だ。いくつか本を買ってHyperTalkの勉強をしてみたものの、それほど高度なところまでは分からず、複雑なものになるとよく途中で動かなくなったりした。デバッガーがそれほど強力なものではなく、エラーを起こしている箇所は分かるが、それをどう解決すればいいのかが分からない。そういうレベルからスタートした。

 とにかく、カードの種類として4種あり、同じマークのカードなら出せるというのを作るところからスタートした。手札を本当にカード型のグラフィックスにすると重くて動かなかったので、テキストフィールド内に文字列を流し込み、その文字列をクリックすると文字の内容を吸い上げ、正誤判定する。それを作るまで、2週間ぐらいかかった。

 長いプログラムを作ると、どこまでちゃんと動いたのかが分からなかったので、あちこちに隠しボタンを作ってその中にコマンドを書き込んでおき、それらのボタンを渡り歩きながら1つの工程をこなす、というやり方で進めていった。それなら、どこで変なことになるのかが分かるし、手直しもしやすい。オブジェクト指向プログラミングだったから、そういうことができたのだ。

 うまくいったコマンドの流れは1つにまとめていく。条件分岐で判定が分かれていくものは、いきなりプログラムで書いていくとわけが分からなくなるので、アイデアプロセッサを使ってツリー構造にしていった。

 そうやってコツコツと作っていって、ようやく人前に出せるぐらいのものになるまで、半年以上かかった。そうして筆者が「スタック作家」の仲間入りを果たしたのが、「うにょ!」というゲームスタックであった。

photo うにょ!

「うにょ!2」誕生

 実際のところ、最初のバージョンである「うにょ!」は短命であった。スタックに収録していた音楽は、購入したHyperTalkの教材の中に入っていたものを流用したものだったのだが、著作権的に別の作品に使用できるのか不明だったので、いったん取り下げることにしたのだ。

 次のバージョンでは、音楽や効果音など、全て自作ものものに差し替えていった。もともと音楽制作用に買ったMacだったので、音楽や効果音を作る環境はあったのだ。

 その間、他の権利関係もこの際クリアにしようと動いてみた。まずUNOというゲーム自体はタカラトミーの登録商標だったのだが、類似のゲームをプログラムで作るのはOKなのか。当時はインターネットなどないので、一個人がメーカーに問い合わせることもままならない時代である。そこでNIFTY-Serveのフォーラムリーダーである、システムオペレーターの方にお骨折りいただいて、タカラトミーに問い合わせしてもらった。

 すると「UNO」という名前とデザインは商標ではあるが、ルール自体は古くからあるトランプゲームなので、すでに権利関係は消滅しているという。「うにょ!」の場合は名前も違うしデザインも違うので、問題ないという回答をいただいた。

 音を全部オリジナルのものに差し替える過程で、絵の方も何か面白いアニメーションが入れられないものか。そこで当時NHKの番組を一緒にやっていたグラフィックデザイナーの田中秀幸さんにお願いして、サクッと絵を描いてもらった。

 それが「うにょ!2」の看板グラフィックにもなった、勝利のオヤジである。舞い散る紙吹雪は、筆者が後から書き加えたものだ。田中秀幸さんはその後、「ウゴウゴルーガ」のグラフィックスで大ブレイクすることになる。

photo 既にウゴウゴルーガっぽい

 こうして手直しすること2カ月あまり、改めて「うにょ!2」をアップロードした。

 最初の「うにょ!」も、スタックで動くゲームとしてはかなり本格的なものだったので、そこそこ人気があったのだが、「うにょ!2」の人気はそれを上回るものとなった。非常に中毒性の高いゲームとなったので、まさに寝る間を惜しんでプレイする人たちがあふれた。我慢できなくなるので、制限機能を入れられないかというリクエストがあり、リミット機能を追加したりしていった。これはプレイ回数を入力すると、その時点で終了するというものだ。

 もっとも、再度立ち上げてリミットを外せば無限にプレイできてしまうので、意味があったのかはよく分からないのだが。

 その一方で、プログラムとしてかなり複雑なものになったので、動作スピードが遅いという欠点があった。特に遅いマシンを使っている方の不満は大きかった。

 HypereCardの専門会議室内で、どうやったら動作速度が上がるか、上級者に質問したりしていたのだが、スピードのボトルネックになっている「出したカードの正誤判定部分」だけC言語で書いてしまったらどうか、という話になった。HyperCardは、一定の動作をXFCNという形式でコンパイルすると、プラグインのような形で使用できるのだ。

 このルーティンは筆者には書けないので困ってしまったのだが、当日会議室の議長だった田中求之さんが手を挙げてくれた。このXFCNの効果は絶大で、うにょ!2のテンポの良さは、これを組み込んだVer2.0からである。

Copyright © ITmedia, Inc. All Rights Reserved.