2022-05-11
イーロン・マスク氏もBASIC育ち!と、Twitterで情報いただきました。(感謝! @senooyoukoさん)

1984年、テスラやスペースXのCEO、イーロン・マスク氏が12才の時に作ったというBASICのプログラム「BLASTAR」。 そのソースコードが紹介されていました(blastar.txt)。IchigoJam BASICを知っている人であれば、だいたい読めますね。宇宙を感じるオープニングミュージックを再生するPLAYコマンド。

80 ' BLASTAR TUNE 90 PLAY"O3L50CECECDBABADACECEBDACDBDCEGG" 100 PLAY"O4L50CECECDBABADACECEBDACDBDCEGG" 110 PLAY"O3L50CECECDBABADACECEBDACDBDCEGG" 120 PLAY"O4L50CECECDBABADACECEBDACDBDCEGG"

IchigoJamでも同じように鳴らせます。

PLAY"$O3L50CECECDBABADACECEBDACDBDCEGG"

そのままだと1オクターブ低いので、O4に。テンポはLではなくTコマンドで。IchigoJamのPLAYコマンドは非同期(再生終了を待たない)なので、2行分のMMLを続ける形にして、繰り返しの$を先頭につけ、タイミングを取ってWAITで終了。

10 CLS:LC13,0:PRINT"BLASTAR" 20 PLAY"$O4T1800CECECDBABADACECEBDACDBDCEGG O5CECECDBABADACECEBDACDBDCEGG":WAIT290:PLAY 30 IF !BTN() CONT ELSE RUN RUN

run on IchigoJam web (右下のAUDIO ONを押すと音が鳴ります。本体ボタンの代わりに、画面タップでもう一度。)


こちらは BLASTAR をwebアプリで再現したものの紹介動画。

宇宙を舞台にしたシューティングゲーム。敵にレーザーを打たれるステータスに入ると左右に動けなくなるのが個性的!

BASICのプログラムを読んでみると、12才のマスク氏の想いが伝わってきます。
現代のこども達なら、IchigoJamで、どう実装するでしょう?

5つ定義されたオリジナルキャラクターをIchigoJamで再現!

BLASTAR CHARs RUN on IchigoJam
プログラムの2進法のDATA文、IchigoJamだと10進法化するコンパクトになりますね。下記は、Deno/JavaScriptを使ったPCG定義への変更例。 s.split("\n").map(s => parseInt(s.substring(9), 2)).join(",")

ベーマガこと、マイコンBASICマガジンの存在は日本のIT業界創出に多大な貢献をしてますね。 当時のこどもたちも雑誌に載ったプログラムに憧れ、打ち込み、学びました。

マイコンBASICマガジンの別冊、貴重なMSX-MSX2プログラム大全集を「イチゴジャムレシピ」運営者のふうせんさんより譲っていただきました!ありがとうございます。
ゲームのアイデアや、コンピューターを限界まで活用するテクニックは、今でも有効です!


今まで知らなかった、CTRLと合わせて使える、キーボード操作の技!

ベーマガの創始者、大橋太郎さんのインタビュー!
「やりたいこと」ではなくても前向きに捉え、やっているうちにのめり込む。大橋太郎さんインタビュー - さくマガ
オープンソース文化に通じるベーマガ文化、現代のこどもたちが切磋琢磨する環境、創りましょう!

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS