Time Trial On Edge - 3Dレーシング

# はじめに

## 今回の話

G14-Jerrydog Games 第 3 弾は、3D カー・レーシングです。

## これまでの話

#### G14-Jerrydog Games 第 1 弾 - G-14 Great Fighter Jerrydog

https://scratch.mit.edu/projects/1042567369/

ところで、Jerrydog の参照数が 500 になりましたが、そこから伸び悩んでますね。:star: とか :heart: とかは増えてないので、コアに楽しんでくださってる方々が何度も遊んでくれているようです。ぜひ楽しんでみて、まだの方は :heart: よろしくお願いします。

#### G14-Jerrydog Games 第 2 弾 - The Space Mission R

https://scratch.mit.edu/projects/1048245238/

あと、The Space Mission R は以下のようなコメントが海外の方から来ており、何気に浮かれています。こちらもよろしくです。

> This is incredible. One of the best SHMUPS ever. Definately underrated
>> これは信じられない。最高の SHMUPS [^1] のうちのひとつだ。間違いなく過小評価されている。

[^1]: 海外ではスクロールシューティングのことを SHMUP っていうんですね。私は初めて知りました。

> AMAZING GAME! I don’t know why you are so underated
>> 素晴らしいゲームだ！なぜこんなに過小評価されているのかわからない。

> Gameplay:8/10 Graphics:9/10 Sounds:10/10 Bullet hell: No/10 Overall:9/10

Sounds の評価が高いのが非常に嬉しい。

# 本題

## Outrun 作りたかったが

さて、**セガ大好きな私**。実は Outrun に挑戦したかったのです。しかしそこには至らず。で、何ができたかというと、コースのラップタイムを競う 3D レーシングゲームです。いつものように、音楽に力入ってます。

が、そのうち Outrun やります。

> **追記：** OutRun やったよ！ [→ここ参照](https://qiita.com/Kray-G/items/2184362a8b85e06b7f8e)

## Time Trial On Edge

ということで、タイトルは「Time Trial On Edge」です。実は元々 Outrun をイメージしていたのでフェラーリ F40 の絵とか描いたんですけど、ここでは使ってません。F1 カーっぽいデザインの車です。

https://scratch.mit.edu/projects/1064102936/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579271/d7055a6c-9c2d-d9e7-ccef-53c1f9fef016.png)

緑の旗を押すと、サムネからシームレスにつながってスタートです。

# ゲーム紹介

では、ゲームを紹介しましょう。

## 内容紹介

### ストーリー

ストーリー考えてませんでした（汗）。まぁ、タイムを競うだけのゲームなので細かい設定は不要でしょう。

### オープニング～オプション選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579271/b49a0a47-f854-3e93-6ac8-153a806d21fb.png)

サムネからシームレスにつながって各種選択画面です。ここで選んだマシンとコースを走ります。難易度も選択できますが、なかなかバランス調整が難しく、、、コースによっては勝てなかったり、コースによっては Super Hard でも楽勝だったりとまちまちです。まぁ、コンピュータは気にせず自分のラップタイムと競ってください。

### レース・スタート

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579271/28c08541-356c-398c-7ed3-d49fcd9a6210.png)

スタートシグナルのライト点灯が始まり、ライト消灯と同時に最後のポーンの音が鳴るとレース・スタートです。サイトの方には細かく説明を書いてませんが（そのうち書くかもしれませんが）、アクセルを空ぶかししておくとスタートと同時に煙を巻き上げてロケットスタートできます。

ペンで描画すると潰れてしまっているのですが、背面には Scratch Mania と書かれています。

### コーナーリング

コーナーリングでは速度を上げた状態でハンドルを切ると土煙を上げてキキーとブレーキ音も鳴らしながら曲がっていきます。これも Outrun をイメージ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579271/d95f41ac-3e0d-09f8-245a-2401fe2e03c8.png)

### 結果表示

選択した数周回すると、軽快なロックンロールのリズムに合わせてラップタイムの表彰になります。自分がゴールした後、数秒待ってから始まるのですが、その間にゴールできなかったコンピュータたちは忘れ去られます。

一番下に出ているのが、今回走った中でのベストラップです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579271/695dbe80-cc9c-fad0-3a7a-b44d4b7ce6b6.png)

> コンピュータの実力はイマイチなので、トータルのラップタイムは参考までに自分のベストラップを更新しましょう。

負けた場合は、Nice Challenge! です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579271/3ad09887-c2ad-e390-6a87-2daab1ed7951.png)

> たまに異常に速いやつが... コース A で BEST LAP 15.78 出した（割と過去最高レベル）にも関わらず、あとちょっとで勝てなかった件。むむむ。

スペースキーを押すと、最初のマシン選択画面に戻るので、またマシンとコースを選んでスタートです。

# 中の説明

## 曲紹介

で、いつものように曲紹介いきましょう。つか、毎回使おうか、って言ってた Introduction、使ってません。雰囲気に合わず入れられなかったよ。ちっちゃなことは気にしない。

### Party Time (Select Conditions)

* 実は Scratch で曲作ろうと思って一番最初に作った曲。Jerrydog の時にはもうできてた（Scratch スクリプト演奏版）。
* で、曲を聞いた時の直感が「レースゲームでのマシンセレクト画面だな」というものだったので、この時まで温存してたのでした。
* そうしているうちに、例の MuseScore 書き直しがありまして、スクリプト演奏版は日の目を見ないことになりました。
* サウンド的には 100 倍カッコ良くなったので良しです。

### Course Selected ~ Start Signal

* こういう極端に短いのはゲーム特有ですね。
* 似たようなものをいくつも作って、そっから選びました。他のもどこかで使うかも。
* Start Signal は時報と一緒。
* 「ポーン」と同時にスタートできるように分解して使ってます。この「ポーン」に重なる感じで Course BGM が始まるのも、結構いい感じだと思うんだ。

### Wild Street (Course A)

* ギター・リフをメインで使う曲がいいな、と思って作ってみた。
* 実は、出だし [Big Guns (Skid Row)](https://www.youtube.com/watch?v=Bh5MzIQrkBo) をイメージしたリフだったんですが、出来上がってみたら全然違う感じに。あんなにギターもギュィギュィできないしね。
* その代わり、シンセが割といい感じに絡まってきたかなぁ、と。

### Fighter (Course B)

* この曲は MuseScore で最初に書いた曲。ピアノをフィーチャーしてみたり、ビブラフォンとか使ってみたり。
* 元々はこのゲームに使う予定ではなかったんですが、なんとなく雰囲気に合っていたので使うことにしました。
* なので実は曲名に若干違和感あるんですが、変えればよかったかな。戦う人。

### Burning Your Heart (Course C)

* 軽快に走るイメージの明るい曲を入れたかったので作りました。
* というか、元々作りたかった Outrun ライクなゲームをイメージして書いたので、それっぽい雰囲気。
* シンセがメインメロディなのですが、後半ピアノメインです。ソロも。
* ただ、他と比べてちょっと長めなので、コース C 選択したときは 10 周以上を選択しないと最後まで聞けない可能性大。

### Happy On The Beach (Result)

* これも Outrun 系ゲームのエンディングをイメージして作った。
* 曲名もそれを意識してる。Outrun なのでビーチサイド走らせる気満々だった...。
* なので、今回一向にビーチが出てこないのにこの曲名。これこそ変えれば良かったか。
* 次回使いまわすかも。

# プログラムについて

細かい説明はライブラリ＆ Tips に任せることにしました。以下のものを流用 or カスタマイズして使ってます。まだ記事書いてないものもありますが、そのうち記事書きます。

* **ライブラリ**
  * 疑似 3D スクロール
  * スコア表示
  * BGM フレームワーク
  * 水平カルーセル・セレクタ
* **Tips**
  * 画面範囲外への描画
  * Z軸並べ替え

---

### 主要リンク

* [Scratch ライブラリと Scratch Tips](https://qiita.com/Kray-G/items/e1900d5b6c6dcfbe5321)

---

よろしくお願いします。