Jewel-mmo開発日記

RubyでMMORPGを作る過程を記録する日記。 Yokohama.rb 発起人。
2011-10-13

息子がプログラミングをはじめた

今年3年生になった息子に前から「ゲーム作りたいゲーム作りたい」と言われていた。プログラミング環境を用意してあげたいと思っていたところ、同僚の @fum1h1ro がMacbook Air 11インチ(昨年のモデル)を格安で譲ってくれた。

というわけで息子のプログラマー人生がスタート。

したのだけど、どうやってプログラミングを練習させたものか難しい。

さしあたって初日はターミナルからirbを開く方法を教えて、そこで変数の初期化と乱数と足し算を教えた。具体的にはこんなの。

hp = 1
hp = hp + rand(10)

息子の性格を踏まえてこのような地味なところからのスタートしている。 好きなことに対してだけは粘り強くて、そして単純に小さい頃から数字が好きだったので、こんなやり方が許されているところは多分にある。

で、こっから先どうしようかなと悩んでて、いい方法ないかなあ...。

そもそも3年生だと、持っている知識が少なくてなかなか難しい。とはいえ、国語の教科書を引っ張り出してきてアルファベットを使ったローマ字表記を一気に覚えてしまったくらいやる気はある。

子どもがプログラミングを学ぶにはやっぱりゲームかな。irb上でメソッドを呼び出していくことで進行させられるゲーム。息子はしょっちゅう武器やモンスターなどのゲームデータを紙に書きまくってるから(ほんとにとんでもない量の…)、アイテムやその発生率をCSVか何かで簡単に定義できると面白そう。

ただ単にアイテムリストを一覧表示するプログラムなんてのも好きそうだ。自分で作ったリストがゲーム即座に反映されたりHTMLで表示できたりしたらそれだけで楽しそう。

irbくらい容易に開始できるならJavaScriptの方がいいかもしれない。JavaScriptならブラウザ内に簡単に図形や画像を描画できる。node.jsを使えば当然irbみたいなことも出来るだろうし応用範囲が格段に広い。CoffeeScriptもいいかもしれないなあ。

そう考えると昔98上で動かしていたN88-BASICはすごかった。パソコンの電源を入れれば勝手に起動して、その場でソースを編集できて実行できて、文字だけじゃなくて線や円がスクリーンに描画できて、シンプルなマシン語世界に簡単に入ることができたりしたわけで。