IVRC2016、最終審査にむけて、エールを送る

国際学生対抗バーチャルリアリティコンテスト「IVRC2016」ファイナルステージがいよいよ次の週末、日本科学未来館で開催されます。

http://ivrc.net/2016/

動画に字幕もつけさせていただきました。
明日からフランス人チームやLaval Virtualからゼネラルディレクターもやってきます。

来週の今頃には、総合優勝が決定しているはずです。

 

以下、審査員というよりはいち実行委員でもなく、VRエンタテイメントシステムを研究開発教育しているの先生のつぶやきと思ってください。

具体的な個々の作品へコメントは一切出てきませんが、下の方に大学3年生を使った体験前印象調査の結果は公表しております。

IVRCは誰が優勝するのか

IVRCの作品選考基準は「新技体」。新規性・技術・体験、です。

さらに優勝作品は「SIGGRAPHに持っていけるか?」という視点でも選ばれます。つまり、新技体、

  • 技術的にどんな新しさがあるか?
  • 体験として何が新しいか?

に加えて

  • それが英語で説明できるか?

という点が重要になります。

ストーリーは重要ではない?

作り手はストーリーを詰め込みたくなるかもしれませんが「国際的に伝わるかどうか?」の方が重要です。つまりストーリーは主眼に置かれません。言い換えれば、体験、ナラティブとしてはわかりやすく、ストーリーとしては先入観なく多文化で受け入れられるものである必要があります。余計なストーリーを追加することで、体験内容の評価が下がることはあっても、上がることはない、ということ。

まあこれは人によって意見は分かれるのかもしれませんので信じる必要はありませんが、「サマーレッスン」はそういう意味では良い資料で、ただ見ているだけだけど「とても近い!」というグラフィックスの力が光ります。中で起きるイベントは基本的には部屋を中心に起きることで、体験者は移動しません。全て同じループに戻ってきます。

一方ではサマーレッスンは海外では勘違いされまくっていて、発売すらできません。もちろんフランスでも無理だと思います。

しかし、発売前の体験者に向けて、明確に示されたストーリーは、ほとんどないのですよね。プロットや設計はあるのですけど。でも体験前の人はこれだけ勘違いをしてしまうのです。動画を見た人も。

VRってこわいですね。

 

VR作品が持つコンセプトと体験の乖離

「作品が持つコンセプト」と「実際の体験の乖離」には気を使ってください。
体験者から「これは〇〇なのだよね?」という感想を貰う前に、体験のベースになるような「シッカリとした感想」を抱けるように工夫した方が良いです。

ストーリーについて。もちろんSIGGRAPHでも「VR StoryLab」というセクションが生まれたりしているので、ストーリーを作りたい、そういう欲求があるのはわかります。でもその場でもRez Infiniteは評価高く、攻殻機動隊はあまりお客さんが付いていませんでした。前者は「思い描いた世界」を予想以上に体験できていましたが、後者は予想を上回る体験があったかというと「観て終わった感じ」があります。もちろんインタラクティビティが違いすぎますが、知名度の問題ではなく、アトラクティビティと提供している体験の乖離の問題ではないでしょうか。

作り切れ!話はそれからだ

いろんなメディアでものづくりしてきた側の視点ですが「作り切る!」という行為は大変骨が折れる作業です。一方で「作りきれなくてダメになった作品」は山ほど見てきました。

そういった意味では、初志貫徹して最初に自分で書いた企画書などのコンセプトを読み直してみたほうが良い作品になると思います。

情報デザインは引き算です。時には削ぎ落とす事も大事です。

体験したい審査員には「中身見せるモード」などで体験できるようにとっておけば良いのです。

ストーリーの作り込みをするよりもやるべきことはないか?

作品の外側も、よく見ましょう。中身の作り込みは、本当に作品がよいならテレビ番組やイベントなどに引っ張りだこになり、決勝後で嫌という程やる時間はあると思います。むしろ作品を良く引き立てるための外装や、中身部分の設計にの整理が必要な段階では。状態遷移図や絵コンテなどの設計図を残して、興味ありそうな審査員、プラチナスポンサー各位にクリアファイル等で見せると良いと思います。

フランス人審査員にも説明できますか?

研ぎましょう。

日本語しか通じない相手しか相手にしていないのでは海は超えていけません。
オペレーターの説明なく、一連の体験だけでコンセプト伝わるかどうか。
これが一番大事です。

大学3年生にアンケートしてみた

情報メディア学科3年生の講義「メディアアート」の課題をかねて、事前調査を行ってみました(毎年やっています)。

「体験してみたいかどうか?」というattractivityにおいて、上記のようなデータがでました。このデータをどう見るか?は各位にお任せします。中の人としては混雑予測にも使えますが、少なくとも決勝において「体験に並びたくない」という作品はないことは大事。

ついでに、1階のInnovative Technologies展示についても調査しました。

IVRCファイナルステージは天覧試合です。残っているだけで十分素晴らしい。
次の年にDCEXPOでぶっちぎり人気になるまで、「作り切り」ましょう!

白井もLaval Virtualブースで新作展示です。

DCEXPO2016にて新作展示発表(10/27-30)

Good luck!!

GAS:入力された日付の曜日をスプレッドシート側で自動計算

Google Apps Scriptは便利なのですが、時にはプログラム上での計算処理ではなく、スプレッドシート側の関数で処理したいこともあると思います。

可視化性やメンテナンス性を高めるためにこういう柔軟性は必要だと思います。

よくある例としてはGoogleFormで日付を入力させた場合です。

入力者に出張開始日と出張終了日をYYYY/MM/DD形式で入力させることは難しくないでしょう、でも曜日や出張日数を自動計算できないシステムなんてちょっと機能的にも信頼されないと思います。

スプレッドシート側では以下の様な形で収納したいとしましょう。

sheet

フォームからはK列とM列にデータが入ります。L列,M列,O列はそれぞれ


L2=vlookup(weekday(K2),曜日,2,false)

M2=vlookup(weekday(M2),曜日,2,false)

O2=M2K2+1

といった式を入れておきたいわけです。

なおここでは「曜日」という範囲を別のシートに以下の様なデータで定義しています。EXCELと同じような名前定義が使えるのは便利ですね。

【「曜日」で定義されたデータ】

1 日
2 月
3 火
4 水
5 木
6 金
7 土

さて、スクリプトです。

入力されたデータを自動処理するあたりで文字列として「=vlookup(weekday(K2),曜日,2,false)」をセットしてみるのですが、どうもセルの参照である「K2」が正しく働いてくれません。
色々やってみた挙句、以下のように相対参照(いわゆるR1C1形式)で表記すれば自動的に正しいセルのアドレスを取得してくれるようです。これはこれで便利ですね!コードに落とした場合は以下のとおりです。

[javascript]
//曜日と出張日数を自動計算
d = sh.getRange(row, 1, 1, rg.getLastColumn()).getValues(); //指定行のデータを取得
if (d[0][11]=="") { //左から数えて12個め,つまりL列が空白だったら以下のコードを自動で入れます
rg.getCell(rowline, 11+1).setValue("=vlookup(weekday(R[0]C[-1]),曜日,2,false)");
rg.getCell(rowline, 11+3).setValue("=vlookup(weekday(R[0]C[-1]),曜日,2,false)");
rg.getCell(rowline, 11+4).setValue("=R[0]C[-2]-R[0]C[-4]+1");
}
[/javascript]

Google Apps Scriptはクラウド側で演算してくれるので、利用者が演算コストを意識する必要はないのですが、スクリプト側のタイムアウトを防ぐためにもスプレッドシート側で演算できるものはできるかぎりスプレッドシート側で処理させたほうが良いと思います。
スクリプト側にハードコーディングしてしまうと、スプレッドシート側でいろいろやりたいエンドユーザ(EXCELスキルがある人とか……)を突き放すことにもなります。

実際にはEXCELでいろいろやりたいユーザさんが味方になってくれてこそのGAS利用だと思いますので

このような設計手法は柔軟性があって良いと思います!