CodeIQ MAGAZINECodeIQ MAGAZINE

CodeIQ MAGAZINECodeIQ MAGAZINE

「生きろマンボウ」開発者・宮川佳祐が語るプログラミング上達のコツとは? #javascript #code1000

2014.11.17 Category:勉強会・イベント Tag: , , ,

  • このエントリーをはてなブックマークに追加
code10001

プログラミング経験のない25歳以下の学生や社会人を対象としたプログラミングキャンプ「CODE1000 」。

今回メンターを務めてくれたのは、大ヒットゲーム「生きろ!マンボウ~3億匹の仲間は皆死んだ~」の開発者、SELECT BOTTON取締役CTOの宮川佳祐さん。宮川さんにプログラミング上達のコツを聞いた。
by 馬場美由紀 (CodeIQ中の人)

高校生から社会人までのプログラミング初心者が集うCODE1000

9時から18時まで、自学自習方式でひたすら1000行コードを書くというイベント「CODE1000」。同イベントも今回で4回目の開催となった。

▲真剣にプログラミングに取り組むCODE1000参加者たち

今回の会場となったのは、「CODE1000」の運営者である木下慶彦さんが代表を務めるベンチャーキャピタルSkyland Ventures、および同社が支援している、リアルタイム対戦型脳トレ「BrainWars」の開発会社トランスリミットのオフィス(東京・渋谷)。

▲左から主催の木下慶彦さん、今回のメンターを務めた宮川佳祐さん

10月26日、行楽日和にもかかわらず、10数人の参加者が集まり、真剣なまなざしでPCに向かっていた。今回も下は高校生から上は社会人までと経歴はさまざまだが、「今日は大学生、中でも大学1年生の参加者が一番多いんですよね」と木下さんは語る。もちろんみなさん初参加で、プログラミング初心者である。

大学2年秋にプログラミングに出合い、今は人気ゲームの開発者に

今回エンジニアメンターを務めた宮川佳祐さんもCODE1000の参加者同様、大学3年生の秋(2010年11月)まではまったくのプログラミング初心者だったという。

「大学時代は物理工学科で材料科学を専攻していました。2010年11月にガラケーからスマートフォン(スマホ)に買い換えたとき、自分でもスマホアプリを作ってみたいなと思ったんです」と宮川さんはプログラミングに関心を持ったきっかけを語る。

▲株式会社SELECT BUTTON CTO 宮川佳祐さん

またそんなときにプログラミングに詳しい先輩と知り合い、相談した。

「マイルストーンを立ててくれたんです。まずはこの言語の勉強から始めて、1カ月後には何か公開できるような作品を作るようにと…」

とはいえ、いきなりAndroidアプリを作るのはやはり難しいとのこと。もう少し手軽なところから始めてみればとアドバイスに従い、宮川さんはスニーカー好きであるという自分の趣味を生かし、激安スニーカーブログを作った。

「楽天市場で売られている一番安いスニーカーの情報をPHPで自動的に取得して紹介するというブログです。そのブログにアクセスしてくれる人が少しだけどいたり、中にはブログ経由でスニーカーを購入してくれる人もいたりしたんです。それがうれしくて、もっと勉強して人に喜んでもらえるような何かを作りたいというモチベーションになりました」

スニーカーブログでプログラミングの楽しさを知った宮川さんが次に作ったのが、mixiユーザー向けのPCブラウザアプリ「脳トレ!やじるし記憶追跡!」である。

「これはFlashで作成しました。期間は1カ月。というのもFlashの無料体験期間を利用して作ったんです。アプリを作ったことをmixiユーザーの友達に伝えると、『遊んだよ』という返事が来ました。それがうれしくてまたゲームを作りたくなる。もう一つ、モチベーションになったのは、自分が作ったゲームがお金になったことです。

先輩の会社のアカウントでリリースしてもらったので、報酬がもらえたんです。とにかくこういう成功体験を繰り返すことが、自信につながっていくんです。周りの人にも認知してもらえるようになります。だから、プログラミングが上達するコツの第一は、とにかく何か作って公開することだと思うんです」

失敗を恐れず公開することが、プログラミング上達の近道

もちろん、公開すると良い評価だけが得られるわけではない。「こんなしょうもないものを作って…」と周りから冷たい目で見られるという不安もあるだろう。また「公開してバグったら怖い」と思う人も多いだろう。実は宮川さんもさまざまな失敗をしてきたという。

例えば2012年7月20日の「金曜ロードSHOW!」に合わせて公開された「poppd」というWebサービスも失敗例の一つだ。

「poppdは同番組内で放送された映画『サマーウォーズ』に関連するツィートをリアルタイムに取得して表示するというWebサービスでした。でもアクセス数が半端なく多くて、放送が始まると同時にサーバーが落ちてしまったことがある」と宮川さん。

また大事なことを登録すると、毎日通知してくれるiPhoneアプリ「3push」では、iPhoneに無限にプッシュ通知が来るというバグが起こったのだ。

「再起動してやっと通知を止めることができました。こんな大失敗をたくさんして今があるんです。失敗は恐れることはありません。それが次なる勉強のきっかけになりますから。私は毎月何か一つ公開しようという目標を作り、個人的に作ったゲームを公開しています。定期的に何かを公開していくのは大事だと思います」

とにかく興味があるモノ、作りたいもの、何でもよいので作って公開することが、プログラミング上達のコツだと宮川さんは言うのである。

メンターや友達がいる環境に身を置くことも重要

そしてもう一つのコツは、「相談できたり、一緒に同じ目標に向かったりする人が周りにいることだ」と宮川さん。

「私が最初にプログラミングを始めたときは、メンター的な役割を担ってくれる先輩がいました。その後もmixiのPCゲームを作ったときは、ロゴはデザイナーの方が作っていたので、作らないわけにはいかなかった。周りに誰かがいるという状況は大事なんです。

周りに同じ目標を持つ仲間やメンターがいる環境で、一日で1000行書くという成功体験も手に入れることができますから。まさにプログラミングの一歩を踏み出すには、最適な環境だと思います。参加者のみなさんは、プログラミングを始めた頃の私と同じ。だから今回のメンターも楽しんで務めています」

メンターを務めるにあたり、1000行でどんなモノが作れるのか、試してみたという宮川さん。それを参加者に披露したそうだが、実際には500行そこそこで作れたという。「1000行書くのは本当に大変なこと」と宮川さんがいうように、その大変さを達成することで、次へとつながる自信が得られるというわけだ。

ヒットするゲームを生み出すコツについても聞いてみた。「生きろ!マンボウ」が話題になったのは、「育成ゲームなのにすぐ死ぬこと」である。


生きろ!マンボウ!-3億匹の仲間はみな死んだ、放置系ドット育成ゲーム-iPhone版画面

「人は強いのに弱点があるものに惹かれるんだと思います。例えばウルトラマン。ウルトラマンはすごく強いけど、3分しか戦えないという弱点がある。マンボウは海の王様と呼ばれるように、成魚になると全長3メートル、体重2トンというように非常に大きくなる。それなのに死にやすいんです。その性質が面白くてゲームにしました。このゲームは3人で作ったのですが、やはり人と一緒にモノ作りをするからこそ、面白いものができるのではないでしょうか」

PC1台あれば大きなことができる。だから面白い

今は「生きろ!マンボウ」に続くヒット作の開発にまい進しているという宮川さん。当面の目標は「2015年早々にも、今手がけている作品を公開してヒットさせること」だが、これから手がけていくモノはゲームだけには限らないという。

「例えば2013年7月に実施された参議院選挙への投票を促すために、SNSを通じて投票日を一斉に告知するWebキャンペーン『FIRST STEP』や、2014年2月に実施された東京都知事選挙の際に、都知事候補に自由に質問できるWebキャンペーン『ASK TOKYO』は、政治に詳しい人とのコラボレーションで生まれたサービスです。このような『IT×何か』という新しいサービスが生み出していきたいですね」

ITの世界は本当に面白いという宮川さん。とはいえ就職活動の時期になっても、学生時代の専門(物理学)を生かした就職先に進むか、ITの世界に進むか、迷っていたという。マケドニアの火力発電所のインターンに参加したという経験も。しかし火力発電所から戻ってきてカヤック京都支社のインターンに参加したことで、本格的にITの魅力にはまり、今の道に。

「ITの世界が面白いのは、技術さえ身につければ、PC1台で何でも作れるところです。そしてその作ったモノによっては、大きな影響を与えることができるんです。私自身、幅広く浅くという感じで、この技術に長けているということはありません。今、ゲーム開発に使っている技術はC++。

ゲームの開発環境としては、Unityを使っている人が増えていますが、私はCocos2d-xを使っています。Unityほどの便利さ・手軽さはありませんが、無料で使え、しかもiOS,、Androidのネイティブ部分も触りやすいので、ネイティブの独特の機能を使ったゲームの開発もしやすいです。少しでも関心があるなら、まず作りたいモノを作って成功体験を味わってほしい。CODE1000にも、どんどん参加して欲しいですね」

CODE1000プログラミングキャンプ実践編のエントリー常時募集中

CODE1000では、『CODE1000プログラミングキャンプ実践編』をスタートし、エントリー常時募集する。

実践編は2週間で最低50時間超のゲームアプリのプログラミングを実施。アプリ開発企業のメンター陣から常時質問を受けることができる。

参加特典

  • ドットインストールの1ヶ月分の教材利用
  • 世界700万DL突破の脳トレアプリBrainWars開発企業のエンジニア陣によるメンタリング
  • キャンプ参加期間中はトランスリミット渋谷オフィスの席を使用可能
  • ウェブアプリとして、ゲーム”AngryBird”の再現できるようになる

スケジュール詳細

  • DAY0 ガイダンス・開発環境セッティング ※3名集まったら開催
  • DAY3・5・7 定期メンタリング with エンジニアメンター 
  • DAY14 創ったゲームの発表

詳細・申込に関しては、CODE1000のHPで公開中!

(インタビュー:中村仁美/撮影:馬場美由紀)

自分の書いたコードを誰かに評価されたいエンジニアは、けっこう多い?

ITエンジニアのための実務スキル評価サービス『CodeIQ』で出題されている「コード銀行」問題に挑戦すると、あなたのコードが評価されます。

評価(1)出題者からの評価  ⇒評価フィードバック例を見る

  • 企業ではたらくという観点からあなたのコードをチェックします
  • フィードバックされた観点をふまえてコードを書くと世の中の企業にとって「いいコード」が書けるようになります

評価(2)企業からの評価  ⇒評価フィードバック例を見る

  • 「あなたと一緒にはたらきたい」という企業からスカウトが届きます
  • あなたのコードが社会でどこまで通用するか、リアルな評価が得られます

興味を持った方はこちらからチャレンジを!

  • このエントリーをはてなブックマークに追加

■関連記事

新着記事

週間ランキング

CodeIQとは

CodeIQ(コードアイキュー)とは、自分の実力を知りたいITエンジニア向けの、実務スキル評価サービスです。

CodeIQご利用にあたって
関連サイト
codeiq

リクルートグループサイトへ