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

2023年06月20日

作品?G本格対戦!

次はこれ。
g26_t.png
■主な新テクニック
 ・SPRITE実装
 ・リアルタイムタイマー実装

やっとSPRITEを使いました。
ほぼ、上限の32枚使い切っています。
画面を大きく使いたかったので8×8のキャラクタにした為、当たり判定がシビアになってしまい、なかなか勝負が付きません…。
g26_1.png




タイトル

『 BATTLE FIELD 』

作品??

8



内容

自機(プレイヤー1は下、プレイヤー2若しくはCPUは上)を操作し弾を撃ち、相手を倒して下さい。



操作方法

起動し、しばらくしてタイトルが表示されたら、「↑」「↓」カーソル若しくは十字キーでプレイヤー数を選択し、「スペース」バー若しくはAボタンで決定

2プレイヤーを選択すると、コントローラーの選択となりますので、それぞれのプレイヤーが使用するコントローラーの「スペース」バー若しくはAボタンを押し、ゲーム開始

「←」「→」カーソル若しくは十字キーで、自機移動

「スペース」バー若しくはAボタンで弾発射

エネルギーメーター残量分の距離しか弾は飛びません



対応機種

MSX1、MSX2、MSX2+

製作年

1988年



ダウンロード


ジャンル

シューティング






※ゲーム内のキャラクタ、音楽は制作当時の物です。

公開前提に製作していないため、雑誌等から流用している物もあるかも知れませんので、著作権侵害の恐れのあるものは、ご連絡をお願いします。


posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | MSX回顧録

2023年06月19日

Laboratoryテーマ??1「マシン語で乱数発生」




6_19_1.png
さて、今回はLaboratoryテーマ??1「マシン語で乱数発生」です。
乱数はアクションゲームや、シューティングゲームにはなくてはならないものです。
BASICなら、A=RND(1)*100の1文で済みますが、マシン語にはそんな命令はありません。
ただ、マシン語で乱数を発生させる方法はいくつかあります。
中でも、R(リフレッシュ)レジスタを使えば、比較的簡単に乱数の代わりとすることは出来ます。

私はゲーム制作初期の頃に、必要に駆られて乱数サブルーチンを作り、特に困ることもなかったので、ずっとそれを使い続けています。
Rレジスタの方法の他、いくつかの方法を掛け合わせて乱数を発生させています。

乱数のサンプルプログラムです。

「RNDSMPL.BAS」【 ダウンロード

実行するとひたすら乱数を発生させ続けます。
大体どの値がどの位出たのかの目安もカウントします。
6_19_2.png

マシン語のサンプルです。
起動すると、RANDOM.BINを作成します。

1個16ビット変数を利用しているので、サブルーチンとしてアドレス変更する際は、そこの変更を忘れないように気を付けてください。(&HE136、&HE137:3ヵ所)

「RANDOM.BAS」【 ダウンロード

6_19_3.png
マシン語のサブルーチンとして必要なのは&HBF00~&HBF17までです。
大きくもないプログラムですので、詳しい解説はしませんが、興味があれば解析してみて下さい。
ミソは150行の真ん中にある、ED,5F(LD A,R)です。

では、次回はLaboratoryテーマ??2「マシン語の掛け算」です。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | Laboratory

2023年06月18日

Laboratoryテーマ??2〜4について

6_2_1.png



久しぶりにツイッターでMSX関連の記事閲覧してたら、ツイート主のホームページURLが記載されているのを発見。(自分ツイッターやっていないのでそんなことも知りませんでした…。)
幾人かの方のページを見て回りました。
その際、とある方のホームページでZ80での「掛け算」「割り算」「平方根」算出の考え方とロジックが公開されているのを発見!
とても詳しく解説されているので、凄く解り易いと思います。
私の使っているロジックと考え方は同じで、改めて私が解説するよりも解り易いと思いますのでLaboratoryテーマ、
??2「マシン語の掛け算」
??3「マシン語の割り算」
??4「マシン語の平方根の求め方」
については、考え方とロジック解説はそちらの方のホームページを紹介させてもらいます。
うーん、私が使っているロジックとほぼ変わらない処理速度とプログラムの長さです。
というか、「掛け算」「割り算」は使用レジスタが異なるだけ(ある程度のレベルの人なら誰が組んでも効率よく、短くロジック組むとほぼ同じになる)、「平方根」はその方の方が少し効率が良さそうです。
ならば、ここから先のLaboratoryで使う「掛け算」「割り算」「平方根」算出ルーチンは、その方のロジックに書き換えて進めた方が解り易いですね。
既に??2〜4のサンプルプログラム用意してあるので、マシン語部書き換えますね。

HRAさんのホームページです。
トップページから「MSX関連」—「Z80 Coding Tips」にあります。
「16進数の10進数表示」もありましたが、こちらはロジックが異なるので私の方で行います。
しかし、TIPSがここまでダブるとは面白いですね。
まぁ、マシン語で初心者が悩むところは同じなんだなと思ってしまいますね。

他にも技術的なことが満載ですので、とてもためになります。
因みに以前、ツイッターでお気に入りのプログラマーさんがいると書きましたが、その人です。 (2023年5月21日記事参照「 ツイッター 」)
リンク に勝手に載せようかと思いましたが、ページの最終更新日が古いので止めときます。

ありゃ、テーマ??6「自機に向かって飛んでくる敵弾」の続きは後日と言っていたのに、すぐに出来そうです。
まだ先だと思ってたのでサンプルプログラムが出来ていないので、少しお待ちください。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | Laboratory

2023年06月17日

パソコン同好会活動方針

今も昔もそう大きく変わっていないと思いますが、大学受験に向け、体育会系の部は3年生は夏過ぎには部活動を引退します。
文化系の部は文化祭を最後に引退するので10月過ぎになります。
かくいう私率いるパソコン同好会も、文化祭に向け精力的に活動しておりました。

この年は、「文化祭前に電波新聞社が刊行している「マイコンBASICマガジン」に投稿する」という例年になく前向きな活動方針の下、オリジナルゲームを制作し「マイコンBASICマガジン投稿作!」という事を触れ込みに、文化祭で発表すると言った目標を掲げ活動していました。 (2023年3月28日記事参照「 いざ、プログラミング! 」)
この時作っていたのが水中ダイバーを自機にし、銛でタコやイカ、クラゲ、数種類の魚と言った海の生物を狩るシューティングゲームでした。
色々な敵を皆で考え、ボスに鯨やマンボウ、大王イカなど、企画は盛り上がっていました!
因みに、部活動中にキャラや音楽、画面構成や敵パターンなどを考え、私が家でプログラミングするという、私だけサービス残業尽くしの制作スケジュールでしたが…。
まぁ、私の制作活動の中で、初めて皆で1つのゲームを作るという経験が、とても印象的で楽しかったです。

目標は「投稿する」だったのですが、もし掲載されたら掲載料が貰えるので、それで皆で何か食べに行こう!と言い合ってました。
今思うと「マイコンBASICマガジン」は、あまり大きなプログラムは掲載しないので、投稿してても無理だったんじゃないかなと思います。
全3面の縦スクロールシューティング(さすがに背景はループ)で、敵は10種類以上いたと思う。
なるべく短く組んだつもりですが、他のプログラムと比べるとやはり大きかった気がします。
因みに私のゲーム開発歴はポケットコンピューターから始まったので、書籍購入は「マイコンBASICマガジン」や工学社刊行の「PIO」と言った雑誌だったため、「MSXマガジン」、「MSX・FAN」の存在をこの当時は知りませんでした。 (2023年3月26日記事参照「 私とMSX 」)
6_18_1.png
画像出典: 『レトロPC・ゲーム専門店BEEP』 PIO誌
https://www.beep-shop.com/blog/2468/
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | MSX回顧録

2023年06月16日

TONE ORGAN Ver.1.0

T4_1.png




ツール??

4

製作年

1990年


タイトル

『 TONE ORGAN Ver.1.0 』



対応機種

MSX1、MSX2、MSX2+、MSXturboR



ダウンロード




『基本操作』
キーボードのキーを押すと、下図キーに対応した音階が鳴ります。
和音対応です。

t4_2.png

画像出展:『株式会社PFU』
https://happyhackingkb.com/jp/special/kb_collection/
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2023年06月15日

MSXでプログラミング

4_19_1.png
最近、MSXでプログラミングをしていますが気になることが一つ。
プログラミングするエディタ画面(?)が使いづらい!
Windowsの開発環境に慣れてしまうと、「なんでこんなので開発できていたんだ!?」って叫びたくなるレベルの使いづらさです。
プログラミングが捗らない捗らない…。
本当によくこの環境で開発してたな…。
昔はWindowsの開発環境がなく、これが当たり前だったからできたんでしょうね…。

まず、「コピー」、「貼り付け」がない。
これが一番致命的です。
何と言っても、他のプログラムから「この部分だけコピー」が出来ません。
いろんなプログラムで使う事が前提の共通サブルーチン(乱数発生等)を、毎回プログラムごとに入力しなければならず、面倒くさいことこの上ない…。
今、まさしくサンプルプログラムを作る事が多いので切実です。(FONTデータをVRAMに転送するサブルーチン等、ほぼ全てのサンプルに必要。)
現状、全部のサブルーチン詰め込んだ基ファイルを作り、それをコピーし、コピーしたファイルを必要なサブルーチン以外全削除した状態からサンプルを作り始める事で対応してます…。

あと、「検索」「置き換え」がない。
これも致命的です。
変数名など書き換えたら、いちいち全ロジック見て探さないといけない…。
絶対チェック漏れあるよね…。

誰かテキストエディタで入力したプログラムをそのままBlueMSXで起動できるようなツール作ってくれないかな…。(他力本願。)
既にあるのならご教授ください。
最低、この4つが出来れば私的には満足です。

希望を言うなら、プログラム全表示し上下スクロールできる環境が欲しい。
デバッグ時、LIST命令で間違いを探して、ストップさせ1画面分のプログラム修正、LIST…、効率悪いです。
んー、使ったことないからわかりませんが、MSX-Cとかの開発環境はどんなんだったんでしょうね?
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | MSX雑記

2023年06月14日

Laboratoryテーマ??6「自機に向かって飛んでくる敵弾」その?A




Laboratoryテーマ??6「自機に向かって飛んでくる敵弾」その?Aです。
前回は、考え方と計算式をやりました。

ただ、いざゲームに組み込むとなると、もう一つ考える必要があります。
前回の例は自機と敵の位置関係がX方向にも、Y方向にも+(プラス)位置でした。
しかし実際には、自機と敵の位置関係が逆だったりと、長さの計算結果がー(マイナス)の場合もあります。
ロジックを組む際には、「三平方の定理」を正の整数で計算するためにー(マイナス)をなくす必要があります。
そのため、エリアを4分割して考えます。
通常、エリア?bヘ「0」。
Y軸長さ計算でー(マイナス)が出た場合は、ー(マイナス)を消しエリア?bノ「1」を加える。
X軸長さ計算でー(マイナス)が出た場合は、ー(マイナス)を消しエリア?bノ「2」を加える。
6_14_1.png
これで、計算結果の正の整数化とエリア分けができました。
その正の整数で「三平方の定理」を計算し、弾を移動する時にそれぞれのエリアに設定された符号を付け、弾を移動させます。

6_14_2.png

BASICで組むと、こうなります。
6_14_3.png
マシン語に変換しやすいように、あえて整数で組んでいます。
配列変数や、ONGOSUBも使っていません。
速度的にはBASICだとこんなもんですね。
弾発射時に、計算で一瞬止まってしまいます。
…これだけ時間かかっては駄目ですね…。

「L6SMPL.BAS」【 ダウンロード

以上、前回言った通り、テーマ??2〜4が終わるまで、テーマ??6「自機に向かって飛んでくる敵弾」は一旦保留します。
次回は、テーマ??1から順次進めていきます。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | Laboratory

2023年06月13日

パソコン同好会の存続の危機 再び…

4_19_1.png
高校3年生になりました。
パソコン同好会会長の私には大きな役割が待っていました。
そう、新入会員の勧誘です。
前年、新入会員がいなかったことで、この時会員は3年生ばかり10名。(男子8名(内、幽霊3名)、女子2名)
まさしく存続の危機でした。

主な勧誘方法としては、文化系部は普段週1〜2日活動のところ、この時期だけはいつ新入部員が見学に来てもいいように毎日活動になります。

あと、部活動紹介掲示板へのポスター貼り。
こちらは同好会なので一番後回しにされます。
順番回って来て貼りに行っても、貼る場所がなくて隅っこの方に小さく貼るしかないという…。
理不尽だ…。
バカでっかく貼られてる、運動系部活のポスター何度剥がしてやろうと思ったことか…。

あとは、1年生各教室を回っての直接勧誘。
これは誰もやりたがらないので、やめ。

そして最大イベント。
4月の学校総会で新入部員勧誘のための、部活動紹介イベント!
ウチも当然参加しました。
全新入生と、教員の前での勧誘演説は緊張しまくりでした。
それでも特に失敗もせず上手くできたと思います。

…が、ポロポロと見学には来てくれるのですが、いかんせん古いパソコンしかないパソコン同好会なので、残念ながら入会には至らず…。

まさか自分が会長の時に何度も存続の危機に見舞われるなんて…。
でも、予算もないのでパソコンは増やせないし、パソコンがないので活動の幅も広げられない…。
八方塞がりでした。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | MSX回顧録

2023年06月12日

Laboratoryテーマ??6「自機に向かって飛んでくる敵弾」その?@




さて、Laboratory初回になります。
…が、いきなりテーマ??6「自機に向かって飛んでくる敵弾」の考え方について説明します。
「自機に向かって飛んでくる敵弾」とは、シューティングゲーム等で、敵が撃った弾が自機に向かってゆっくり飛んできますよね。
あれをマシン語でどうやるか?を考えてみたいと思います。

実はこのテーマの実現のためには、
??2「マシン語の掛け算」
??3「マシン語の割り算」
??4「マシン語の平方根の求め方」
が必要になります。
なぜかと言うと、「三平方の定理」が必要となるからです。

■三平方の定理
斜辺(c)の2乗は、直角をはさむ辺(a、b)を2乗して足したものと等しい。
a² + b² = c² が成り立つ

これを利用します。
よって、今回は考え方のみで、実践はLaboratoryテーマ??2〜4をした後続きをやることにします。

では、早速考え方です。
6_13_1.png
自機と敵がこの位置関係でいたとします。
この時、自機と敵のY軸とX軸との差と、自機と敵の座標を直接結ぶと、直角三角形が出来ます。
6_13_2.png
Y軸の長さをa、X軸の長さをb、自機と敵をつないだ線(斜辺)の長さをcとします。
これを三平方の定理で計算すると。
a =(120 − 48)= 72
b =(120 − 24)= 96
72² + 96² = 5,184 + 9,216 = 14,400 = c²
c = 120となります。
6_13_3.png
敵の弾がY軸が等しい自機に当たるまで96移動なので、距離120の自機に当たるまで120移動の必要があります。
よって、1移動当りの弾移動量を計算します。
Y方向 = 72(a)÷ 120(c)= 0.6
X方向 = 96(b)÷ 120(c)= 0.8
6_13_4.png
算出した移動量で96移動した時の弾の位置はこうなります。
Y座標:96 × 0.6 = 57.6 + 48(初期位置) = 105
X座標:96 × 0.8 = 76.8 + 24(初期位置) = 100

大体お解り頂けたでしょうか。
途中の計算で、掛け算(2乗算出、例:a²=a×a)、割り算、平方根(c²→c)が出てきましたね?
次回は、BASICで組んだ場合のサンプルを用意します。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | Laboratory

2023年06月11日

BlueMSXでマウス動かず

FONTデータ作成するのに、さすがにキーボードでは苦しいので「マウスが使いたい!」と思い、BlueMSXでマウスの使い方を調べました。
調べた結果、
6_12_1.png
「ツール」の「コントローラー/キーボード構成編集」を開き、
6_12_2.png
「Joystick1」を「マウス」にすれば良い。
…と、記載されていたのでそのように設定。
BlueMSX再起動。

…動かん!
あれ?
自分の環境が、ペンタブ(WACOM BAMBOO FUN)だからダメなのかな?
じゃぁ、USBマウス接続…。
色々再起動。

…動かない!
え?
なんで??

ゲーム開発工程の最初期、FONT作成でいきなりつまずいてしまいました…。
うーん、BlueMSX関連の他のサイトも調べたけど、それ以外のことは記載されていない…。
私の環境が悪いのかどうかもわからない…。

さすがにキーボード若しくはジョイスティックでFONT作成するのはしんどいです…。
どなたか設定わかる方ご教授ください…。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | MSX雑記
Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: