2021年04月26日

レトロゲーレビュー:ファミリーベーシック【1984年・任天堂】

re2104-00.JPG
※ここに掲載された画像は、問題があれば削除いたします。

 今回は、今までのレトロゲー探訪記とは一線を画す記事になる。というのも、今回紹介するのは、レトロではあるがゲームではないからだ。
 今回紹介するのは、それまではゲーム機でしかなかったファミコンをパソコンにクラスチェンジする夢のソフト。そう、ファミリーベーシックである。

【 普通のBASICとは違うところ 】

 さて、このファミリーベーシックは、ファミコンで、BASICによるプログラミングができるようになるゲーム開発ソフトである。
 BASIC環境であるが、このファミリーベーシックには二つ、一般のBASICとは違うところがある。
 まず一つ、それは電卓や簡易ワープロ、占いなどの機能を標準装備していること(ただし、これらの機能はV3では削除された)。また、起動時の画面も、ファミコンとユーザーが対話を行うようなインターフェースになっている。これはおそらく、プログラミング初心者に対する敷居を下げる配慮ではないかと思われる。

re2104-01.JPGre2104-02.JPG
▲ BASIC以外にも標準装備されているツールたち

そしてもう一つは、背景作成用のモードを持つところだ。
ここでは、色々なパーツを組み合わせて、ゲームの背景を作ることができる。これも、ゲームを作りやすくする工夫であろう。
旧ベーマガでは、このモードで背景を作るゲームの場合、その背景の設計図が載せられていたものだ。

re2104-03.JPG
▲ 簡単にゲームの背景を作ることができるBG-GRAPHICモード

【 ファミリーベーシックの悲劇 】

 さて、先ほど、特徴は二つあると書いたが、弱点も二つあった。
 一つは、カートリッジの高さとそれによる悲劇である。
 Wikiによれば、ファミリーベーシックのカートリッジは、ふつうのゲームの倍ほどあり、しかも重心が上にあるため、接続部がずれてフリーズし、せっかくのプログラムなどのデータが消えることがよくあったそうだ。
 これははっきりいって恐怖であろう。定期的なセーブは忘れずに、の世界である。
 そしてもう一つは、メモリが少ないこと。V1.0(V2.1A)で約2KB、V3.0で4KB。今やGBが当たり前の昨今と比べると、隔世の感がある。だが、ファミリーベーシックに取り組んでいた先人たちは、この少ないメモリの中、いろいろと工夫して、色々なゲームを作ってきたのである。

re2104-04.JPG
▲ V2.1Aでは、約2KB(1982B)……

re2104-05.JPG
▲ V3.0でも約4KB(4086B)……

【 ファミリーベーシックの栄光 】

 さて、メモリも機能も、パソコンに比べると貧弱だったFAMILY BASIC。先人たちは、マシン語を使うなどの色々な工夫で、この問題をなんとかクリア、あるいは緩和し、色々なゲームを作ってきた。これは先ほど説明したとおりである。
 それらのゲームは、旧ベーマガに投稿されることもあり、中には、「これほんとにファミリーベーシック!?」と思わせるような傑作・名作もあったりした。
 ニコニコ動画には、そんな往年のファミリーベーシックで開発されたゲームの動画が投稿されているので、見てみるのもいいだろう。
 何しろ、旧ベーマガでのファミリーベーシックの投稿は、96年4月まで、約12年もあったというのだから、そのすごさがわかるというものだろう。

【 最後に 】

 ここまで、ファミリーベーシックについて紹介してきたが、どうだっただろうか?
 ファミコンをゲーム機からパソコンにクラスチェンジすることのできるファミリーベーシック……まさに夢のソフトである。
 メモリは少ないが、少ないなかにも無限の可能性を秘めている……。それがこのソフトだろう。
 ファミコンを持っているあなた。ぜひともこれを入手して、その無限の世界に飛び込んでみてはどうだろうか?
 もちろんB-Magaでは、ファミリーベーシックのゲームも募集しているぞ!

※ファミリーベーシックは、任天堂、シャープ、ハドソンの製品で、著作権はこれらの会社にあるものと思われます。ここで使われている画像の二次使用を禁じます。


※次の更新は特集の予定です。お楽しみに! また、次回はゴールデンウィークを挟むため、更新は5月10日ごろになります。ご了承ください


posted by 裏編 at 13:58| Comment(0) | その他のゲーム情報 | 更新情報をチェックする

2021年04月19日

師匠のVB.NETどたばた塾~第20回

sisyo.gif
師匠T:いたた……。師匠Tじゃ。

deshi.gif
弟子D:弟子Dだぜ! ……って、どうなさいましたか、師匠?

sisyo.gif
なんか腰や股関節のあたりが痛んでのう……。昨日寝違えたのが原因じゃろうか……。

deshi.gif
(師匠が体調不良? これは師匠を倒すチャンス!!)とりゃーっ!

sisyo.gif
超級ベーマガ王電影弾!!

deshi.gif
うわあっ。

sisyo.gif
腰や足を痛めたからといって、そうを簡単にわしを倒せると思ったか、愚か者めが。
さて、今回は、敵キャラについて、モジュール側の処理についてやっていくとするぞ。しっかとついてくるがよい。

deshi.gif
は、はい……。

【 少し改造するのじゃ 】

sisyo.gif
さて、さっそくじゃが、前回GraphModuleに追加したサブルーチンや関数のうち、いくつかを改造していくぞ。

deshi.gif
なんと。それはなにゆえです?

sisyo.gif
それは、MoveExにて、Select Caseで別々の移動処理に分岐させるのと同じ理由じゃ。いくつもの敵を出現させたいとき、それに対応できるようにするためじゃ。

deshi.gif
なるほど。

sisyo.gif
では、GraphModuleをこのように修正するがよい。赤枠が修正した部分じゃ。

vb2104-01.jpg

deshi.gif
あの、師匠。このOptionalというのはなんぞや。

sisyo.gif
うむ、それは、デフォルト値(省略した時に入る値)を許す時につけるものじゃ。これをつけると、省略した時に、指定した値(この場合は0じゃな)が設定した引数に入るのじゃ。
こうしておけば、呼び出し元は変えずに済むじゃろ? 別のグラフィックを使いたい時には、引数を指定すればよい。

deshi.gif
なるほど。

sisyo.gif
他の修正部分は大したことはしておらぬ。ハンドルを格納する変数を配列にし、その配列変数にハンドルを格納するようにして、さらにGetEnemyHnd関数では、渡した引数に応じた配列に格納されたハンドルを返すようにしただけじゃ。

deshi.gif
なるほど、わかりました!

sisyo.gif
うむ。それでは続いて、いよいよモジュール側の処理に取り組んでいくぞ!

【 いよいよ本題じゃ! 】

sisyo.gif
それではさっそく、EnemyModuleという名のモジュールを作り、処理を書いていくことにしようぞ。
刮目してみよ。これが、EnemyModuleの中身じゃ!!

vb2104-02.JPG
vb2104-03.JPG
vb2104-04.JPG
vb2104-05.JPG
vb2104-06.JPG

deshi.gif
おおっ!!

sisyo.gif
とはいっても、やっていることはShotModuleとほぼ同じじゃ。ポイントというポイントは、敵の位置を決めるところじゃな。今回は、出現するX座標はランダムに決めておる。GetRand()は、0から引数までの乱数(でたらめな数)を返す関数じゃ。

deshi.gif
ということは、createEnemyの

wx = SCREEN_X + GetRand(SCREEN_W - 32)

の部分は、SCREEN_X(画面の左端)から、SCREEN_W(画面の幅)までのランダムな位置を計算してるんですね。32を引いているのはなぜですか?

sisyo.gif
うむ、GetRand(SCREEN_W)にしたら、この値が最大値になったら画面右からはみ出してしまうからの。敵キャラのサイズだけ範囲を狭くしているのじゃ。

deshi.gif
なるほど。

【 敵の出現はどう制御する? 】

sisyo.gif
ではこれらのサブルーチン関数を、各所にはめ込んでいくとしよう。MainModuleのPlayInitとGameMainを、このように書き換えるがよい。赤枠が追加した部分じゃ。

vb2104-07.JPG

deshi.gif
なるほど。PlayInitで敵を全て消す処理を入れて、GameMainに、敵の移動処理と描画処理を入れてるんですね。PlayInitに、ついでにショットを全て消す処理を追加してるのは見なかったことにします。

sisyo.gif
うむ。さて、ここまでやってきたところで、一つ考えなければならんことがある。それは、敵の出現処理をどうするかじゃ。

deshi.gif
普通に、createEnemyを、GameMainに追加すればいいだけじゃないんですか?

sisyo.gif
ほう、それで大丈夫と思うかな? それではやってみよ。

deshi.gif
はい。かたかた……。動かしますね。

deshi.gif
ああっ! 敵キャラが! 次から次へと敵キャラがあああ!!

vb2104-08.JPG

sisyo.gif
どうじゃ、これではゲームにならんじゃろう。
それではどうするか、ということじゃが、それは次回のお楽しみとする。
次回はこれと、敵キャラと自機、ショットと敵キャラの当たり判定についてやっていくとするぞ。

deshi.gif
はい、師匠!

sisyo.gif
ふう……やっぱり腰が痛いのう。

deshi.gif
(チャーンス!)この講座は俺のものだー! とりゃー!

sisyo.gif
石歯天経拳ーーーー!!

deshi.gif
うわあっ。



※次の更新は、レトロゲーレビューの予定です。お楽しみに!

posted by 裏編 at 14:18| Comment(0) | 師匠のVB.NETどたばた塾 | 更新情報をチェックする

2021年04月12日

師匠TのチャレンジARSゲーム!~第弐拾八回:デゼニワールド【ハドソン】(その2)

うむ、師匠Tである!

無事にデゼニワールドに出発できた主人公であるが、本番はこれからじゃ!
これからもネタと、そして謎が我らを待ち構えておる。心してゆくとしようぞ!!
では、続きを始めるぞ!

【 本編じゃ! 】

ars2104-01.JPG
デゼニワールドに到着すると、いかにもこれがOPですとでも言いたげなBGMが流れ出す。
つまり、これからが本当の冒険ということじゃろう。
さっそく、気合を引き締めていくとしようぞ。制圧前進じゃ!!

ars2104-03.JPG
道に足跡と、そして紙が落ちておるな。紙は『HAL3』を狂わせた張本人からの挑戦状のようじゃ。
むむむ、面白い、その挑戦、受けてやろうではないか!

ars2104-04.JPG
闘志を胸にやってきたのは、最初のパビリオン、『ランド』じゃ。
最初のパビリオンとはいっても、油断は禁物。心してかかれよ!

ars2104-05.JPGars2104-06.JPGars2104-07.JPG
『ランド』はこのような、展示スペースをぐるぐる回るだけの施設。
とはいえ、ぐるぐる回っているわけにもいかぬ。ここのどこかで道をそれれば……。

ars2104-08.JPG
この通り。別な部屋に出られるぞ。さて、ここにはドアが二つ。まずはどちらから入ろうか?

ars2104-09.JPG
いきなり出口とはラッキー!と思うのは甘い。ここから出てしまうと……?
ここでは、そのわきのロッカーに入っているものに注目じゃ。

ars2104-10.JPG
通路の壁にこのような張り紙が。デゼニワールドのスタッフが残していったものであろうか?
よほど深刻な事態になったのであろう。
だが後戻りはできぬ! 制圧前進あるのみじゃ!!

ars2104-11.JPG
次なる部屋にもドアが二つ。この落書きも、スタッフが書き残したものであろうか?
そしてこの番号は一体……?

ars2104-12.JPG
テーブルの上に鍵と紙が。この鍵は一体? そしてこの紙は、もしかしてスタッフが残していったものなのか?

ars2104-13.JPG
出口らしいドアの前にやってきたが、びくともしない。押してダメなら引け……とはよくいうが、それでクリアできるほど、このドアは甘くないぞ!!



次回に続くのじゃ!!



==========
※次の更新は、新連載『師匠のVB.NETどたばた塾』の予定です。お楽しみに!
posted by 裏編 at 09:21| Comment(0) | チャレンジARS | 更新情報をチェックする

2021年04月05日

スマホでもPC!? スマホ用PCエミュレータ・PC-6001、MSX、ポケコン、一気に三種紹介!

昔のPCに簡単に触れることのできる『エミュレータ』。まさかに魔法(?)のソフトですよね。

Windowsには、色々な機種のエミュレータがあるのですが、Windowsパソコンを持ってない人もいるかもしれません。

ですが、大丈夫です!

世の中には、スマホで動くエミュレータもあるのです!
これがあれば、スマホやタブレットがあれば、いつでも昔のPC用のプログラムを作ったりすることができるのです。

今回は、そんなスマホ用のエミュレータを三つ、紹介していきましょう。



【 MSXにはfMSX! 】

まずMSXですが、これにはfMSXというエミュレータがあります。fMSXといえば、MSXのエミュレータとしては有名なものですよね。

さて、このfMSXにはBIOSが内蔵されていますので、インストールすれば、そのまま使うことができます。ソフトウェアキーボードもありますので、プログラミングも可能です。

再現性としては、キャラジェネを使うプログラムはちゃんと動作しました。設定には、スプライトの項目もあるので、きっとスプライトを使うプログラムも動くでしょう。

ただ、無料版では、ディスクやカセットテープへのセーブはできないようなので、そこは注意が必要です。
あと、仮想キーボードが小さくて、ちょっと使いずらいのが欠点でしょうか。

tok2104-01.png

【 P6にはPC6001VX! 】

続いて、パピコンことPC-6001ですが、こちらにはPC-6001VXというエミュレータがあります。

こちらにもBIOSは内蔵されていますが、より再現性を高めたいなら、以前紹介した、PC-6001用互換BASICのROMを使うといいでしょう。導入方法も、指定されたフォルダにコピーするだけと、とても簡単です。

再現性もかなりのもの。マシン語を使ったプログラムもちゃんと動きます!(こちらのサイトで配布されている、DRAKという同人(?)ゲームで確認)

しかも、fMSXと違い、こちらはちゃんはテープイメージへのセーブやロードも可能ですので、プログラムの保存もばっちりです!(ただロードするには、ちょっと手順が必要ですが)

ただ、fMSXもそうでしたが、シフトキーを使う場合、シフトキーと目的のキーを一緒に押さなければならないところが難点ですね。あちらよりは仮想キーボードが少し大きいのが救いですが……。ぜひとも、アップデートすることがあれば、シフトロックを実装してほしいところです。

tok2104-02.png

【 ポケコンにもエミュ! 】

最後に紹介するPokecom GOはポケコン、PB-100のエミュレータです!

こちらは、キーボードがPB-100をかなり再現している他、プログラムリストをテキストファイルから読み込んだり、書きだしたりと、かなり使いやすくなっています。

BASICの再現度も、試しに、PB-100について扱っているサイトから、プログラムをダウンロードしてきて動かしてみましたが、ちゃんと動きました。かなり高いようです。

それと、こちらではちゃんとシフトロックがついている!(PB-100にはそもそもついているのかもしれませんが)これは、プログラミングするうえには大助かりですよね。

昔、PB-100を扱っていた人がもう一度PBに触れてみるにはとてもいいと思います。

なお、他のポケットコンピュータをエミュレーションすることも可能ですが、その場合はBIOSが必要となるので注意してください。

tok2104-03.png

【 最後に 】

ここまで、三本のスマホ用エミュレータを紹介してきましたが、いかがでしたでしょうか?
外出自粛の昨今。エミュレータで、昔のPCのプログラミングにふけるというのもいいかもしれませんよ。

特に、Pokecom GOは、PB-100がそもそもポケットに入れて持ち歩けるものだったので、スマホととても相性がいい……かもしれません。もちろん、他のエミュレータもおすすめですよ!



※次の更新は『師匠TのチャレンジARSゲーム!』の予定です。お楽しみに!
posted by 裏編 at 09:47| Comment(0) | 特集 | 更新情報をチェックする