2024年02月19日
進級
専門学校の友人全員無事進級し、クラス替えがありました。
元々、資格試験の前には各自のレベルに合わせた授業をするためにクラス替えをしていましたが、それは期間限定クラスで、試験が終わると解散し元のクラス(私は6組)に戻っていました。
2年生では、完全に成績順のクラス分けになりました。
全部で6クラス。
私は1組。
当然、全員第二種情報処理技術者資格持ち。
要するに第一種情報処理技術者試験に向けてのクラス分けです。
2組は有資格者が半分くらいだったような…。
いつもの居候組メンバー5人は、確か2組2人、3組1人、4組1人、5組1人でした…。
見事にバラけてますね。
2組と3組の3人は、第二種情報処理技術者資格合格者でした。
なぜ1人資格持ってるのに3組なのか?
授業中ずーっと寝ていたらしく、授業態度によるものらしい…。
居候組メンバーが同じクラスにいない中、寂しい思いをせずに済んだのは、1年の時のクラスの友人の何人かが一緒の1組だったから。
しかもその中にMSXのプログラミング友達もいました。(2023年10月21日記事参照「プログラミング仲間」)
彼の存在が大きかった。
ただまぁ、1組だからみんな静かに授業受けてるかと言うと全くそんなことはなく、授業そっちのけでゲーム雑談しまくって講師に「うるさい!!」と何度怒られたことか…。
私とそのMSXの友人が「特にやかましい」と、名指しで怒られたことはいい思い出です…。
2024年02月18日
【ゲーム制作】無人島脱出アドベンチャーゲーム 第17回
無人島脱出アドベンチャーゲーム 第17回です。
今回も「スクリプト」の続きを組んでいきます。
…と、思っていたらメッセージデータエリア(&HA000~&HAFFF)のメモリが足りなくなりそうです!
まだ30個くらい組んだところで、&HAE00超え…。
まだ、フラグ分岐でのイベント発生を全く組み込んでいないので、全然足りません。
メッセージデータってメモリ食うんですね…。
悩みましたが、仕方ない。
メッセージデータを4分割します。
1ファイル当たり6〜9イベント位だと余裕があるかな?
それに伴い、ディスクからデータを読み込む必要があるのでスクリプト命令を1つ追加します。
命令 | 意味 | 記述 | 動作 |
FL | FileLoad & eventstart | FL,f1,e1 | ファイルG1をディスクから読み込み、イベントF1を実行する。 |
「ES」(イベントスタート)命令の亜種です。
自イベントから他イベント実行前にファイルを読み込みます。
当然、ディスクを使うので一旦BASICに戻ります。
スクリプト命令を受けてBASICへ戻る。
BASIC部でファイルを読み込んでイベントリスタート。
ファイルを読み込んだ際、ファイル名が誤っていないかファイルu\示。
データとデータ間の移動の時は、「FL」を利用します。(場面12と11間の移動など。)
もっと1イベント当たりのメッセージデータが多い時は、画像データと同じように1ベント1メッセージデータファイルにすれば問題ないです。
スクリプト組みと、メッセージデータ分割に、ちょっと時間かかるかも…。
2024年02月17日
【ゲーム制作】無人島脱出アドベンチャーゲーム 第16回
無人島脱出アドベンチャーゲーム 第16回です。
今回は「スクリプト」を組んでいきます。
まずは、場面(画像)表示。
とりあえず画像は後で用意するので、今は表示画像に誤りがないか確認できるよう「場面avをテキスト表示しておきます。
次にコマンドメニュー選択。
今作にはシステムメニューが存在しないので、前作でシステムメニュー項目だった「もちもの」、「セーブ」がコマンドメニューに入ります。(メモリ節約。)
ただ、「セーブ」は全場面で入れる必要はないので、数場面に1回メニューに現れるようにします。
「いどう」コマンドで移動可能先表示。
移動すると、場面表示に戻ります。
次に「セーブ」コマンドで保存先表示。
ここまで問題ありません。
次回、「スクリプト」の続きを組んでいきます。
2024年02月16日
【ゲーム制作】無人島脱出アドベンチャーゲーム 第15回
無人島脱出アドベンチャーゲーム 第15回です。
今回も「スクリプト命令」を組み込んでいきます。
では、追加予定スクリプト命令の最後「IL」です。
所持アイテム一覧になります。
前作では、「システムメッセージ表示ルーチン」で表示していたものです。
今作は「システムメッセージ表示ルーチン」は破棄していますので、通常の「メッセージ表示ルーチン」で表示します。
良い感じですね。
メッセージ表示ウェイトも効いているので、ゆっくり表示されます。
スクリプト命令を受け取ってサブルーチンコール。
所持アイテム一覧表示サブ。
今作のアイテム設定プログラムです。
とりあえずアイテムは5つ。
スクリプト命令が揃いましたので、次回はスクリプトを組んでいきます。
2024年02月15日
【ゲーム制作】無人島脱出アドベンチャーゲーム 第14回
無人島脱出アドベンチャーゲーム 第14回です。
今回も「スクリプト命令」を組み込んでいきます。
前作ロールプレイングゲームには、マップの「探索」部があったので、そこでシステムメニューが使えました。
今作では、イベントからイベントを呼んで、ゲーム中ずーっとイベント処理を継続していきますので、システムメニューを介在させることが出来ません。
と、言う訳で前作システムメニューにあった、「どうぐ」と「セーブ」は、今作ではコマンドメニューに入れる事になります。
そのため、スクリプト命令が必要になります。
まずは「SV」。
ディスクへのデータ保存命令の為、BASIC部で処理する必要があります。
前作の「BE」同様、イベント処理を抜けてBASICへ戻り、再度マシン語へ戻り、スクリプトの続きから実行する命令です。
ただ、「BE」の様に勝敗等の条件で、マシン語部へ戻った時の分岐がないので単純です。
マシン語部でイベント抜け。
BASIC部で処理後マシン語部呼び出し。
マシン語復帰用呼び出し先。
次は処理の流れが「SV」と全く同じなので「SC」。
画像データをディスクから読み込む命令の為、BASIC部で処理する必要があります。
BASICへ復帰する際の、フラグ値が異なるだけです。
マシン語部でイベント抜け。
BASIC部で処理後マシン語部呼び出し。
マシン語部への戻り先は「SV」と同じです。
次回は、追加予定「スクリプト命令」の最後「IL」を組んでいきます。
2024年02月14日
【ゲーム制作】無人島脱出アドベンチャーゲーム 第13回
無人島脱出アドベンチャーゲーム 第13回です。
今回は足りない機能分の「スクリプト命令」を追加で組んでいきます。
命令 | 意味 | 記述 | 動作 |
SC | SCene print | SC,s1 | 画像T1を表示する。 |
IL | Item List | IL | 所持品一覧を標準メッセージウィンドウに表示する。 |
SD | SounD | SD,s | 効果音Tの効果音を鳴らす。 |
SV | SaVe | SV | 選択値(&HE015)のセーブファイル名で保存する。戻り値[3]でbasicへ戻る。 |
詳細設計時に書いた通り、とりあえず上記4つを組み込みます。
とりあえず、「SD」を組み込みます。
ほぼ「BM」と同じで、変数「演奏予約効果音avを設定するだけです。
走査線割り込みが掛かった時に、変数値をチェックし効果音の演奏が始まります。
演奏開始されると「演奏予約効果音avには&HFFがセットされます。
因みに「演奏予約効果音avに「0」を代入すると演奏停止になります。
次回も残りの「スクリプト命令」を組んでいきます。
2024年02月13日
【ゲーム制作】無人島脱出アドベンチャーゲーム 第12回
無人島脱出アドベンチャーゲーム 第12回です。
なんとか、無事一通りのスクリプトが動くようになりました。
長かった…。
本業を終え、家に帰ってからの短い空き時間、すべてバグ取り…。
本業のストレス緩和に始めたブログなのに、こちらでもストレスを抱えるというジレンマ…。
何度挫折しかかった事か…。
サブルーチンのコール先アドレスは、Excelの置換機能で一括置き換えできたので、大した労力ではありませんでした。
問題は、アセンブラ言語で言うところの「JR」命令(ジャンプ・リラティブ)の飛び先指定…。
何度見直して直しても、フリーズが一向に収まらない…。
後半、正直吐きそうでした。
もう、前作のロジックで、今作で使わない部分に新しいロジック組んでいく形でいいじゃん!って、思いかけていました…。(当然、バグフィックスはそのままの、汚いロジック。)
…本当にこのブログで公開すると言う目的(?)がなければ、間違いなく挫折してました。
さて、以前書いた通り、メッセージルーチンと、スクリプト処理ルーチンは完全に切り分けました。
そうしないと、前作のようにメッセージルーチンをシステムメッセージの表示に使えない状態になるので、そこだけは何とか頑張りました。
次回は、スクリプトが動くようになったので、詳細設計時に「足りない機能」として挙げた追加予定「スクリプト命令」を組んでいきます。
2024年02月12日
卒業発表
正確な月は覚えていませんが、1〜3月頃、うちの専門学校では卒業間近の最上級生(卒業生)が「卒業発表」なるものをするイベントがありました。
卒業生が数人単位のグループを作り、グループで興味のある課題に取り組み、その結果を発表する場となります。
在校生はいろいろな課題の中から、自分の興味のある発表課題を選び、発表グループに割り当てられた教室へ聴きに行きます。
当然、興味を引かれそうな課題には沢山の傍聴者が来るので、早いもの勝ちです。
やはり、ゲーム関係に集中。
その発表課題の中に、当時猛威を振るっていたSHARPの「X68000」でシューティングゲームを作ると言うのがあり、それを見に行きましたが、行くのが遅く既に満員御礼。
各教室の担当講師に、空席のある全く興味のない発表課題に回された覚えがあります。
…が、流石に興味のない発表課題、何を見たか全く覚えていません。
来年は自分らが発表者側なんだなー、などのんきに考えていました。
因みに「X68000」のシューティングゲーム、MSXのプログラム友達が見ていたらしく、「良く出来ていた!」と、誉めてました。
見たかった…。
2024年02月11日
ツールVer.2.0系 完成
マウスを購入したことで、ツールの操作性がグンと上がりました。
マウス操作対応版と言う事で、バージョンも2.0に統一。
Ver.2.0になると、もうほぼ機能は出来上がっているので、最新版と見た目同じですね。
ただ、操作はマウスオンリーです。
▲「SPRITE EDITOR Ver.2.0」
▲「FONT EDITOR Ver.2.0」
ツール系は1989年からVer.1.0を作り始め、完成とみなしたのがVer.1.2で1990年でした。
1989年のゲーム制作数が異様に少ないのはそのためです。(2024年1月31日記事参照「公開状況」)
因みにツール除くと1990年の制作数が少なくなりますが、それはまたのちほど…。
マウス操作対応版と言う事で、バージョンも2.0に統一。
Ver.2.0になると、もうほぼ機能は出来上がっているので、最新版と見た目同じですね。
ただ、操作はマウスオンリーです。
▲「SPRITE EDITOR Ver.2.0」
▲「FONT EDITOR Ver.2.0」
ツール系は1989年からVer.1.0を作り始め、完成とみなしたのがVer.1.2で1990年でした。
1989年のゲーム制作数が異様に少ないのはそのためです。(2024年1月31日記事参照「公開状況」)
因みにツール除くと1990年の制作数が少なくなりますが、それはまたのちほど…。
2024年02月10日
マウス購入
マウス購入しました!
目的はやはりツールの「SPRITE EDITOR」、「FONT EDITOR」、「MAP8 EDITOR」で、ジョイスティックとキーボード操作じゃ思い通り描けなかったからです。
画像出展:『MSX Resource Center』
https://www.msx.org/wiki/Tokyo_Needs_TN-88B
1回買って、壊れて、もう1回同じ物を買ったので忘れもしない東京NEEDSのマウス。
売ってる中では一番安かったのですが、この頃のマウス高くて、5,000円位したような覚えがある。
どうやら定価は7,800円のようです。
因みにこの頃使っていたジョイパッドはこちら。
よく見かける奴です。
画像出展:『MSX Resource Center』
https://www.msx.org/wiki/Panasonic_FS-JS220
目的はやはりツールの「SPRITE EDITOR」、「FONT EDITOR」、「MAP8 EDITOR」で、ジョイスティックとキーボード操作じゃ思い通り描けなかったからです。
画像出展:『MSX Resource Center』
https://www.msx.org/wiki/Tokyo_Needs_TN-88B
1回買って、壊れて、もう1回同じ物を買ったので忘れもしない東京NEEDSのマウス。
売ってる中では一番安かったのですが、この頃のマウス高くて、5,000円位したような覚えがある。
どうやら定価は7,800円のようです。
因みにこの頃使っていたジョイパッドはこちら。
よく見かける奴です。
画像出展:『MSX Resource Center』
https://www.msx.org/wiki/Panasonic_FS-JS220