検索
<< 2024年09月 >>
1
2 3 4 5 6 7
8
9 10 11 12 13 14
22
23 24 25 26 27 28
29
30
広告
駿河屋レトロゲーム
最新記事
ブログランキング
にほんブログ村 ゲームブログ ゲーム制作へ
プロフィール
J-JSOFTさんの画像
J-JSOFT
高校時代、あれほど熱心に取り組んだMSXに触れなくなって30年余…。 MSXエミュレータとの出会いで、MSX愛が再燃中。
カテゴリーアーカイブ
ファン
QRコード

2024年09月30日

ガリウスの迷宮って…





先日、youtubeで懐かしのコナミ「ガリウスの迷宮」のプレイ動画を発見しました。
懐かしくてついつい見入っていたら…。

4_16_1.png
画像出典: 『週刊アスキー』
https://weekly.ascii.jp/elem/000/002/622/2622571/


ん!?
「ガリウスの迷宮」のエンディングのスタッフロール、1ドットスクロールしてる!?
(下のリンクにエンディング動画があります。)
24_9_17_2.png
画像出典: 『RETRO PC GAME MUSIC STREAMING RADIO』
http://gyusyabu.ddo.jp/MP3/1987/GALI1.html


流石はコナミ…。
これどうやってやってるのかな…?
最近、過去の制作ディスクで2Dスクロールばかり見てたので、なんとなく気になりました。

私の過去の試作プログラムにも、この手のものはなかった…。
よし! 今後制作する(であろう)ロールプレイングゲームにも使えそうなので、一度チャレンジしてみます!
久しぶりに、Laboratoryの新テーマに挙げて取り組みます。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | MSX雑記

2024年09月29日

Laboratoryテーマ??18「回転する敵を作りたい」その?B




さて、今回はLaboratoryテーマ??18「回転する敵を作りたい」その?Bです。

前回でテーマ自体は終わっているのですが、移動データをデータベース化したら、設計した形通りにしか動かせないのではないか?と、考えてしまいます。
その通りなら少しの移動パターンの違いでも、別途データベースを作らなければならず、結局凄いデータ量になってしまいます。

そこで、少しの工夫でできる移動パターンの変更の仕方を考えます。

回転する敵に関しては、回転サイズの変更は簡単に出来ます。
・データベースを読み取ったデータを1/2にして加減算する。
・データベースを1バイト飛ばして読む。
この2つの方法は、どちらも回転サイズを半分にする方法です。
こんな感じです。


それを更に倍にすると1/4になります。


それ以外にも、X若しくはYどちらかのみ半分にする事で楕円移動に変更が可能です。

回転に限らず、放物線の揺れ幅を縮めるなども同じ考え方で出来ます。
これら踏まえて、結構な数の移動パターンが出来るのではないでしょうか?
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | Laboratory

2024年09月28日

Laboratoryテーマ??19「半円移動する敵を作りたい」その?A




さて、今回はLaboratoryテーマ??19「半円移動する敵を作りたい」その?Aです。

24_10_1_3.png
結局静止画だと、全く動きが判りませんね。

移動データを登録します。
24_10_1_1.png
前回同様、制御用コードとしてデータの始まりに「&H87」、データの終わりに「&H88」を付加します。
これで、全データで66バイトです。

24_9_30_3.png
?の時は上から下にデータを読んで、読んだデータをX座標に減算、Y座標に加算します。
データが「&H88」になったら?を?@にして、今度は下から上にデータを読んでいきます。
読んだデータをX座標に加算、Y座標に加算します。
データが「&H87」になったら、最後のデータを再度読むようにして、画面外へ消えるようにします。

24_10_1_2.png
半円ですので、?Aと?Bの処理は要りません。
プログラムの効率化は図っていません。

このロジックを「水平ライン4枚(MSX2は8枚)を超えてSPRITEを表示させたい」と「BGM演奏ルーチン(通常版)」の組み込まれたプログラムに入れて実行させます。
結果は、動画でどうぞ。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | Laboratory

2024年09月27日

Laboratoryテーマ??19「半円移動する敵を作りたい」その?@




最後は、Laboratoryテーマ??19「半円移動する敵を作りたい」その?@です。

半円移動する敵は、また魔城伝説の序盤のコウモリですかね。
こんな感じの動作をします。
24_9_30_1.png

前回同様、Excelで移動量におけるY・X座標を求めておき、始点からの移動量をデータベース化します。
24_9_30_2.png
データベース化するのは、半回転分のデータです。

今回も全部で124バイトもあるので、半円を?と?@に2分割します。
24_9_30_3.png
?を基準とすると、?@は?の上下反転型となるので、データとしては半分の62バイト持っておいて、後は計算で求めるようにします。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | Laboratory

2024年09月26日

Laboratoryテーマ??17「放物線を描いて飛来する敵を作りたい」その?A




さて、今回はLaboratoryテーマ??17「放物線を描いて飛来する敵を作りたい」その?Aです。

24_9_29_3.png
やはり静止画だと、全く動きが判りません。

移動データを登録します。
24_9_29_1.png
前回同様にデータの始まりに「&H87」、データの終わりに「&H88」を付加します。
これで、全データで66バイトです。

24_9_28_3.png
?の時は上から下にデータを読んで、読んだデータをX座標に減算、Y座標に加算します。
データが「&H88」になったら?を?@にして、今度は下から上にデータを読んでいきます。
読んだデータをX座標に減算、Y座標に減算します。
データが「&H87」になったら、最後のデータを再度読むようにして、画面外へ消えるようにします。

24_9_29_2.png
半円ですので、?Aと?Bの処理は要りません。
プログラムの効率化は図っていません。

このロジックを「水平ライン4枚(MSX2は8枚)を超えてSPRITEを表示させたい」と「BGM演奏ルーチン(通常版)」の組み込まれたプログラムに入れて実行させます。
結果は、動画でどうぞ。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | Laboratory

2024年09月25日

Laboratoryテーマ??17「放物線を描いて飛来する敵を作りたい」その?@




次は、Laboratoryテーマ??17「放物線を描いて飛来する敵を作りたい」その?@です。

放物線を描いて飛来する敵とは、有名どころではゼビウスの「テラジ」です。
こんな感じの動作をします。
24_9_28_1.png
ターン時に大量に弾吐いていくので嫌な敵でした…。

今回も前回同様、Excelで移動量におけるY・X座標を求めておき、始点からの移動量をデータベース化します。
24_9_28_2.png
データベース化するのは、半回転分のデータです。

今回も全部で124バイトもあるので、半円を?と?@に2分割します。
24_9_28_3.png
?を基準とすると、?@は左右反転型となるので、データとしては半分の62バイト持っておいて、後は計算で求めるようにします。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | Laboratory

2024年09月24日

Laboratoryテーマ??18「回転する敵を作りたい」その?A




さて、今回はLaboratoryテーマ??18「回転する敵を作りたい」その?Aです。

24_9_27_3.png
当然ですが静止画だと、全く動きが判りませんね。

移動データを登録します。
24_9_27_1.png
前回同様、制御用コードとしてデータの始まりに「&H87」、データの終わりに「&H88」を付加します。
これで、全データで68バイトです。

24_9_26_3.png
?の時は上から下にデータを読んで、読んだデータをX座標に減算、Y座標に加算します。
データが「&H88」になったら?を?@にして、今度は下から上にデータを読んでいきます。
読んだデータをX座標に減算、Y座標に減算します。
データが「&H87」になったら?@を?Aにして、再び上から下にデータを読んでいきます。
読んだデータをX座標に加算、Y座標に減算します。
最後、データが「&H88」になったら?Aを?Bにして、下から上にデータを読んでいきます。
読んだデータをX座標に加算、Y座標に加算します。

24_9_27_2.png
今回もプログラムの効率化は図っていないので、遅く長いです。

このロジックを「水平ライン4枚(MSX2は8枚)を超えてSPRITEを表示させたい」と「BGM演奏ルーチン(通常版)」の組み込まれたプログラムに入れて実行させます。
結果は、動画でどうぞ。

基準線がないと、ちゃんと円描いて回ってるのか解り辛いので、円を描いてみました。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | Laboratory

2024年09月23日

Laboratoryテーマ??18「回転する敵を作りたい」その?@




次は、Laboratoryテーマ??18「回転する敵を作りたい」その?@です。

回転する敵とは、画面内をぐるりと回転する敵です。
こんな感じの動作をします。
24_9_26_1.png
回転位置まで別の移動方法で移動してきて、任意位置でぐるりと回るなんてパターンをよく見かけますね。

円なので、三角関数の出番ですが、前回同様、Excelで移動量におけるY・X座標を求めておき、始点からの移動量をデータベース化します。
24_9_26_2.png
データベース化するのは、1回転分のデータです。
回転中に、任意位置で回転を止めて別の移動方法で逃走なんてのも、よく見かけますね。

今回も全部で252バイトもあるので、円を?〜?Bに4分割します。
24_9_26_3.png
形を見てみれば、?を基準とすると、?@は?の左右反転型。
?Aは上下左右反転型。
?Bは上下反転型となるので、やはりデータとしては?分の64バイト持っておいて、後は計算で求めるようにします。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | Laboratory

2024年09月22日

Laboratoryテーマ??16「波状攻撃してくる敵を作りたい」その?A




さて、今回はLaboratoryテーマ??16「波状攻撃してくる敵を作りたい」その?Aです。

24_9_25_3.png
当然ですが静止画だと、全く動きが判りませんね。

移動データを登録します。
24_9_25_1.png
制御用コードとして、データの始まりに「&H87」、データの終わりに「&H88」を付加します。
これで、全データで56バイトです。

24_9_24_3.png
?の時は上から下にデータを読んで、読んだデータをX座標に減算、Y座標に加算します。
データが「&H88」になったら?を?@にして、今度は下から上にデータを読んでいきます。
読んだデータをX座標に減算、Y座標に加算します。
データが「&H87」になったら?@を?Aにして、再び上から下にデータを読んでいきます。
読んだデータをX座標に加算、Y座標に加算します。
最後、データが「&H88」になったら?Aを?Bにして、下から上にデータを読んでいきます。
読んだデータをX座標に加算、Y座標に加算します。

24_9_25_2.png
プログラムの効率化は図っていないので、遅く長いです。

このロジックを「水平ライン4枚(MSX2は8枚)を超えてSPRITEを表示させたい」と「BGM演奏ルーチン(通常版)」の組み込まれたプログラムに入れて実行させます。
結果は、動画でどうぞ。

良い感じに波形移動しています。
因みにBGMは制作予定の「シューティングゲーム」の1面用のBGMです。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | Laboratory

2024年09月21日

Laboratoryテーマ??16「波状攻撃してくる敵を作りたい」その?@




さて、長らく放置してしまったLaboratoryですが、「シューティングゲーム」を製作するにあたり、主に「シューティングゲーム」用の敵の移動系のテーマをやってしまおうと考えました。
多分4つとも使います。
まず、テーマ??16「波状攻撃してくる敵を作りたい」その?@です。

波状攻撃とは、いわゆる魔城伝説の序盤のコウモリです。
こんな感じの動作をします。
24_9_24_1.png

放物線を描いているので、三角関数の出番です。
…が、三角関数を用いて計算しながら移動させると、編隊飛行のように複数出現させるとなると処理が重いです。

ではどうするか?
何通りかの方法があると思いますが、今回は、もっとも単純な方法、最初にExcelで放物線上の任意の座標を求めておき、始点からの移動量をデータベース化します。
24_9_24_2.png
データベース化するのは、波形1回分のデータです。
後はそれを繰り返すだけです。

座標データ数により、敵の動作が速くなったり粗くなったりするので、そのあたりは最適な数を見付けて下さい。

このデータベースをそのまま利用してもいいのですが、全部で208バイトもある。
移動データ1つにそれだけのメモリはさすがに使えない…。
と、言う事で波形を?〜?Bに4分割します。
24_9_24_3.png
形を見てみれば、?を基準とすると、?@は?の上下左右反転型。
?Aは左右反転型。
?Bは上下反転型となるので、データとしては?分の52バイト持っておいて、後は計算で求めるようにします。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | Laboratory
Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: