トップ › 開発日記

重力を本物の星に合わせたら、同じ1球が通用しなくなった

『惑星ストラックアウト』は、重力のちがう6つの星で、16m先の9枚のパネルをボールで抜くゲームです。重力と空気は本物の星に合わせてあります。作ってみると、本物に合わせたことでおもしろくなった所と、本物のままではゲームにならなかった所がありました。

投げ上げる角度は、いつも同じにした

ボールの飛び方は、重力と空気の抵抗だけで計算しています。投げ上げる角度はいつも同じにして、プレイヤーが決めるのは「強さ(速さ)」と「左右」だけにしました。こうすると、同じ星で同じ強さなら、いつも同じ所に飛びます。うまく当たらなかった時に、自分の力加減だけを直せばいい形です。

星ごとの「ちょうどいい速さ」

パネルのまん中に当たる速さを星ごとに計算すると、地球が時速約85km、月が約34km、火星が約51km、金星が約129km、木星が約136km、冥王星が約21kmになりました。この数字は画面には出していません。自分の指で見つけてもらうためです。

地球でまん中に当たる投げ方をほかの星でそのまま使うと、月ではまん中より2m以上も上を通りすぎ、木星では手前で雲の下へ落ちていきます。この「通用しなさ」を最初に見てもらうために、星に着くたびに、地球の投げ方のお手本を1球だけ見せるようにしました。

金星の空気は、本物のままだと止まってしまう

金星は、重力が地球とほぼ同じ(約0.9倍)なのに、空気の重さ(気圧)が地球の約90倍もあります。「重力は同じなのに届かない」という、だまされる星にしたかったのですが、空気の強さを本物どおりにすると、ボールは数mで止まってしまいました。そこで金星の空気の強さはゲームとして調整して、地球の12倍にしています。

木星も空気が濃い星ですが、このゲームで投げる台は雲の上に浮かんでいます。雲の上の高さでは、空気は地球より軽いので、空気の強さは地球と同じにしました。

はじく速さから、なぞる長さへ

最初は、画面を上へはじく速さで投げる形でした。ところが、パネル1段に当たる速さの幅はたった±4%ほどで、毎回同じ速さで指をはじくのは、作った自分でも難しすぎました。

そこで2つ変えました。1つは、投げ上げる角度を15°から8°に下げて、1段に当たる速さの幅を約±7%に広げたこと。もう1つは、上へなぞった「長さ」で強さが決まる形にして、なぞっている間ずっと時速を出すようにしたことです。数字を見ながら「さっきより3km弱く」と直せるようになりました。

公開前に見つけた、真っ白になる画面

作っている途中、Macで開くと画面が真っ白になる不具合がありました。原因は、指でなぞった跡を描くための透明な層でした。高精細の画面では、この層が描くたびに自分の大きさを2倍にしてしまい、数秒でブラウザが描けない大きさになっていました。iPhoneも高精細なので、そのまま出していたら同じことが起きていたはずです。

この記事のゲーム

ほかの日記

広告