カテゴリー
JavaScript 手を動かす

初めてのクソゲー

初めてのクソゲー

今回は、僕が小学生の頃初めて作ったゲームについて語りたいと思います。クソゲー誕生秘話なのです。

君はMSXを知っているか

少し昔話をしましょう。

僕がまだ小学校低学年ぐらいの頃、家にはファミコンの他にもう1つ、MSXというコンピュータがありました。

MSXは、キーボード一体型のコンピュータで、ファミコンと同じようなカートリッジカセットを挿してゲームで遊べる他、趣味でプログラミングを楽しめるという親父のおもちゃでもあったわけです。

ちょうど「ゲームは1日2時間まで」という我が家のファミコンルールを破り、電源アダプタを母親に隠されて退屈していた僕は、親父の部屋に置いてあったMSX本体と『BASICプログラミング入門』などと書かれた雑誌に興味を持ち始めます。

BASICは、1970年代以降のコンピュータで広く使われた初心者向けの言語であり、MSXでそのソースコードを記憶する媒体はなんとカセットテープ。
テープを再生することでデータを読み込み、録音することでデータを書き込んでいました。

資料になりそうなエントリーがありましたので紹介します。

初めてのクソゲー『ちかん』の誕生

BASIC入門雑誌を開くと、そこには50行ほどの短いソースが載ってありました。

命令文の意味もよくわかっていませんでしたが、これを見本通りに手打ちすると『しりとり』ゲームが完成しました。
とても簡素でしょぼい『しりとり』でしたが、入力に対して即座に計算し答えを返してくる反応に興奮しました。
僕が初めてゲーム作りのおもしろさを知った瞬間でした。

そこで次は、頑張って150行ぐらいの『おいかけっこ』ゲームのソースを手打ちすることにしました。
自機に向かって敵が追随してくるシンプルなゲームでした。

画面上で、敵「▲」が自機「●」を追いかけてくる様子を見て、「なんだよこれ、●って誰だよ」と思いました。
ファミコン漬けの毎日を送り数多くのゲームをプレイしてきた小学生にとって、それはあまりにも自然なリアクションでした。

「工夫すればもっと面白くできる!」
そう考えた僕は、考えを巡らせました。

ただ、そこはアルファベットすら馴染みのない小学生です。
おいかけっこするアルゴリズムを理解し書き換えるなんてことはほぼ不可能でした。
それでもなんとか、「●」と「▲」と書かれた箇所が自機と敵だということは理解できました。

アレコレ考え抜いて『おいかけっこ』ゲームはこうなりました。

ちかん
※イメージです

そうです。
自機を「女」に、敵を「男」にすることでそこに『男から逃げ回る女性』というシーンが生まれ、タイトルを『おいかけっこ』から『ちかん』(痴漢という漢字は知らず)に変更して、ゲーム性をアップしたのです。今考えると最悪の発想ですが。。

どういう思考でこのアイデアが生まれたのか、今となっては定かではありませんが、おそらくBASIC入門本と一緒に本棚に置いてあった週刊ポストが、思春期の少年に悪影響を及ぼしたのかもしれません。

enchant.jsを使って『痴漢』を作ってみた

でまー、その『ちかん』をですね、enchant.jsを使って再現しようと試みたのがこちらです。

痴漢
痴漢 – sakotsu inspire

  • 十字キーで操作してください
  • IE他、旧ブラウザには対応してないかもしれません

 

すいませんでした。

enchant.jsのよくわからなかった箇所

JavaScript製なのでiPhoneでも見れるかな、と思ったのですが読み込み時にエラーがある様子。
そのあたり、ちょっとまた調べてみます。

あと実装の段階で、以下の点あたりがよくわかりませんでした。

  • 「いいね」ボタンを設置したいのですが、JavaScriptの挙動のせいか既存ソースが無効化?上書き?されてしまいます。なにか回避作等あれば、、
  • Spriteクラス内でthisをaddChild()する書き方
  • dispachEventの使い方
  • Spriteの参照を他クラスに渡せない
  • EventTargetクラスの拡張の書き方
  • Scene管理

わかる方、ヒント頂けるとうれしいです><

後日談・まとめ

『ちかん』を作った後は、FF3だかDQ4にどっぷりハマってしまって、それ以降BASICプログラミングを触ることはなくなってしまいましたが、今も尚、実家に眠っている『ちかん』と雑に書き殴られたテープは、製作を生業としている僕にとっての原点であり、かけがいのない宝物なのかもしれませんね。

(^q^)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です