アフィリエイト広告を利用しています
 

2024年10月02日

Laboratoryテーマ29「メッセージを1ドットスムーズスクロールで流したい」その@







さて、Laboratoryテーマ29「メッセージを1ドットスムーズスクロールで流したい」その@です。
「ガリウスの迷宮」のメッセージの1ドットスムーズスクロールについて考えます。

見る限り、メッセージ行間に1行の空白行があります。
ですので、2行1セットでスクロールさせているのは明白。

で、基本的にアルファベットの大文字のみ使用。(最後に数字出てきますが4文字)

...と、いう事で、アルファベットの小文字は空白にして、その下の行に大文字をセットし、大文字から小文字へ1ドットシフトすればよいと考えました。

まず、仮に画面には小文字の行とその下に大文字の行をセット。
24_9_22_2.png
解り易いように左は内部、右が編集状態で表示しています。
小文字は空白、大文字には文字パターンがセットされています。

それを1ドットずつ上にシフトします。
24_9_22_1.png
8ドット分上にシフトしたら、8ドット一気に下にシフトし、文字パターンをシフト開始前の状態に戻して、画面全体を1行分上にスクロールします。
24_9_22_3.png

後はこれをメッセージ行分繰り返すだけです。

理屈的には簡単です。
…が、この方法ですと8ドット上シフトが終わり、文字パターンを元に戻して、メッセージを1行上スクロールさせるとき、一瞬チラつきとガタつきが発生します。
なぜならその一瞬に、24行分のメッセージ書き換えと、「空白になっていた大文字にパターンを戻す」、「文字パターンのある小文字を空白にする」時の書き換え処理に時間的ズレがあるため、その瞬間がどうやっても見えてしまうためです。

次回はこの現象が解消できないか考えます。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | Laboratory

2024年10月01日

MSX40周年記念イベント





4_19_1.png


MSX40周年記念イベント
が、2024年10月13日(日),14日(月祝)に神奈川県小田原市荻窪にて開催されるようです。
今、MSX単独イベントです!
凄い!
主催者の皆様には敬意を表します。
イベント内容見る限り、とても充実している。
出展サークルを見ても、Xで活躍されているとこばかりで、凄く期待できるイベントです。(私はX未進出…。)

開催まで2週間切ってますね。
私も行きたかった…。
今回逃したら次はいつになるか…。
でも神奈川かぁ…、無理すれば行けなくはないけど、ちょとキツイ...。
名古屋あたりの開催だと、ソフト出展なんかも考えられるんだけど…。
はぁ…、今回は無理かな…。
「今でも精力的に活動している人がいるよ」って、新作だけでも展示したかったなぁ…。

最後に、
イベント主催者の皆様、本当にありがとうございます。
出展サークルの方々、頑張って下さい。

…やっぱり行きたい!

駿河屋
posted by J-JSOFT at 12:00 | Comment(0) | TrackBack(0) | MSX雑記

Laboratory新テーマ追加




6_2_1.png

先日の記事でも書きましたが、たまたま見かけたコナミ「ガリウスの迷宮」のエンディングの、メッセージの1ドットスムーズスクロール。
MSX1では、なかなか見かけない処理です。
そこで、どのようにやっているか研究します。
私自身過去の試作などでやった事がないので、本当の意味での「Laboratory」です。










テーマ
29メッセージを1ドットスムーズスクロールで流したい

これが出来れば、ロールプレイングゲームなどで活用できますね。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | Laboratory

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