ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

復活!ゲームプログラム!コミュのMSXでシューティングゲームを作る

  • mixiチェック
  • このエントリーをはてなブックマークに追加
雑談トピでも少し書きましたが、MSX2用のシューティングゲームを作り始めました。
まだ未完成です。無謀にもフルアセンブラで作成です。
毎日ちょっとずつ組み上げることで、なんとか完成に向かっていきます。
純粋に破壊を楽しんで、点数を競えるゲームに仕上げる予定。

http://www5d.biglobe.ne.jp/~hra/note/msx_game/index.htm

どんな風に組み上げていったのか、どんな原理にしたのか、といったあたりの説明文を
すこしずつ作成して、アップロードしていきます。
もし、「ここはどうなってるのか知りたい」という話があれば、このトピで質問して貰えれば、
出来る限り回答します。

「ここはこうした方が良いのでは?」という意見もあればお寄せください。
参考にさせていただきます。

これらの説明文や回答が、皆さんの今後の製作に役立ってくれれば幸いです。

このトピは、上記制作物に対する質問・意見・感想などを書いて貰えればと思います。

よろしくお願いします。

コメント(61)

http://www5d.biglobe.ne.jp/~hra/note/msx_game/chapter30.htm

chapter30 をアップロードしました。

ゲーム開始約120秒後にボスが登場します。
まだ、ボスの破壊処理を実装していないため、破壊するとおかしなことになりますが、
まぁ、気にしないでください (^_^;
中々ボスのスピードが固くて厄介ですね。
またボスの曲が出来たら送りますので。
> 三毛乱ジェロさん
> 中々ボスのスピードが固くて厄介ですね。

全体が完成したら、ゲームバランスを整えたいですね。
1面からあんなに激しいと、後の面が鬼のようになってしまいますから (^_^;

あと、ボスの弾の発射は暫定処理です。
最終的には、グラフィックキャラクタによる弾幕にするつもりでいます。
8ドット単位の移動になってしまいますが、100個くらい弾を表示しても、
ちらついたりすることもないです。

> またボスの曲が出来たら送りますので。

よろしくお願いします m(_ _)m
作曲は得意でないので、非常に助かります。
自分で作っていたら、1曲作るだけでも結構時間がかかる上に、
あまり良いものは出来なさそうですから (^_^;

ch1 の音がかなりかき消されてますから、
効果音の音量は、もう少し落とそうと思います。

> nc30toriさん
> しかし、ホント市販並の仕上がりになってきておりますね^^

MSX1 の初期の頃のゲームは、ゲームデザインからプログラム、グラフィック、BGMまで、
一人で作るのが当たり前だったようです。
なので、そのころの市販ゲームくらいのレベルであれば、なんとか実現できるでしょうね。
http://www5d.biglobe.ne.jp/~hra/note/msx_game/chapter31.htm

chapter31 をアップしました。

ボスの当たり判定を修正しました。
左上だけでなく、全体が爆発するようになりました。
bgmdriver にバグが見つかりました・・・orz

chapter31 の bgmdriver.asm の 708行目。


  jr  c, bgmdriver_envelope_end


  jr  nc, bgmdriver_envelope_end

バグによる現象
 音色データとして、AR を指定しても、何も効果がない。
 修正することで、AR を小さくしたときに立ち上がりの遅い音色を実現
 できるようになります。

chapter32 では修正したモノに置き換えます (x_x)"
http://www5d.biglobe.ne.jp/~hra/note/msx_game/chapter32.htm

chapter32 をアップしました。

・BGM Driver のバグ修正
・ボスBGM, ステージクリアBGM追加
・ステージクリア処理の実装

現状、暫定でステージ1クリア後にタイトル画面に戻りますが、
初期化処理が中途半端なので、2回目のゲームスタート時には
敵が出現しない等の不都合が残ってます。
その対策は、次回。
>nc30toriさん
ありがとうございます。
聞いててウザく感じない為には起伏をつけよう、という所から始めました。
まぁ私の場合だいたいそうなんですが。

>HRA!さん
ところで、ボスに入る時の「ゥヴーー!」ってのは邪魔でしょうか?
個人的に一呼吸つける時間があればと思ってましたが、ウェイト時間計るのも面倒でしょうし。
> 三毛乱ジェロさん
> ところで、ボスに入る時の「ゥヴーー!」ってのは邪魔でしょうか?

組み込んで、アップロードした後に気がついたのですが、
ボスBGMの最初の方に鳴るのは、やっぱり「WARNNING!!」な、警告音なのでしょうか?

そうなると、警告音部分だけ分離してもらえると使いやすくなります。
警告音はループしないようにしておいて貰えれば、警告音の終了=ボス出現待ち時間の終了
という判定に使えますから、ウェイト時間を計る処理を兼ねることが出来ます。

WARNNING!! の表示も出した方がカッコイイかも知れませんね (^-^)/


次chapter では、ステージ2〜8をおおざっぱに作り込みますが、その辺の演出も、
組み込んでみようと思います。
>警告音なのでしょうか?
そのつもりです(何
もっとジャムった音を出したかったのですが私ではこれが限度でして。

警告とボス曲は分けます。音色も1つ減りますし。
まぁ私からの事ですので無理でしたら削っていただいても問題ありませんので。
> 三毛乱ジェロさん
> もっとジャムった音を出したかったのですが私ではこれが限度でして。

音色の作り方を、十分に説明してませんから、仕方がないですね (^_^;
とりあえず、警告音は、こちらで作ってみます。

ちなみに、ch2 を BGM に使っても問題ないです。
効果音発音時には、BGM の ch2 は聞こえなくなりますが、効果音が鳴り終わると
BGM ch2 がしっかりと復活するようにドライバを作ってありますので、
目立たないパートを ch2 に割り当てることで、効果音が鳴っていないときに三和音の
BGM を実現できます。もちろんドラムパートでも良いですね。
http://www5d.biglobe.ne.jp/~hra/note/msx_game/chapter33.htm

chapter33 をリリース。

・細かい不都合の修正
・ステージ2〜8を追加
・ステージクリア画面を追加
等。

結構、あちこち修正してます。

次回は、ハイスコア管理と自機の当たり判定処理を実現する予定です。
http://www5d.biglobe.ne.jp/~hra/note/msx_game/chapter34.htm

chapter34 をアップしました。

・自機がダメージを食らうようになりました

上で「ハイスコア管理」とか書いてますが、それは次回に回しました。
自機がやられるようになって、一気にゲームらしくなりました。

慣れるまでは意外と難しいと感じたのですが、やはり敵が自機に向かってくる弾しか
撃ってこないので、慣れると簡単に避けられるようになりますね。
特にボスはあれだけ弾をはき出してる割に、簡単に避けられます。

そろそろゲームバランスも気になりだしたところですが、まだまだ作り足りない部分が
たくさんありますね。
特に背景は、大がかりに修正する予定です。ス○ーフォースのように、しっかり背景を
付けて、背景を破壊できるようにする予定です。
壊しまくって爽快なゲームにしたいですね。

敵グラフィックがショボイですが、その辺は、最後に直すと言うことでご勘弁を (^_^;

現状、ゲームオーバー時にも、暫定でゲームクリアのBGMを流してます。

> 三毛乱ジェロさん

ということで、ゲームオーバーのBGMが欲しいです (^_^;;;
>ということで、ゲームオーバーのBGMが欲しいです (^_^;;;
了解しました。
今構想中の曲も何曲かありますので取り急ぐ分から送ります。
http://www5d.biglobe.ne.jp/~hra/note/msx_game/chapter35.htm

chapter35 アップしました。

・ハイスコアリスト(1位から10位)の管理を追加
・ネームエントリー画面を追加


> 三毛乱ジェロさん

よろしくお願いします。
特に急いでいるわけではないので、都合の良いときに送っていただければOKです。
プログラムの方もまだ当分終わりそうもないですから、気長に気楽に (^-^;
http://www5d.biglobe.ne.jp/~hra/note/msx_game/chapter36.htm

chapter36 をアップロードしました。

・背景が新しくなりました
・三毛乱ジェロさんの新しいBGMデータ(ゲームオーバー、警告音、ボス)が入りました

背景が8ドットスクロールになってしまいましたが、
まぁ、この方がMSXらしいですよね・・(^_^;

画面を上下に分けておけば、ハードウェアスクロール機能(ドット単位スクロール)を
利用できたのですが、さすがにそこまで改修する元気はないです (^_^;

次回は、いよいよ背景を壊せるようにします。
http://www5d.biglobe.ne.jp/~hra/note/msx_game/chapter37.htm

chapter37 をアップロードしました。

・背景の白いのを破壊できるようになりました

次回は、細かい修正をします。

CPUの処理負荷を低減するために、破壊した瞬間に画面の表示更新はしてません。
スクロールするときに表示が反映されます。
でも、これのおかげで、なんか壊れ方が不自然で、爽快感が足りないですね。
その辺も次回修正したいところです。


予定していた 16KB までは、あと 300byte くらいしかありません (^_^;
これ以上は、あまり凝ったものは盛り込めそうにないです。
おお!!
ジョイスティックの連射装置ONにして頑張って何とかボスに、ですね。

ただ、送っておいてなんですがゲームオーバーの曲が納得いきませんので
練り直す事にします。

ゲームオーバーは
・お疲れ様の意を込めたスローな優しい曲
・次回プレイに対する意気込みを煽る前向きな曲

この2つのどちらか、と考えまして
今回は後者を押し出した曲を作りましたが、ちょっと違うなぁと思いまして。
> ジョイスティックの連射装置ONにして頑張って何とかボスに、ですね。

あのボスは強すぎるので、調整するつもりではいますが、
一応、現状でもノーダメージで倒せるのは確認済みです。
ボスの攻撃が単調なので、よけるコツをつかめば、
連射機能無しでも、何とか倒せます (^_^;

STAGE2 からは、雑魚敵も2発当てないと破壊できないので、
ボスにたどり着くまでも難しくなってます。

ゲームバランスは、要調整ですね。
パワーアップアイテムも作るので、その後に調整です。

> 練り直す事にします。

よろしくお願いします。

容量の方は、グラフィック定義部分などを分離して確保しようかなと画策中ですので、
多少増えても対応できます。
# nc30toriさん

背景破壊の違和感は、実は私のローカルでは
すでに解決済みですので、次回改善されます。

できれば今日中にアップしたいですね。
http://www5d.biglobe.ne.jp/~hra/note/msx_game/chapter38.htm

chapter38 をアップロードしました。
結構いろいろ修正してます。

(1) 地上物をたくさん破壊するとアイテムが出現する機能を実現
(2) アイテムを拾う機能を実現
(3) ボス直前に WARNING!! の表示を追加
(4) 地上物破壊の表示更新を改善
(5) ボスと自機のあたり判定がいい加減だったのを修正

ボスと自機のあたり判定は厳しくなってますが、パワーアップアイテムで [SH] を
とると、自機弾の威力が増すので、ボスに当てないといけない弾数が減ります。

地上物たくさん=64個です。
64個破壊すると、[SH] か [SP] がランダムで現れます。
[SP] はスピードアップ。[SH] はショットパワーアップです。
ということで、ひたすら地上物を破壊してください (^_^;
http://www5d.biglobe.ne.jp/~hra/note/msx_game/files/chapter39pre3.zip

chapter39 は、だいぶ大がかりな変更になりそうなので、途中版をこっそりアップしてあります。

mk.bat で BGMデータのコンパイルまで実行するようにしました。
bgmフォルダにある BGMデータを差し替えて、mk.bat すれば、差し替えた BGM でプレイできます。

src\sca_config.asm に設定を集めました。
ここをいじることで、ボスがすぐに登場するようになったり、STAGE8 から始めたり、
無敵モードにしたり・・・と、いろいろできます。チートです (^_^;

SCA の動作スペックは、
 MSX2以上 (MSX1 + 拡張アダプタ による MSX2互換機には非対応)
 RAM 64KB以上
 VRAM 64KB以上
です。

chapter39 で、ゲームとしての基本機能はそろえて、
chapter40 で、若干の微修正をして完成にしたいと思います。
おおー、ついに完成ですか。

BGMですが、いかが致しましょう(現在は1,2面のみ)。
メモリ的に辛いのでしたらラスボス曲だけでも作って送りますが。
> 三毛乱ジェロさん

メモリ対策はすでに実施済みですので、容量のことは気にしなくて
かまわないです。


最新の chapter39pre3 をみていただければわかるかもしれませんが、
BGMフォルダに stage1〜8 の BGM データが入っており、すでにそれを
リンクしてます。
(stage3〜8 は、1,2 のMMLをコピペしてます)
これで、まだ空き容量があるので、余裕ありです。
BGMデータは、scagrp.bin の方に入ってます。

ただ、タイトル画面に関しては、横スクロールが乱れる恐れがあるので、
BGM無しのままにしたいです。


※いま羽田行きのバスの中です、これから沖縄へ出発です (^_^;
おっと、書き忘れました。

chapter40 は、いろいろ細かい調整をするので、39 よりも時間がかかると思います。
BGMは、できた分を随時反映していきますので、お時間のあるときに作ってもらえれば
と思います。

そういう意味では、chapter40 は、複数回のリリースになるかもしれませんね。

いろいろ盛り込みたいことはあるのですが、区切りをつけないと、
いつまでも続きそうなので、内容の拡充は 39 でおしまいです。
>メモリ対策はすでに実施済みですので、容量のことは気にしなくて
>かまわないです。
ありがとうございます。
ちょっと曲作成が滞り気味でしたので焦りかけてました。
http://www5d.biglobe.ne.jp/~hra/note/msx_game/chapter39.htm

chapter39 をアップしました。
ラスボスは・・・・倒せるのかどうかわかりません (^-^;;
左右のパーツを破壊するまでは、中央のレーザー(突如発射されるが、一定間隔で発射される)に
注意してください。
中央パーツだけになった状態では、中央パーツが動き回りますが、レーザー発射前に弱点を
引っ込めるので、比較的よけやすいです。

プログラム本体の方は、かなりメモリ容量が切迫してきてますが、
BGM/効果音用に使ってる裏RAM は、まだたくさんあいてます。

chapter40 では、いろいろ効果音を入れて、もうちょっと賑やかにする予定です。
ラスボスはこんな感じです。
私はまだ倒せてませんが、理論的には倒せるはずです (^_^;;;
http://www5d.biglobe.ne.jp/~hra/note/msx_game/files/chapter40pre6.zip

三毛さんの曲データが一通り入りました。
カッコいいです。

最終リリース版には、BGM-TESTモードを追加する予定ですが、とりあえずは、
mk_debug.bat を実行して、無敵モードにすることで、BGMをじっくり堪能してください。
ネームエントリーは、無敵モードでは到達できないので、mk.bat で通常モードに
戻して確認してくださいね (^_^;

年内には収束出来そうです。
http://www5d.biglobe.ne.jp/~hra/note/msx_game/files/chapter40pre7.zip

タイトル画面でキーボードの M キーを押してみてください。

その他の修正は、
 ・自機がダメージを食らったときにダメージ音が鳴らないケースが有るバグを修正
です。

一通り作り終えたところです。
これから実機で動作確認して、問題なさそうなら最終リリースをして完了ですね。
プログラム解説の方は、時間をかけてチビチビと追記していきます。
http://www5d.biglobe.ne.jp/~hra/note/msx_game/chapter40.htm

祝、完成! (^-^)/

実機で動作確認を済ませました。
簡単な動作確認しかしてませんが、、、まぁ、大丈夫でしょう (^_^;;

みなさん、ありがとうございました。
お疲れ様です。
今回曲を作って「やっぱり楽しいなぁ」、と。

曲解説の方もチマチマと書こうと思ってますので。
さっきテキストファイルに曲解説書いてましたので一気に貼ろうかと。

SCA 曲解説


■1面:GO AHEAD

1面というのは「どの曲よりも一番再生回数が多い」曲ですから、とにかく「聞き飽きられないような」曲にしよう、と思いまして。
今回の主なテーマとして「とにかくシンプルに、そして分かりやすい」曲をイメージして作りました。

1面は「無音のゲームをプレイして真っ先に思いついたイメージ」を具現化したのが最初でしたね。
曲自体も「2小節ごとに起承転結を入れて単調にならないように」心がけました。

まぁ思い通りの曲になってホッとしています。


■2面:SNOWMAN

2面は「ギアをローからセカンドに入れた」曲を、という事で1面よりもテンポを速くしてあります。
曲ですが、「雪原を駆け抜ける」イメージが出てしまいましたのでそのまま作ってみました。

雪原でも何でもありませんし2面という構成上場違いな気もしますが入れるならここしかないだろう、と。


■3面:MIDNIGHT ASSASSIN

先ほどとは打って変わってゆっくり目の曲になってます。
BGMドライバの都合上?タイが入れられないらしい(最後まで確認してませんでしたなぁ)ので
前半のテンポをBPM48の16分音符、後半はBPM96の8分音符をメインに使ってます。

曲ですが、後半のベースパートは私が特に好きなパターンでして。入れることが出来て嬉しいです。


■4面:ESCAPE DANCE

4面で一区切りと考えていましたので起承転結の「結」にあたる曲をイメージしています。
後半の音量を変えての「追いかけ」もキレイに出来たと思ってます。

ただタイトルだけが最後まで出てこなかったですね。ダンスって何なんだもっと無いのか、と。


■5面:GENOSIDE 2XXX

元々6面用に作ってた曲です。構成から5面に変更しました。
新たに気合を入れなおす、という意味で引き締まった曲にしました。

1-4面が「表」なら5-8面は「裏」ですね。ここからが本番だ、と感じていただければ。


■6面:UNDERROAD

珍しくベースがメロを担当している曲です。これも5面用でしたが6面に変更しました。
バックパートとして流れてる音がちゃんと表現出来たので「これならもっと激しくしても持つかな」と感じました。

落ち着かない曲ですが慣れるとこういうのも楽しいですよ。


■7面:SPOT OF CYCLONE

さぁここは最早「竜巻の目」。曲のゆったり感が逆に不安を誘うといういい雰囲気になりました。
ここからが本当の恐怖だ・・・と感じていただければ幸いかと(私にとって

こういうのが本当の「転」な曲なんですよね。


■8面:MILLION SHOWER

そして誰も待ったに応じてくれない、というような「音弾幕」をイメージしました。
前半はブレが少ない流れる曲、後半は2オクターブ下げるとかの絨毯爆撃のような曲の2部構成にしてみました。

ちなみに、後半は音の流れだけは守ってオクターブを激しくチェンジさせるという手法ですがまぁまぁ聞けると思ってます。


■ボス曲:FEAR..

WARNING!!という休憩ポイントからから一気に流れを速く、そして手短になる為飽きさせないように心がけました。
4/4ではなく6/8で表現しているのでボスは雰囲気が違う、というのを感じ取っていただければと思ってます。


■ラスボス曲:DOG SOLDIER

ラスボスは処理の負担にならないように至極シンプルに考えました。
曲はどうでもいいからプレイに集中しなさい、といった感覚で。


■ネームエントリー曲:20MILES

ゲームオーバーの曲が「お疲れ様」という意味でスローにしたのでその流れを切らないように、と思い作りました。
こんなエントリー曲があってもいいじゃない、という意味を込めています。



■最後に

とにかく「2音」で飽きさせない、という拘りを持って作るのはまた趣があって楽しいですね。
いつしか原曲のアレンジもやってみたいと思ってます。

ともあれ、こういった場を提供して下さったHRA!様。本当にありがとうございましたm(_ _)m


2009/12/20 Michelan-gelo.
> BGMドライバの都合上?タイが入れられないらしい(最後まで確認してませんでしたなぁ)ので

あは、BgmDriver 自体は、実はタイに対応してます。
でも、MMLコンパイラの方で & に対応していなかったので使えないのでした。

その辺説明不足でした。
MML として、何が使えて何が使えないのかといった説明も十分にできていなくて、
いろいろ苦労させてしまったかなと、反省してます。

今度新しく作る BgmDriver は、最初から & にも対応させることにします (^_^;
あと、使い方のマニュアルはしっかり作りますね。


私個人的には、あえて一つを選ぶなら 20MILES が一番好きかな。

> とにかく「2音」で飽きさせない、という拘りを持って作るのはまた趣があって楽しいですね。

ドライバ的には、3音までサポートしてますが、実際のところ ch3 は効果音の方が優先的に
使用するので、効果音が鳴っている最中は聞こえないんですよね。
そういう意味でも、2音で押さえてくれたのは、BGMの安定感としては良かったのかなと思います。
結構市販ソフトでも、無理やり3音使って、効果音鳴ってる間だけ BGM が 2音に減る現象が
発生して、聞き苦しくなってるのがありますよね。SCA では、そうならない安定感があります。

> ともあれ、こういった場を提供して下さったHRA!様。本当にありがとうございましたm(_ _)m

こちらこそ、たくさんの曲データを提供していただいたおかげで、非常に助かりました。
自分で曲まで作っていたら、ショボイ仕上がりになるか、年内完成は不可能だったと思います。

とりあえず、PDFの形で取扱説明書や、フロッピーラベルくらいはデザインして
Webに置いてみようかなと思ってます。


このくらいのプログラム規模だと、休日にちょこちょことプログラミングする程度で完成に
達することができるので気軽でいいですよね。
そういう気軽さという意味でも、また MSX でなんか作ってみたいですね。

PC用のプログラムも組めますが、おそらく画像や音などを揃えるだけで大変な事になりますし、
そもそも動作確認が大変です。Windows2000/XP/Vista/7 のどれで動くのかとか、
Atom で動くのかとか・・・・組み合わせ多すぎですからね (^_^;
> ぼうさん
> 完成おめでとうございます。

ありがとうございます (^-^)/
http://www5d.biglobe.ne.jp/~hra/note/msx_game/index.htm

ここの下のほうにディスクイメージを置きました。
ゲームがプレイ出来ればいいという人は、ソース一式よりも、
コチラのほうが便利でしょうから。
PCにエミュレータが入ってれば、気軽に遊べます。

通常ビルドと、デバッグビルドの両方のイメージを入れてあります。
デバッグビルド(sca_debug.dsk)は、無敵モードになってるので、
ゲームクリアは無理だけど、ステージを一通り眺めたいという人は
そちらを使ってみるといいですね。

2つのディスクイメージが入ってますが、圧縮した状態で 29KB ですよ・・(^_^;
小さいですね。

では。
> 滑らかに動くキャラ。そして味のあるBGM。

そう言ってもらえると、作った甲斐が有ります (^-^)

STAGE1〜7 のボスは似てますが、STAGE8 のボスは MSX としては巨大ボス
なので、その辺まで見てもらえると、なお嬉しいですね。

タイトル画面で暫く待つと、ドット単位横スクロールするとか、
無駄なところに凝ってたりします (^_^;

ログインすると、残り25件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

復活!ゲームプログラム! 更新情報

復活!ゲームプログラム!のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング