Engineer25 第5回 星一氏
|
|
今回は、星一(ほしはじめ)さんにお話を伺いました。星さんは、Ruby用オープンソース・ゲームライブラリ「Star Ruby」の開発を手がけ、誰でも使いやすい2D描画エフェクトのライブラリを公開されるなど、Rubyの分野で積極的にご活躍されております。先日つくば国際会議場にて開催された「日本Ruby会議2008」にてStar Rubyのプレゼンをされるなど、注目は高まるばかりです。取材は、日本Ruby会議2008の初日、夕方の空時間に行いました。
星一(ほしはじめ)氏
- 1985年東京都生まれ 本名:同じ
- 横浜国立大学電子情報工学科卒業、東京大学大学院情報理工学系研究科創造情報学専攻
- Ruby用ゲームライブラリ「Star Ruby」開発、公開
- http://www.starruby.info/ja/
|
| 川井: | 今何歳なんですか?
| |
| 星: | 23歳、1985年生まれです。
| | 川井: | なるほど。ということは、年齢的に10歳でWindows95が出てきた感じですかね。
| |
| 星: | はい。Windows95が出たのは小学5年の時ですね。
| | 川井: | その前にコンピュータには触っていたんですか?
| |
| 星: | はい、触ってました。あんまり正確に覚えてないですけれども、小学3〜4年の頃には家にありました。で、当時はWindowsは入ってなくて、N88-BASICで遊んでました。学校の図書館にプログラミング入門のBASICの本があったので、それを読んで独学しましたね。
| | 川井: | 小学校の図書館にそういうのがあったんですね。何でそんなものをまた読んだんですか?
| |
| 星: | いや〜、興味引かれたからとしか言えないですけど。休み時間とか昼休みはずっとその本を読んで時間潰せましたね。
| | 川井: | 意味なんか最初は分からなかったんじゃないですか?
| |
| 星: | 全然分からなかったです。まず「代入」っていう言葉が分かりませんでした。あと、等式の右辺と左辺っていう意味もよく分かってなかったんですよ。憶測で、三角形の図形の左側の辺りと右側の辺りっていう意味なのかと思って、余計に理解出来なかったですね。やってたらそのうちわかるようになってきましたが。
| | 川井: | 周りにそういう人は結構いたんですか?
| |
| 星: | いや、僕だけでした(笑)
| | 川井: | (笑)じゃあみんな遊んでるのに、一人だけ昼も放課後も本読んで・・・
| |
| 星: | そうですね・・・いや放課後はさすがに読んでなかったです(笑)放課後は家でパソコンやってました。
| | 川井: | 放課後は家に帰ってパソコン、と。
| |
| 星: | そうですね、パソコンをやってました。ただ、ある日パソコンが壊れて、それを機に自然にしばらくやらなくなりましたね。
| | 川井: | そうですか。壊れなかったら、ずっとパソコンをやってたかもしれないんですね。
| |
| 星: | かもしれないですね。
|
|
|
| 川井: | 他に趣味とか、子供の頃に遊んだこととかありますか?
| |
| 星: | ずっとスーパーファミコンのゲームで遊んでましたね。
| | 川井: | スーファミ?(笑)
| |
| 星: | スーファミです(笑)シムシティばかりやっていました。
| | 川井: | ゲームはスーファミで遊ぶのみで、パソコンではプログラミングのみで遊んでいたと。完全にコンピュータ漬けという感じですよね。
| |
| 星: | そうですね。
| | 川井: | じゃあ目悪くなるでしょう。
| |
| 星: | はい。小学校1年の時から目が悪くなって、小学校入る前までは1.5だったのが、小学校6年の時はもう0.1ぐらいになってましたね。
| | 川井: | ほぉ(笑)6年間のコンピュータ生活で視力が悪くなっていったと。
| |
| 星: | そうです(笑)
| | 川井: | なるほど。小学校の後はどういう感じになっていったんですか?
| |
| 星: | 中学生の時にファミコン禁止を食らって、しばらく勉強してて(笑)
| | 川井: | 禁止したのはお父さんですか?それともお母さんですか?
| |
| 星: | 両方ですね(笑)で、高校に入ったときにパソコンを買ってもらったんですよ。それでまたパソコンに戻ることになったんですね。
| | 川井: | 何を買ってもらったんですか?
| |
| 星: | 飯山電機(現:iiyama)の……当時はまあまあコストパフォーマンスが良かったマシンですね。今度はそこではプログラミングはやらなくて、RPGツクールっていうツールでゲームを作ってました。
| | 川井: | なるほど。子供の頃はゲームとプログラミングは別だったけど、ここで合体したんですね。
| |
| 星: | 小学校の時はスキルがなかったので、RPGを自分で作るっていう発想にはならなかったですね。本格的にやりたいと思ったのは高校の頃からでした。
| | 川井: | 高校になってみたら「やってみるか」と。
| |
| 星: | RPGツクールはプログラミングじゃないんですけど、性能が良くて色んなRPGを作れたので、のめりこんでました。でも、今思えばろくなのが出来なかったですね(笑)とても人様に見せられないようなものばかりで(笑)で、RPGツクールの情報を集めたサイトを作りたいと思ってプログラミングを再開しました。小学生の頃と同じく、本を読んでPHPやPerlを勉強してホームページを作ってました。
| | 川井: | 簡単でした?
| |
| 星: | 最初は相当苦しみました。Perlでコーディングした時、最後の改行1個がないばっかりに延々エラーになったとか、そういう些細なエラーで3時間ぐらい悩んだりしました。それでも楽しんでたんですけどね。3時間ぐらい格闘したけど、それでもバグが取れると楽しいですね。
| | 川井: | 何がきっかけで、苦しんだところから楽しんでいけるようになるんでしょう。最初は大変苦しかったんでしょ?どういったきっかけで開眼したんでしょうか。
| |
| 星: | やっぱり小さい成功を繰り返すことでしょうか。自分が好きになったものを、無理しないでちょっとずつ作っていって増やしていくのがいいかと。
| | 川井: | じゃあ、星さんは作りながら覚えていくタイプですね。教科書を一からじゃなくて、自分で作って必要な部分を調べてやっていくという。
| |
| 星: | そうですね。
| | 川井: | なるほど、それがいいんですよね。たまに致命的なところは抜けたりするんだけど、それはまたそれで覚えればいいわけですしね。私も中学の頃、大学の数学とかやってたときにそういう現象に陥るんですよね。いきなり中学生で微分積分の問題やったりするでしょ。足りないものが出てくる。で、数戻ったりとか。
| |
| 星: | 文法規則とかリファレンスとかだけだと絶対覚えられないじゃないですか。なので、行き当たりばったりでも書いたほうがいいと思うんですよね。で、先ほどの話に戻るんですが、しばらくしたらまた受験に専念しろと両親に禁止を食らって。未成年は欲望の歯止めが利かないので(笑)
|
|
|
| 川井: | 真面目に勉強して、その後はどういう学部に行かれたんですか?
| |
| 星: | 横浜国大の電子情報工学科に行きました。ハードウェアとソフトウェアの両方をまんべんなく学びました。
| | 川井: | 両方ともやるっていうのは結構海外では多いらしいけど、国内ではあんまりいないんですよね。学校はまじめに行ってたんですか?
| |
| 星: | 卒業する程度にはまじめに行ってました。
| | 川井: | じゃあ、あんまり授業というよりは、好きなことをやっていたと。
| |
| 星: | パソコンで過ごしました。
| | 川井: | パソコン好きなんですね〜(笑)
| |
| 星: | 正直、ハードウェアにはそんなに興味もてなくて、ずっとソフトばっかりやってました。
| | 川井: | 何ででしょうね。ものづくりはあまり好きじゃないとかですか?
| |
| 星: | ものづくりが嫌いっていうわけじゃないはずなんですけど、僕にはソフトウェアのほうがあってましたね。ソフトウェアって、作ってからのフィードバックが非常に早いじゃないですか。だから魅了されたんだと思います。
| | 川井: | なるほど。大学の頃はどんなことをやってたんですか?
| |
| 星: | プログラムでゲームを作りたいというのが小学生の頃から脈々と続いてて、いろんな言語を勉強したんですよ。C++ですとか、Delphiとか、Javaとか……で、どの言語にも利点もあるけど欠点もあって、欠点を見ると他の言語がうらやましくなるんですよね。それでつまみぐいみたいに他の言語も勉強していったという。で、今一番はまってるのはRubyですね。
| | 川井: | そういう経緯があって最後Rubyに行き着いたんですね。
| |
| 星: | そうです。
| | 川井: | それはやっぱり、他の言語の良いとこ取りをしていると。隣の芝生の青いところを出来るだけ取り込もうとしている言語だからというのがあるんですか?
| |
| 星: | そうですね。一番最初にRubyをやっちゃうと、逆にRubyの良さが理解されないかもしれないですね。
| | 川井: | 確かに。で、Rubyを始めたのはいつぐらいですか?
| |
| 星: | 大学2〜3年ぐらいの時だと思うんですけど、実は先のRPGツクールというソフトが、私が高校生の時にはまた進化していて、Rubyでロジックが書けるようになってたんです。RPGツクールで自動生成されるロジックが全部Rubyで書かれていて、自分で全部制御できたんですよ。それでRubyを覚えたんです。
| | 川井: | それはいつごろの話ですか?
| |
| 星: | 2004年だから、4〜5年前のことですね。
| | 川井: | 2004年っていうと、Ruby on Railsが出始めた頃ですよね。
| |
| 星: | RPGツクールを作った方が、先見の明があったというか、結構特殊な人だったんだと思います。当時、他のソフトでRubyを組み込んだものって一切なかったですしね。
|
|
|
| 川井: | ところで、KBMJでアルバイトをしてましたよね。
| |
| 星: | バイトは、ネットの友達に「効率のいいバイトしないか?」と言われたのがきっかけで、始めてみました。
| | 川井: | ネットの友達は、元々KBMJにいた人ですか?
| |
| 星: | そうです。バイトしていた人で、その人に誘われてKBMJに入りました。
| | 川井: | それは、ネットのどういうところで知り合ったんでしょうか?
| |
| 星: | MSNコミュニティっていうネット上の集まりがあって、大学生の集まるコミュニティがあったんです。そこでオフ会なんかをやってて知り合ったんです。
| | 川井: | なるほど。それまではアルバイトをした経験はあったんですか?
| |
| 星: | コンビニで働いてました。大学1〜2年の時ですね。この歳になってバイトを何もしていないのはどうかと思って(笑)、何でも良いからバイトやりたかったんですよ。これはこれで勉強になったと思います。
| | 川井: | どんなところが勉強になりましたか?
| |
| 星: | やっぱり、人と話すことですかね。今でもヘタクソですけども、まだマシになったんじゃないかと思います。
| | 川井: | コンビニですと、色んなお客さんがいますしね。お客さんと対等じゃないからややこしいですよね。ニコニコしなきゃいけないし、機嫌の悪い客が来ると怒られるし。
| |
| 星: | そうですね(笑)あと、こっちもミスをしてしまうことがあったりとか。温めちゃいけないものを温めちゃったり。それをどう冷静に対処するかとか、そういうのは結構勉強になりましたね(笑)
| | 川井: | なるほど、やばいですもんね(笑)
| |
| 星: | やばいですね。弁当に付いている醤油の袋が破裂するんですよ(笑)
| | 川井: | 剥がしてやらなくちゃいけないのをそのまま温めるから、ボーンといくわけだ(笑)
| |
| 星: | そこまで飛び散らなかったですけどね。燃えるぐらいです(笑)
| | 川井: | 昔、炭酸飲料を冷凍庫に入れたら爆発したけど、そんな感じですか?(笑)
| |
| 星: | それとはまた違うような気がしないでもないですけど(笑)
|
|
|
| 川井: | バイトしながらでもコンピュータやってたんですよね。大学も含めて、パソコンは具体的にどんなことをやってたんでしょうか?
| |
| 星: | ゲームライブラリを作りたいというのがずっと続いていて・・・。
| | 川井: | ゲームライブラリっていうのは具体的にどういうものですか?
| |
| 星: | 例えばプリミティブなC言語とかRubyが与えられても何も出来ないわけですよね。だから、画像を表示するためのクラスや関数が提供されるのがライブラリですね。で、それを作りたいなと思っていて。ゲームを作りたいというのより、ゲームライブラリを作りたいというほうにだんだん移ってきて、幸いなことに似たようなスーファミ大好きな友達がいまして、その友達がライブラリを使ってくれてお互い影響しあいながら色んなものを作っていきました。
| | 川井: | 好きなゲームはありましたか?
| |
| 星: | FF(ファイナルファンタジー)ですね。あのシリーズはスーファミの頃(、、)が一番楽しかったですね。あとはゼルダの伝説とかですね。それもやっぱりスーファミのものばかりやってました。
| | 川井: | でも、ゲームそのものじゃなくて、ライブラリのほうにいっちゃうんですよね。
| |
| 星: | そうです、メタな方向(ゲーム自体ではなく、ゲームのプログラムや仕組み)に目が行っちゃうんですよ。自分はそういうのが好きなんだなって最近分かるようになりましたね。
| | 川井: | ソフト屋さんって感じじゃないのかもしれませんね。ソフトってユーザーに使ってもらって嬉しいっていう人が多いですけど。
| |
| 星: | ライブラリも階層が違うだけで、人に使ってもらって嬉しいのはありますけどね。開発者向けの開発という感じなんですよ。
| | 川井: | どちらかというと研究開発のほうですかね。
| |
| 星: | そうですね、開発スタイルとして、理論ガチガチに固めて進めるっていうのはあんまり好きじゃなくて、Rubyのまつもとさんも言ってましたけど、プログラマにとって楽しくあるべきだっていうのがあるじゃないですか。実際にプログラマにライブラリを使ってもらうのは一番重要だと思うんですよ。だから、ライブラリを作る場合も理論ガチガチじゃなくて、使ってもらって「これはいい」とか「これはだめ」とかフィードバックを得ることが一番良いと思います。
| | 川井: | 感性重視というわけですね。
| |
| 星: | そうですね。
|
|
|
|
ページ上部へ戻る