- 作品名:
- 「Digitalian War!! 雪合戦」
- 作者名:
- はりまお
- 製作開始日:
- 2001年06月09日
- 制作完了日:
- 2002年06月19日
- 制作環境:
- Windows98 + celeron 466MHz + 64MB
- Visual Basic 6.0 Learning Edition SP5
雪合戦が、ゲームになると気付いたのはMSX時代の1995年頃。それから何年も暖めていた企画だけに、かなりの完成度となっていたようだ。
それまでのベーマガ紙上で、自分または他の投稿者方の作品で指摘されていた点について、自分なりの回答をこの作品に盛り込んだ事が“今月のベストプログラマ”受賞に繋がったのだと思う。
特に、「作者ならではのアイデア」,「コンピュータとの対戦モード」を盛り込めた事が、好印象を与えた最大の要因となっているのは確かだ。
太陽から微妙に遠く離れた小さな惑星。一日中一年中薄暗く雪が解ける事は無い。そんな極寒の地にも心を暑く燃やす暑苦しい戦士たちがいた。
実行すると、タイトルが表示されます。そこで対戦相手を←→キーで選択しスペースキーで開始します。対戦相手には、人間かコンピュータ(レベルは5段階)が選択可能です。ゲーム中の操作は、第1表を見て下さい。
ルールは、いたって簡単。試合時間は、1試合3日間で3点先取した方が優勝。画面上の日時計が1周したら1日となります。相手の領土を占領すれば2点、土俵から落とせば1点獲得できます。土俵の所にある青と赤の帯が現在の領土を示しています。最初は同じ広さで、相手の領土へ進入する事で領土を広げられます。時間切れの場合は、領土の広い方が勝ちです。
雪球は、Bボタン4打で1球でき、最大3球まで持てます。雪球ができたらAボタンで相手に投げ付け、相手に投げ付けてぶっ飛ばしてやりましょう。1人当たり1度に3球まで投げられます。
舞台となる惑星は、とても寒い所なのでどうしてもトイレに行きたくなります。“トイレゲージ”がいっぱいになると我慢の限界に来ています。この状態では、移動以外何も出来ません。上ボタンを押しながらBボタン連打で、早急にスッキリしちゃって下さい。ただし、大変無防備になるので気を付けましょう。因みに、トイレゲージの増える速さは、色々な状況によって変化しています。
プレイヤの上のパネルには、“プレイヤ名”,“勝利数”,“雪球製作過程”,“雪球所持数”,“トイレゲージ”が、表示されます。
レジストリーの変更や新たなファイルの作成などは行っておりません。不要になった場合は、解凍した全てのファイルを削除してください。
コード中の文字列内の空白には、半角や全角が混ざっています。一応全角の所には注釈を入れておきましたが、注意して下さい。変数解説は、注釈として書いておきました。
WAVEファイルの"yuki-g_hit.wav"は雪球が当たった音「ズシャ」で、"yuki-g_fall.wav"は土俵から落ちた音「ドカッ」です。
今回は、色々と面白い事をやってみました。"msxstick","msxstrig","msxcopy"プロシージャが、それです。そう、MSX-BASICのとっても便利でご機嫌なコマンドをVBで再現してみました。使い方は、基本的にMSX-BASICの仕様に沿っています。
"msxstick","msxstrig"で使うキーは、"msxstick_strig_prepare"プロシージャで割り当てます。変更したい時は、"KeyDown"イベントの引数"KeyCode"で得られる数値を代入すればOkです。
あっそうそう、"msxcopy"は、画像をコピーするためではなく拡大とパターンの敷き詰めが役目の機能限定版です。
celeron466MHzで創ったので、もし速度に問題がある場合は、"game_main"の後ろの方にある"wait st, 50"の50を変更してみると何とかなるかも知れません。
起動時に画像を16倍に拡大するので、時間が掛かります。
雪球が、当たっても無敵状態になったりしません。相手を吹っ飛ばして起き上がる直前にまた投げるを繰り返せば土俵から落とす事が可能です。これではあまりに理不尽。しかし、雪球を持っていたら吹っ飛ばされてもAボタンを押していれば起き上がった瞬間に雪球を投げるので吹っ飛び地獄から抜け出せる可能性も残されています。雪球の保有数や位置関係も駆け引きに加わるって訳ですね。
この作品は、MSX・FAN投稿者で大好きやったYOSHIXさんの『みんしゅーか』に魅せられて、「自分もこんなん創りたい!!」って試行錯誤しながら創ったんやわ。
対戦アクションを創るんは、これが初体験。勿論、CPUの思考ルーチンも初めてやから、最初どうやって良いのか全然分からんかったもんなぁ。まぁ、複雑な事は、な〜んもやってへんから(雪球を避ける事すらやってない!)結構オバカちゃんやけど、暇つぶしの相手ぐらいは出来ると思うんやわ。あんまりにも弱過ぎるって人は、もっと賢く教育してやってね。
WAVEファイルは、MSXで音を作って、その音声出力をWindowsマシンにライン入力して標準のサウンド レコーダーで録音するという面倒臭いことをやってみた。これ以外に音を作る方法がわかんないんだからしょうがない。ちなみに、MSXでの音の作成には、MSX・FAN 1993年2月情報号に掲載の「SIDE ROLE<爆音エディター>」を使用させていただきました。
名称 | 使用するキー | 用途 | ||
---|---|---|---|---|
Player1 | Player2 | |||
上ボタン | Dキー | ;キー | 押したままBボタン連打で用を足す。 | |
右ボタン | Cキー | /キー(?) | 右へ移動する。 | |
左ボタン | Xキー | .キー | 左へ移動する。 | |
Aボタン | Aキー | ]キー(Enterキー左下) | 雪球を投げる。 | |
Bボタン | Zキー | \キー(_) | 連打で雪球作成又は用を足す。 | |
Spaceキー | ポーズ。 | Spaceキーで再開。 | ||
ESCキーで中断。タイトルへ戻る。 |
配列イメージ |
---|
┌─┐ ┌─┐ ┌─┐ ┌─┐ │A│ │D│ │;│ │]│ └┬┴┬┴┬┴┐ ┌┴┬┴┬┴┬┘ │Z│X│C│ │.│/│\│ └─┴─┴─┘ └─┴─┴─┘ |
┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ │00│01│02│03│04│05│06│07│08│09│20│ │23│24│ ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤ │10│11│12│13│14│15│16│17│18│19│21│22│25│26│ └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘ 2種類の絵でアニメーションさせる。22番以外8x8ドット。 |
|
番号 | 内容 |
---|---|
00, 01 | プレイヤ1の移動 |
02, 03 | プレイヤ1の雪球作成 |
04, 05 | プレイヤ1の投げアクション |
06, 07 | プレイヤ1のぶっ飛び |
08, 09 | プレイヤ1のトイレタイム |
10, 11 | プレイヤ2の移動 |
12, 13 | プレイヤ2の雪球作成 |
14, 15 | プレイヤ2の投げアクション |
16, 17 | プレイヤ2のぶっ飛び |
18, 19 | プレイヤ2のトイレタイム |
20 | プレイヤ1側の雪球破裂 |
21 | プレイヤ2側の雪球破裂 |
22 | 雪球 ※4x4ドット |
23, 24 | 太陽 |
25, 26 | 月 |