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定義への変更例。
イーロン・マスクが12才のとき作って販売したとされるゲームプログラムの記事を読んだけど、年齢相応の、たとえて言うとベーマガに載るような作品でちょっとほっとした。https://t.co/JaOO7Dui3m
— SHIMADA (@_shimada) May 8, 2022
(リチャード・ギャリオットのアカラベスみたいな代物だったらどうしようと思ってた)
ベーマガこと、マイコンBASICマガジンの存在は日本のIT業界創出に多大な貢献をしてますね。
当時のこどもたちも雑誌に載ったプログラムに憧れ、打ち込み、学びました。
マイコンBASICマガジンの別冊、貴重なMSX-MSX2プログラム大全集を「イチゴジャムレシピ」運営者のふうせんさんより譲っていただきました!ありがとうございます。
ゲームのアイデアや、コンピューターを限界まで活用するテクニックは、今でも有効です!
今まで知らなかった、CTRLと合わせて使える、キーボード操作の技!
ベーマガの創始者、大橋太郎さんのインタビュー!
「「やりたいこと」ではなくても前向きに捉え、やっているうちにのめり込む。大橋太郎さんインタビュー - さくマガ」
オープンソース文化に通じるベーマガ文化、現代のこどもたちが切磋琢磨する環境、創りましょう!