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

2023年04月04日

マシン語症候群…

マシン語でゲームを完成させ、その速度に感動した私は「マシン語症候群」を発症してしまいます…。
「マシン語症候群」とは、BASICでプログラミングしていた人が、マシン語をマスターすると掛かると言われている恐ろしい病です。
これを発症した人は、ゲームバランス無視で、速度のみ重視したゲーム作りに傾倒するとかしないとか…。

冗談はさておき、ここからしばらくMSXのハード機能の実験と、ソフト技術の試行錯誤を繰り返し、ゲームとは言えない習作ゲームの量産に入ります。
まずはこれ。
g2_t.png
■主な新テクニック
 ・少し大きなキャラを動かす習作です。
 ・キャラ毎の異なる速度を実装しました。

因みに、ボールは45度にしか動きません。
g2_1.png





























タイトル『 INVIT BLOCK 』習作2
内容自機を操作し、ボールを反射誘導しインベーダーを退治して下さい。
操作方法

操作はキーボードのみ

「←」「→」カーソルで、自機移動

「S」キーで、再スタート
対応機種MSX1、MSX2、MSX2+製作年1986年
ダウンロードリンク先へジャンルアクション






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

公開前提に製作していないため、雑誌等から流用している物もあるかも知れませんので、著作権侵害の恐れのあるものは、ご連絡をお願いします。
posted by J-JSOFT at 23:59 | Comment(0) | TrackBack(0) | MSX回顧録

2023年04月02日

初マシン語ゲーム完成!

マシン語マスターから1カ月…。
遂に、非常に簡単なシューティングゲームが完成しました!
これです。
g1_t.png
■主な新テクニック
 ・ゲームとも呼べない習作ですが、
  記念すべき初マシン語ゲームです!

自機と、弾1発、敵5機、敵弾5発、仲間1人。
結構なキャラクター数を出して、すべて当たり判定もしているのにこの速度!
g1_1.png

しつこいようですが、習作にゲームとしての体裁を整えただけのものです。
もちろん、ゲームバランスなど「ありません」。
ソースコードもそのままですので、マシン語を直接読める方は、どうぞ。





























タイトル『 STAR FIRE 』習作1
内容

自機を操作し、インベーダーを退治して下さい。

時々、捕らわれていた仲間が落下してきますので、自機で受けてください。
操作方法

操作はキーボードのみ

「←」「→」カーソルで、自機移動

「スペースバー」で弾発射(1発)

「S」キーで、再スタート
対応機種MSX1、MSX2、MSX2+製作年1986年
ダウンロードリンク先へジャンルシューティング






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

公開前提に製作していないため、雑誌等から流用している物もあるかも知れませんので、著作権侵害の恐れのあるものは、ご連絡をお願いします。
posted by J-JSOFT at 12:04 | Comment(0) | TrackBack(0) | MSX回顧録

2023年04月01日

マシン語マスター!

私の製作するMSXゲームの主流となった、BASICでゲームタイトルを表示し、初回のみマシン語をメモリに書き込み、実行。
ゲーム終了したらBASICに戻り、タイトルを表示し変数の初期値のみメモリに書き込み、再び実行する…。
この一連の仕組みはこの時に完成しました。
ひたすら簡単なマシン語を組んでは実行、組んでは実行を繰り返し、徐々にマシン語を習得していきました。
ものすごい地道な作業です。
しかもマシン語は”0”と”1”の世界。
ただこれだと扱いにくいので、一般的には16進数表記で示します。
































10進数0102091011121314151617
16進数0102090A0B0C0D0E0F1011

エラーが出た時には、この16進数で書かれたプログラムを追うので処理のエリア毎のコメントが重要です。
こんな感じに、自機右移動とか、弾発射とか。
4_1_11.png
しかもマシン語はBASICと違い、プログラムに誤りがあればほぼ確実にフリーズか、リセットになります。
ですので、実行前には必ずテープに保存してからの実行になります。
おかげで時間が掛かる掛かる…。

それでも、市販並みの速度のシューティングを目指し頑張って学習し続けました。
そして、高校1年の夏休み期間をごっそり使ってマシン語を遂にマスターしたのでした!
posted by J-JSOFT at 11:39 | Comment(0) | TrackBack(0) | MSX回顧録

2023年03月31日

マシン語習得へ

さて、シューティングゲームを作るなら、BASICじゃ無理!!
これは、MSXだけでなく8ビット機の常識です。
せめてC言語クラスの速度が欲しい。
しかし、MSXでもC言語とか販売していましたが、値段が高く手が出ませんでした。
何か良い方法はないかと色々調べていたら、『マイコンBASICマガジン』に一部マシン語で書かれたプログラムを発見!(2023年3月28日記事参照「いざ、プログラミング!」)
そう、MSX-BASICには直接メモリを読み書きする命令があります。
POKE命令、PEEK命令です。
そこで、マシン語をマスターし、直接メモリにマシン語を書きこんで実行させてやればいい!と、考えました。
マシン語よりも若干プログラミング言語っぽいアセンブリ言語を覚えるという手もありましたが、コンパイル作業が面倒!
どうせ、ほぼマシン語のアセンブリ言語を覚える位なら「直接マシン語を覚えた方がいい!」となりました。

思いついたら即実行!
「MSX ポケットバンク」シリーズの「マシン語入門」を購入。
4_1_10.png
画像出典: 『Generation MSX』
https://www.generation-msx.nl/publication/ascii-corporation/msx-pocket-bank-/1195/


今でもはっきり覚えている黄色い本。
神本でした!
マシン語習得に向けて、勉強するのでした…。
posted by J-JSOFT at 11:23 | Comment(0) | TrackBack(0) | MSX回顧録

2023年03月30日

遅い…

4_19_1.png

購入後3カ月…。
順調に機能を覚え、BASICではほぼ全てのジャンルを作成できるところまでマスターしました。
しかし、BASICの処理が遅いので、速度を求めないパズルゲームや、アドベンチャーゲーム、ターン制のRPGは許容可能な処理速度ですが、シューティングゲームやアクションゲームは、単純なもの以外はゲームとしてまず無理かな?

BASICはプログラミング言語ですが、コンピューターが理解できるのはマシン語のみです。
(最近のプログラミング言語は知らないけど、多分同じ。)
C言語などのコンパイル言語は、一度コンパイラでC言語からマシン語に一括翻訳して、マシン語を実行するので、比較的処理は早いです。
しかし、BASICはインタプリタ言語と言って、命令を1つ1つマシン語に翻訳しながら命令を実行していくため、ロスが多く動作が遅くなります。
言語としてはプログラミングしてすぐに実行できるなど非常にお手軽なBASICですが、処理の遅さはゲームには致命傷です。


























種類コンパイラ言語インタプリタ言語
実行方法一度全ての命令をマシン語に翻訳してから実行する命令を一つ一つマシン語に翻訳しながら実行する
メリット実行速度が速い

プログラムをすぐに実行できる

プログラムのデバッグがしやすい
デメリット実行する毎のコンパイルが面倒実行速度が遅い
代表言語C言語BASIC言語

オールBASIC最後のゲームは、シューティングゲームだった記憶があります。
その作成中に、「だめだこりゃ!」となりました。
なんと言っても、少し表示するキャラクタを増やすだけで、遅くなる遅くなる…。
当たり判定の処理入れるだけでゲームにならない位遅くなる…。
良くて、自機+弾2発、敵2機が許容限度でした。
posted by J-JSOFT at 09:48 | Comment(0) | TrackBack(0) | MSX回顧録

2023年03月29日

パソコン同好会

4月になり高校生活が始まりました。
私の高校には「パソコン同好会」なる部活があったので、迷わず入会しました。
まぁ、活動が1週間に2回だったので、他の部と兼部してましたが…。
会員数は7名程度(3年生2名、2年生3名)、1年は私含め2人。
しかし、パソコン同好会とは名ばかりの同好会で、1年から3年まで全会員が集まって、わいわいしゃべくり倒して終わりといった、とてもアットホームな活動内容でした。
パソコンも、個人のものを持ち寄るわけにもいかず(当時は相当高価な物でした)、学校に1台だけある古いPC-8001(だったと思う。)を、みんなで使って何かを作ってました。

ただ、文化部なので文化祭には結構力を入れており、各自が家で自己所有のパソコンで文化祭に向け発表作品を作り、文化祭には学校へパソコンを持ち寄って、作成したグラフィック等を発表していました。
当時は各社パソコンが乱立していましたから、種類の異なるパソコンの見本市みたいでした。
私は折角なので、学校のPC-8001でオールBASICの「ロードランナーもどき」を作って発表しました。
3_28_1.png
画像出典: 『GameFAQS』
https://gamefaqs.gamespot.com/msx/951433-lode-runner-ii/media

グラフィックの扱いが分らなかったので、キャラクタは全てアスキーキャラでした。

当時パソコンといえば、人気は恋愛占い。
紙に占ってほしい自分と相手の名前と生年月日を書いて出してもらえば、占い結果をプリンタで印刷して渡すのですが、あまりの人気に文化祭期間で終わらず、後日印刷されたものを届けるといった事態になっていました。
恋愛占いは2年の先輩の所有パソコンとプリンタでした。
今思えば、他の生徒からすれば、「パソコン同好会」=「恋愛占い部」といった認識だったのかも。
posted by J-JSOFT at 18:30 | Comment(0) | TrackBack(0) | MSX回顧録

2023年03月28日

いざ、プログラミング!

いざ、プログラミング!
おっとその前に、MSXのハード機能がわからない!
そこで当時ASCII社から出版されていた書籍「MSX ポケットバンク」を購入。
どの種類だったか記憶が薄いのですが、グラフィック関連だったと思います。
多分これ。
インパクトある表紙に見覚えがある…。
4_1_7.png
画像出典: 『Generation MSX』
https://www.generation-msx.nl/publication/ascii-corporation/msx-pocket-bank-09---/1173/


BASIC言語は問題なかったので、グラフィックに特化した知識が必要だったからです。
小さくて薄い本でしたが、さすがはASCII!
非常にわかりやすかったです。
しかも確か480円と、お値打ちでした!
あとは、電波新聞社が刊行していた『マイコンBASICマガジン』で技術的なことも学習。
4_1_8.png
画像出典: 『Generation MSX』
https://www.generation-msx.nl/publication/the-dempa-shimbun-corporation/micom-basic-magazine-basic-1998-10/2397/


MSXのハード機能で「これは便利!」と思ったのはSPRITE機能でしょう。
背景が消えるのを考えずキャラクタを動かすことができる機能です!
但し、かなり制約があります。
一番の制約は同一横方向に5つ以上のキャラクタが並ぶと5つめが消える。
1キャラクタ1色等…。
このあたりの書籍での学習で、「FONTをキャラクタに書き換えることができる」が分り、ゲーム製作が一気に進みます!
posted by J-JSOFT at 09:08 | Comment(0) | TrackBack(0) | MSX回顧録

2023年03月27日

記録するもの

購入したMSXを、家で早速オープン!
購入したCF-2700には、カートリッジスロットが2つあるだけで、フロッピーディスクドライヴ(FDD)等は付いていません。
今では考えられないかもしれませんが、当時はフロッピーディスクは高根の花、記録媒体といえばテープがメインでした。
クリーンパソコンのSHARPのX1でもテープだったので、起動するたびにテープからのOS起動が必要でした…。
ゲームもカートリッジとテープで販売されていた時代です。

と、いう事でプログラムの記録にはカセットテープが必要になります。
しかしながら専用のデータレコーダーは非常に高価で手が出せなかったので、専用のCMTケーブル(MSXとデータレコーダーを接続する線。たしか980円位だった)だけ買ってきて、ラジカセで代用していました。
4_1_6.png
画像出典: 『出張買取 東京コレクターズ』
https://tokyocollectors.net/2021/04/01/aiwa-%E3%82%A2%E3%82%A4%E3%83%AF-data-recorder-dr-20%EF%BC%9Ccmt%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB%E4%BB%98%E3%81%8D%EF%BC%9E%E2%97%86msx-%E3%83%87%E3%83%BC%E3%82%BF%E3%83%AC%E3%82%B3%E3%83%BC/


「ラジカセで代替えできるなら、データレコーダー要らないじゃん!」と、思われるかもしれませんが、あくまで代替えです。
ラジカセだと何回かに1回は必ず「読み取りエラー」を起こしました。
だから記録するときは書き込みエラーが出てもいいように2本のテープに記録していました。
今思うとすごい時代ですね…。

これで、最低限のプログラミング環境は整いました!
posted by J-JSOFT at 04:57 | Comment(0) | TrackBack(0) | MSX回顧録

2023年03月26日

私とMSX

私がMSXを買ったのは、中学校を卒業した春休み、当時大流行した「ミニコンポ」を、友人と見に電気屋さんに行った時の事。
店頭に、MSX(MSX1)が安売りされていました!
忘れもしないNational(現、Panasonic)の「CF-2700」でした。
4_1_4.png
画像出典: 『The Centre for Computing History』
http://www.computinghistory.org.uk/det/17206/Panasonic-MSX-CF-2700/

なんと定価59,800円が、9,800円で売られていました!
しかも残り3台!
この時は知らなかったのですが、なぜ安売りされていたのかというと、この時すでにMSX2が発売されて1年以上経過しており、在庫処分だったようです。
元々コンピューターに興味があり、SHARPのポケットコンピューター(通称ポケコン)を所持し、BASICプログラミングをしていた私は必然的に一目惚れ(?)し、慌てて家に帰り親に小遣いを前借りし、その足で再び電気屋に向かい購入しました。

因みにこれがポケコン。
右下にある横長の電卓みたいな部分だけ取り外せます。
4_1_5.png
画像出典: 『Wikimedia Commons』
https://commons.wikimedia.org/wiki/File:Sharp_PC_1251.jpg


これが、私とMSXの出会いです。
この日、なぜか友人も一緒に購入しました。
posted by J-JSOFT at 04:28 | Comment(0) | TrackBack(0) | MSX回顧録
検索
<< 2024年12月 >>
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 31        
広告
最新記事
ブログランキング
にほんブログ村 ゲームブログ ゲーム制作へ
プロフィール
J-JSOFTさんの画像
J-JSOFT
高校時代、あれほど熱心に取り組んだMSXに触れなくなって30年余…。 MSXエミュレータとの出会いで、MSX愛が再燃中。
プロフィール
カテゴリーアーカイブ
ファン
QRコード