2006年08月30日

いなわらチキンレース開催!

 VRM4でいわゆるチキンレースのゲームを作りました。

 3種類の車から好きな車を選んで計2回のチキンレースをし、合計得点を競います。

InawaraSS03.jpg

<跳躍するSUBARU360>

 車は全然知らないですけど、スバル360っていうのは丸っこくて可愛いですね。ちなみにゲーム中ではスバル360は選べません。

 レース中はZキーを押すと発車、もう一度Zキーを押すとブレーキがかかります。「止まれ」ラインより向こう側に止まれば得点になります。道が途切れるギリギリの位置で止まるともっと高得点です。
 オーバーランすると、道が途切れた先の稲ワラで埋め尽くされた場所にガサガサと音を立てて突っ込んでしまいます。早く止まりすぎてももちろん得点にはなりません。

 スペックの低いパソコンではセンサーの読み飛ばしが起こるかもしれません(ワラに突っ込んだのに得点になった、とか)。そういうときはレンダリング範囲を「標準」にしてください。それでも変なときは…、仕方ないんで諦めてください。

 0〜4号使用ですが、1号は見た目の装飾くらいにしか使っていないので無くても普通に遊べます。

 とりあえずダウンロードはコチラ

InawaraSS01.jpg

<車種選択画面(バスはポイント低いです)>

 最高得点はたぶん64000点だと思います。2・3回遊べば出るでしょう(笑

 本来このゲームレイアウトは、昨日のghostさんのお節介(笑)を試してみようと思って作りました。この方法を使って停車位置に応じて獲得点が変わるようにしています。
 つまり、ghostさんの記事中の「何か」に、今回は「場所に応じた得点獲得」が相当します。

 また以下はゲームを作っているうちに表面化した要素なんですが、なるべくキー操作を簡略化しています。つーかウンザリするじゃないですか、操作キーがやたら多いゲームって。
 自分は高校生まではゲームは全然やらない人間だったんですが、一人暮らしをはじめてからはときどきベクターとかでフリーゲームを落として遊んでみたりすることがあります。ゲームに慣れてる人はむしろキー操作が多くないと物足りないのでしょうけど、自分は説明読んでる段階で、操作キーがだいたい5つ以上あるとグンニャリしてしまいます。

 とゆーわけで、今回のゲームはほとんどZキーひとつで全部できます。あとは補助的にAキーで「トップ画面に戻る」、1〜3キーで「車種選択」がそれぞれ割り振られています。

 「操作キーの数を減らす」というテーマはCaldiaさんが連載の一環でこんな文章を書かれています。こちらはキーイベントの生死ではなく、場面に応じて変数の状態を設定し、if命令でそれを判断するというかたちをとっているようです。

 実は自分もKSMasterさんのところにコメントを書いたときは駅間停車で音が鳴らないように、場所検出用に専用の変数を用意し、駅手前のセンサーを踏んだら変数を1にセットして、次のセンサーを踏んだら0に戻してif命令に判断させる算段でした。
 ghostさんの提示された方法はシンプルなのに思いもよらなかったので、ぜひ試しに使ってみたかったのであります(もちろんif命令を使うほうがスマートなケースもたくさんあると思います。どちらが良いと言いたいわけではありません)。

 また例によって効果音をカスタマイズしているので、スピーカーをONにするなりヘッドホンを接続してみてください。車の走行音やクラクションなんかが鳴ります。
 2D再生にも対応している音源部品のおかげで、編成の警笛に割り当てるよりずっとラクに効果音を入れることが出来ます。

InawaraSS02.jpg

<1970 FAIRLADY 240Zが発車するところ>

 というわけでダウンロードはコチラ


posted by 45-50s at 23:25| Comment(6) | TrackBack(0) | V4レイアウト | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
 これ。本当にVRMですか?w
Posted by KSMaster at 2006年08月31日 18:56
最高w
Posted by moko at 2006年08月31日 20:09
VRM史上もっとも「ゲーム性の高い」レイアウトなんじゃないかと自負してます(笑
みんなもっとこういうの作りません?
Posted by 45-50s at 2006年08月31日 23:44
こんにちは。
ここに書かせてもらうのは初ですね。
レイアウト拝見させてもらいました。
これこそVRMで作れる「ゲーム」だと思います。
「少ないキーでコマンドを実行する」
45-50s氏のスクリプトの才能に脱帽です。
私が作りたかったVRMのコマンドもまさにこのようなものです。
今後とも面白い物作り、頑張ってください。
スクリプトも適当に参考にさせてもらいます。(笑)

余談ですが私も「KillEvent」使用したけど上手くいかなかったので泣く泣くあの形に…。ww
Posted by Caldia at 2006年09月01日 00:17
こんにちは。
変なものばかり作ってますけど本当は王道派です、これからもよろしくです(笑

>私も「KillEvent」使用したけど上手くいかなかったので泣く泣くあの形に…。

このレイアウトは基本的に、場面ごとにキーに持たせる機能がはっきり独立しています。だからKillEventを使うほうがifより書きやすいと思いました。

でも複数のキーの機能割り当てをゴチャゴチャと制御したい場合、例えば「このキーは別の場面に移るときも機能引き継ぎたいけど、また別のキーは機能を切り替えたい。で、さらにまた別のキーは…」とか言うケースでは、よほどうまくやらないとKillEventでは収拾が付かなくなると思います。

そういうときは各場面ごとに変数を割り当てて、ifを使うほうがやりやすいでしょうね。
Posted by 45-50s at 2006年09月01日 22:03
レスどうもです。
あのコマンドはどっちかと言うと「コマンドがあの形式だからifを使った」ではなく「Killeventが使えなかったからあのコマンド形式になった」が正解です。(笑)
ちなみに今回書かれた「IDとKillEventの不思議な関係」で私が上手くいかなかった原因が判明しましたのでここに報告させて頂きます。
助かった〜。w
Posted by Caldia at 2006年09月01日 23:45
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。