アプリ開発者に訊く! ~ 東大将棋開発者の棚瀬寧さんが創る「算数ウォーズ」

コンピュータ将棋選手権においてアマチュアとして史上初の優勝を遂げたIS将棋。開発チームが東大生だったこともあり、東大将棋としてパッケージ化され発売されました。世界コンピュータ将棋選手権で4回優勝するなどの実績を残し最強と呼ばれる将棋ソフトの1となりました。

そんな東大将棋の開発チームだったのが棚瀬寧さん。ロジックをゼロからたった1人で構築し直してプログラムを書いた棚瀬将棋も世界コンピュータ将棋選手権で準優勝を果たし、個人が作った将棋プログラムがアマ名人を破ったことでも話題になり、棚瀬さんの天才プログラマーぶりにも注目が集まりました。

現在は、フリーの開発者として活躍している棚瀬さんが新たなアプリケーションを開発。今後もゲームプラットフォームを公開していくと聞いたので、どんなアプリなのかをうかがってきました。

[Q]算数ウォーズは、どんなユーザーに使って欲しいんですか?

出てきた算数の問題の答えに答えていくだけ。脳年齢が出るなど子供向けに見えるんですが、実はむちゃくちゃ数学がすごい人達にプレイして欲しいんです。ウェブ版を公開した時は、僕の仲間がプレイしたんですが、それがむちゃくちゃに早い。僕も早い方なんですが凡人レベルでした…。

例えば、そろばん大会のトップクラスの人達ってすごいじゃないですか。あんなトップレベルの世界が算数ウォーズでも実現できればいいなぁと思っています。ありえないくらいのスピードで計算する動画がYouTubeにアップされないかなと期待しています。

ただ、東大将棋もそうなんですが、あらゆるレベルの方が楽しめるものを目指していますよ。算数ウォーズも一問一問通信しながらレベル判定をしています。初心者には簡単な問題を出すし、レベルが高い人には難しい問題を自動的に出すようにプログラムされています。問題作成エンジンとレベル判定のAIを積んでいますね。

[Q]開発する上で技術的な難しさは、どんな所あったのですか?

算数ウォーズはここから発展させるために、やりたいことのベーシックなことにトライしたものです。サーバとTCP通信によるパケット通信の処理方法に関してコネクションの貼り方とか、node.jsなんかを使っていろいろと試しています。将棋とかオセロだと一手ごとに通信を貼りますから、これからゲームを作る時に応用できるでしょう。

WEB版が大人気だった算数ゲーム「算数ウォーズ」がAndroidアプリ版。

WEB版が大人気だった算数ゲーム「算数ウォーズ」がAndroidアプリ版。

[Q]どんなゲームに発展させていく予定ですか?

チェスとか囲碁とか将棋とかリアルタイム対戦ができるゲームサービスを作りたいんです。ステートフルな通信というのが技術者としては面白みがありますね。安定してリアルタイムなネットワーク対戦ができるのは、技術的な難しさはありますが、差別化にもなりますから。さらにフレームワーク化して、そこでいろいろな人がリアルタイム対戦ゲームを開発して提供するようなものにしていきたいです。

結果を世界中の人と競うことができる算数のオンラインゲーム。

結果を世界中の人と競うことができる算数のオンラインゲーム。

[Q]転職市場のことに話を向けると、最近のウェブ系サービスのエンジニアは、いわゆるフルスタックエンジニアを求めていますが、それを目指すためにはどう勉強なり、トレーニングすればいいと思いますか?

それは、これと決めたものを自分で作るしかないですね。算数ウォーズを見ても、クラウドの設定からTCP通信、問題作成のアルゴリズムやデザインまで自分1人でやりましたしね。なんでも良いので、まずはアプリを1人でイチから作ってみると良いでしょう。アルゴリズムを習得したければ、TopCoderとかAtCoderなどに参加して問題を解くとか。学校で勉強したことと実践でアルゴリズムをコードで書くというのはまったく違うので力が付くと思います。

⇒「算数ウォーズ」Google Playでのダウンロードはこちらから。


2013-12-27 | Posted in コラムComments Closed 

関連記事