Hack For Japan

エンジニアだからこそできる復興への一歩

33回 Race for Resilience ハッカソン

第“東日本大震災に対し、自分たちの開発スキルを役立てたい”というエンジニアの声をもとに発足された「Hack For Japan」。今回は「発展途上国×防災・減災」をテーマにしたグローバルハッカソンの報告です。

Race for ResilienceとはRace for Resiliene は「発展途上国×防災・減災」● Hack For Japan スタッフ
及川 卓也 OIKAWA Takuya@takoratta
Hal Seki
Twitter @hal_sk
高橋 憲一 TAKAHASHI Kenichi
Twitter @ken1_taka
Twitter

関 治之

はハッカソン終了後も引き続き開発が続けられ、最終提出期限が迫っていたことから 4 月末から 5 月にかけてのゴールデンウィークも返上で各プロジェクトのメンバーが頑張っていました。

をテーマにしたグローバルハッカソンです。実際にHack For Japan の取り組みでもたびたび課題とNPO や NGO、世銀関連機関の発展途上国の防災・して挙がるのですが、ハッカソンでは 1 日、もしく減災活動に取り入れられるようなソフトウェア、は 2 日間のイベント終了後はプロジェクトが継続さハードウェアをつくりあげ、自然災害に対してしなれないことも多いなか、今回は各会場で、国内、グやかな社会をつくることを目指して開催されましローバルという複数段階での審査が、ある程度の期た。世界銀行の主催でアジア数ヵ国およびハイチ、間をあけて設けられていたこともあって、複数のプロンドンでのハッカソンの後、各国の優秀プロダクロジェクトで継続して開発が進められたことも特筆

トはグローバル審査に進み、6 月 30 日にロンドンでできる点だと思います。

グローバルアワード表彰式が行われました。日本でグローバルアワードの最終発表と表彰式は、6 月

は 2014 年 2 月 8 日と 9 日に石巻、東京、名古屋の30 日にロンドンで行われた「Understanding Risk

3 ヵ所でハッカソンが開催されました。

Forum 注 1」の中で行われ、ファイナリストとして雪の中でのハッカソン
ハッカソンが行われた 2 月 8 日と 9 日は、石巻と残った 10 のプロジェクト注 2 の紹介もされました。
グランドプライズ 注 3 には、インドネシアからの◆◆写真 1 かまくらの中で開発

東京の会場ではちょうど大雪に見舞われた日で、とくに石巻では 91 年ぶりと言われるほど大量の積雪があり、1 日目の夜には写真 1 のようなかまくらを作って、その中で開発ができるほどでした。東北とはいえ太平洋側沿岸に位置する石巻では、これほどの雪が降ることは滅多にないため交通機関もストップし、東京から参加していた Hack For Japan ス
タッフの及川と高橋は 1 日延泊を余儀なくされるという状況でした。

グローバル審査
グローバル審査に進むことになったプロジェクト

178 - Software Design

注 1 https://www.understandrisk.org/UR2014
注 2 http://www.codeforresilience.org/blog/announcing-code-resilience-finalists

注 3 http://www.worldbank.org/en/news/feature/2014/06/30/

innovative-apps-for-disaster-risk-reduction-winglobal-attention

第33回 Race for Resilience ハッカソン「Jakarta Flood Alert」「Quick Disaster」という 2 つすが、現在もサービス開始に向けて開発を進めていのプロジェクト、日本からの「逃げ地図」
プロジェクます。

トが選出されました。

各プロジェクトについて

このプロジェクトの特徴は平時と発災時においてインターフェースを変化させる点です。防災・減災用のアプリケーションやサービスには、普段使っていないものをいかに災害時に使えるようにするかとグランドプライズは逃してしまいましたが、ここいう課題があります。平時にはアイデアを競い合う

では Hack For Japan スタッフがかかわった 3 つのような楽しさを取り入れ、発災時には共有されていプロジェクトの解説をしたいと思います。

るアイデアをその災害の内容や段階に応じて、積極Survival Toolbox プロジェクト的に提示するという形にしようと検討しています。
また、利用者の分析も行いました。災害発生後のSurvival Toolbox プロジェクトは、石巻在住の中状況では、被災者自身がスマートフォンや Web を塩成海さんが自身の被災体験を基に 2 月の Race for使ってアイデアを検索する余裕があるとは考えづら

Resilience 石巻会場でのアイデアピッチで提案した

いこともあり、このサービスはもっぱら支援者を対プロジェクトです。

象としています。支援者が被災者に必要と思われる

中塩さんは東日本大震災のときに、身近なものを情報を伝達するために、アウトプットとしては紙も組み合わせるなど創意工夫して困難な状況を乗り切想定しており、その紙を印刷したり、FAX で送信しりました。例として自転車を使った発電のアイデアたりすることを考えています。などを披露し、このようなアイデアは日頃から考えグローバル審査では Android アプリケーションとて試してみるのが良いのではないかということで、して動作するものを提出しましたが、これはあくまアイデアをレシピとして公開し共有するプラット

でも短期間のプロジェクトの成果としてのプロトタフォームを作りたいと仲間を募りました。

イプのようなものであり、アイデアを共有する部分その提案に賛同して、中塩さんの妹さんとその友を含むバックエンドやほかのインターフェース人（お 2 人とも石巻在住の女子高生です）、東京在住（Web や紙）での入出力はまだまったく手を付けらのソーシャルメディアの研究者、仙台在住のフリーれていません。

ランスエンジニア、ドイツ人 IT コンサルタントが本プロジェクトに賛同する方はぜひともプロジェメンバーとして加わりました。さらには、現地で参クトメンバーにコンタクトしてみてください。プロ

加はできなかったのですが、横浜からはデザイナージェクトのサイトはこちらになります。

も加わって開発が進みました。

URL

結果、現地での審査では見事 2 位になり、ロンド

http://survivalpad.net

Flood AR プロジェクトンを目指すことになります。
その後、関西在住のフリーランスエンジニアも加Flood AR は 2 月のハッカソンの石巻会場で 1 位わり、プロジェクトはハングアウトと Facebook グとなり、グローバル審査に進んだプロジェクトでループを介したオンラインでの開発をベースとしてす。その後ファイナリストには残ったものの、惜し進みます。学業を優先させる中塩さんの事情などもくもロンドンへ行くチャンスは逃してしまいましあり、開発は必ずしもスムーズには進みませんでした。

たが、審査に必要なサイトやオープンソースのレポ

これは Android 端末用のアプリケーションで、津ジトリ、Code for Resilience への登録などをメン波の発生した状況下での避難をシミュレートするもバーで手分けして行いました。グローバル審査ではのです。このアプリケーションの着想は、事前に残念ながらファイナリストには選ばれなかったので行ったアイデアソンで石巻の高校生が話してくれた

Sep. 2014 - 179

Hack For Japan

エンジニアだからこそできる復興への一歩

被災時の体験が基になっており、たとえ膝の高さ程スピードに合わせたアニメーションをします。

度の浸水でも歩行には困難を伴うこと、また実際のシミュレーション実行中は定期的に自分の現在地

水の色はほぼ黒で地面は見えず、足下に何があるかを GPS から取得して移動経路を記録し、移動速度わからないという危険があることを AR（拡張現実）を算出しており、浸水している状況下での歩きにくを用いて画面上に表現します。今までの津波対策のさや、通常のスピードで歩くことができないことを避難訓練は津波が来る前に逃げることを想定したも示すため、想定より速い速度で歩いていると判定さのでしたが、実際に東日本大震災では警報が届かなれた場合は、もっとゆっくり歩くように促すメッかったり、警報があっても逃げ遅れてしまったなどセージが表示されます。そして、避難先として設定で多くの被害者が出ました。このアプリケーション

した地点に到着すると結果表示画面に切り替わり、を使うことで、津波の脅威をより身近に感じてもら実際にここまで移動するのにかかった時間と想定時うことができます。

間、実際の歩いてきた経路をマップ上で確認するこ

起動すると、性別、年齢、身長、そして避難先のともできます（図 2）。

位置をマップ上で指定して入力します。Startボタン
でシミュレーションを開始するとAR 画面になり、

●実装裏話
●

性別に応じた自分自身を示すアバターが表示され、今の潮流ではこのような 3D グラフィクスのアニ

身長に合わせた高さの浸水が表現されます（図1）。

メーションを活用したアプリケーションを作る場合

このアバターはアプリの使用者の状態に応じてアニは Unity を使うケースが多いと思うのですが、今回メーションするようになっており、止まっているとは標準の Android SDK にて Java で開発を行いましきは周囲を見渡す動作、ほかに歩く、走る際はそのた。開発にかかわったメンバーが通常の Java での◆◆図 1 AR 画面

Android アプリ開発に慣れていることと、現在地情報の取得や Google Maps API の活用を考慮するとJava から 3D グラフィクスをコントロールしやすいようにしたほうが良いと判断したためです。とはいえ、OpenGL ES を直接使用して人型のアバターにアニメーションをさせるにはかなりの開発時間を必要とし、現実的ではありません。
そこで今回は、オープンソースで公開されているライブラリを活用することにしました。当初のバー◆◆図 2 結果表示

ジョンでは Java のみで書かれたライブラリを使用していたのですが、扱うことのできる 3D モデル、およびアニメーションデータの種類に難があり、Unity がデータをインポートする際にも使われている fbx 形式のデータを扱えるよう、最終的には C++で書かれたライブラリを NDK を用いて Java からコントロールできるようにして実現しました。
また、ハッカソン直後の最初のバージョンでは、水の表現も単に青色の半透明の板を置いていただけにとどまっていたのですが、実際の浸水時の水の色はもっと黒に近い色に見えるため、そのような色の水のテクスチャを用意してより実際のものに近い表

180 - Software Design第33回 Race for Resilience ハッカソン

現にしました。このようにしてアバターと水面の表り が 通 行 止 め 」 ◆◆図 3 スマートフォンに送信される現をカメラからのプレビュー画像の上に重ねて、歩と い う も の や、いている自分のイメージを画面上に投影できるよう「子どもがパにしています。

ニ ッ ク に な り、このプロジェクトの説明と動画はこちらから参照できます。
URL

http://www.codeforresilience.org/app/flood-ar-0

すごい避難訓練プロジェクト

イベント例

家に帰りたいとぐ ず る 」な ど、ロールカードを持っている人に対する指令など
も 存 在 し ま す。

す ご い 避 難 訓 練 プ ロ ジ ェ ク ト は、Race for

管 理 者（ ゲ ー ムResilience の名古屋会場で 1 位を獲得したプロジェ

マ ス タ ー）は、クトです。従来型の避難訓練は、単なる「避難経路各チームに対しの確認」を超えていないという問題意識から、本当て、学習効果がに役に立つ避難訓練のあり方を提示する目的で作ら高まるようにされました。この記事を書いている Code for Japan のまざまな指令を出していきます。

関と、Code for Nagoya の河合さんのアイデアを元ゲーム終了後には戻ってきて振り返りのミーティに、デザイナーや大学の先生、IT エンジニアなどがングを行うことで、災害時に起きうることや心構え参加したプロジェクトです。その後、すごろくチーなどについて気づいてもらって終了します。

ムをやっていた西村さんが参加し、プロジェクトが続いています。
実際の災害時には、あらかじめ決められた避難経路をたどっていくようなことよりも、さまざまなアクシデントへの対応を求められる場合が多いと思い

Web サイトには、今も当時のプロトタイプアプリケーションとプレゼンスライドがアップされていますので興味のある方はご覧ください。
URL

http://race2s.opendata-tokai.jp/

ます。たとえば、お年寄りに遭遇する、一緒に避難

残 念 な が ら、 こ の プ ロ ジ ェ ク ト は Code for

しているメンバーが怪我をしてしまった、通れるはResilience の世界大会での選考からは漏れてしまいずの道が火災で通れない、などなどです。このアプましたが、その後、災害救援ボランティア推進委員

リケーションでは、そういったリアルな災害状況を会の宮崎さんがいる明治大学での避難訓練で、トラシナリオに沿って体験することで、避難訓練自体をイアル的に利用をしていただき、好評を得ました。

自発的に楽しみながらできるようになっています。

また、8 月に浦安市で行われる予定の、浦安市「立すごい避難訓練はシナリオゲーム型避難訓練に志塾」宿泊型防災研修プログラム（DECO）の中の企なっており、チームリーダーがスマートフォンを持画として、バージョンアップした「すごい災害対応ち、数名のメンバーと共に避難訓練を行います。メ訓練」を提供、実施する予定です。コンセプトはそンバーはロールカードを持っており、「お年寄り」のままですが、機能面については実際のユースケー「子ども」などといった仮想の役割が割り当てられまスに合わせシンプル化し、管理画面などを実装するす。避難訓練中にはスマートフォンにイベントが届ことで本番運用に耐えられるようにしています。まくようになっており、状況が刻々と変化します（図3）。

た、市が提供するハザードマップの組み込みなどもゲーム参加者は、発生イベントとロールの制約の中で行う予定です。本誌が発売されるころには、結果が避難を行わなくてはいけません。

Web サイトにも公開されていると思います。良け発生するイベントには、「火災が発生し、◯◯通れば探してみていただければと思います。｢Sep. 2014 - 181