エンタテインメントコンピューティング2016レポート—口頭・デモ発表および聴講と体験—

今回は、11月12日(土)~11月14日(月)の三日間にわたり大阪で開催された

Entertainment Computing 2016

についてのレポートとして、口頭発表とデモ発表をした感想と、他の発表者の発表の聴講や体験をした感想を書いていきます。

本記事の流れとしましては、
①1日目:自分の口頭発表とデモ発表について
②2日目:他の発表者のデモ発表について
③3日目:他の発表の口頭発表について
④全体の感想

のように書いていきます。

 

①1日目:自分の口頭発表とデモ発表について
「RTSゲームのプレイログ分析によるプレイヤー養成システム」
というタイトルで発表しました。

仮説を持って継続プレイするプレイヤーと、ゲームのロジックだけで遊んでしまい、因果と偶然がわからないプレイヤーではeSportsプレイヤーとしての素養が違うという仮説に基づき、ログを分析しました。
今回のデモ発表では、視線追跡の表示や、リプレイの表示を多重化画面で表示することにより、リアルタイムにプレイヤーや周囲の観客にフィードバックを返すデモ発表を行いました。

口頭発表
口頭発表の反省
棒読み気味の発表になってしまったこと、
質疑応答の際に焦ってしまう部分があったところです。
この反省を生かし、卒論発表ではもっと抑揚をもって伝えていきます。

デモ発表の反省
慣れるまで伝えたい事を伝えるまでにわかりにくい説明をしてしまったことです。
慣れてからはどこを伝えるかが明確にわかり、そのために必要な説明はなにか、がわかっていましたが、最初のほうは話が長くなってわかりにくい部分がありました。
これは単純に自分の練習不足があると思ったので反省します。

発表を通した気づき
他の人に見てもらう、聞いてもらうという事は、とても貴重で大切だと感じました。
普段の自分視点だけでは思い浮かばないような意見や、今後の展開、現状の改善点など
貴重な意見を他の人に公開することでフィードバックしてもらえます。
これは、非常にためになることだと、発表を通して感じました。

以下デモ発表の内容です。

 

②2日目:他の発表者のデモ発表について
2日目からは、自分の発表はないので聴講と体験をしました。

3Dプリンターの特性に配慮した汎用ジョイント機構の提案
3Dプリンターの特性に配慮した汎用ジョイント機構の提案

 

 

Floating Tears
Floating Tears
拭き掃除における正しい雑巾絞りの定着を目的としたシステムの提案
拭き掃除における正しい雑巾絞りの定着を目的としたシステムの提案
メリーからくりスマス: 乗車体験を拡張する位置連動型車内デコレーション
メリーからくりスマス: 乗車体験を拡張する位置連動型車内デコレーション
モバイル型AR玉転がし積木アプリケーション
モバイル型AR玉転がし積木アプリケーション
位置情報に関連する投稿を可視化するつぶやきヒートマップ
位置情報に関連する投稿を可視化するつぶやきヒートマップ
人の情動と音楽が作用し合うパフォーマンス支援システムの開発(第1.0版)
人の情動と音楽が作用し合うパフォーマンス支援システムの開発(第1.0版)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

など、19ものデモ発表が行われていました。
どの展示も面白く、普段みない分野に関しての興味がわいたりしました。

今回体験した中で、一番良いなと思ったのが
八戸工業高等専門学校 古川さんのタブレット端末と無線筆型デバイスを用いた仮想書写支援システムです。
img_1073 img_1072
こちらのペルソナが
一般的に小・中で行う書道を学ぶことに、壁のある人達となっており。
その人たちが書道をするには比較的準備が大掛かりになってしまうため、小型化を目指したとのことで、
実際の筆にセンサーをつけているため、筆で書いている感覚はほぼ同じでした。

自分の思った改良、今後の開発点については、
もっと太い書き方にも対応できるようにすること。
墨の減り具合をもっと忠実に再現すること。
半紙の書き心地を再現すること。

をすることでもっとよくなるのではないかと考えました。

 

③3日目:他の発表の口頭発表について
3日目は口頭発表がたくさんあったので、そちらを聴講していました。

他大学の教授や、企業の人の発表はとても勉強になりました。
伝え方や話方がわかりやすく、この発表ではなにが言いたくて何をしたのか、今後どうしていきたいかがわかりました。
また、発表後の質疑応答に関してもレベルの高いディスカッションが多く
やはり、発表や他者の存在の大切さを学びました。

3日目で印象的だったのが
北海道大学 下森さんの「HMDを用いた俯瞰的視点変換トレーニング効果の検証」
という発表が面白くて印象に残っています。

こちらは、ゲームではなく実際のサッカーを題材にしており、
プロアスリートの中でも数名が持つといわれている俯瞰的視点をとらえるトレーニングについての研究で
HMD内でサッカーのゲームでなく動画で行い、俯瞰視点と一人称視点を切り替えてトレーニングを行い、それを実際のサッカーで使えるようにするという内容です。

これがうまくいけば、すごい新しいトレーニング法だし、人によって俯瞰視点のイメージが異なったりするため、大変そうだがおもしろいと感じました。

 

④全体の感想
楽しかったです。

研究的には、
やはり自分の研究を多くの人に聞いてもらう、見てもらうということは
今まで持てなかった視点や気がつかなかった事に気がつかせてもらえます。
そこから、今後の研究に生かすことが考えられたり、深めて行けたりするので学会で発表するということはとても良い経験になると感じました。

人間的には
熟練者の発表や、デモを聞くことで他の人の伝え方や質問の仕方がとても参考になりました。
また、関西の人とは普段あまり関わりませんが、どこの店やコンビニでも関西弁の関西人の方なのでそれはそれで面白かったです笑

そして、

やっとエスカレーターに違和感を覚えずに済みます。

以上です。

Unity PlayerPrefsとファイルの書き出しと読み込みを使ったプレイログ取得・利用

今回私は

作成したゲーム中でプレイのログをとり、そのログを使ってリプレイ機能を実装するために、ファイルの読み書きとPlayerPrefs機能を利用しました。

まず、参考にしたサイトはこちらです。

UnityでCSVを書き出す

PlayerPrefsスクリプトリファレンス

使用言語C#

まずは、Streamwriterを使ってファイルにログを書き出す部分です。

using System.IO

public class (クラス名) : MonoBehaviour{

StreamWriter sw;
FileInfo fi;

public void start(){

fi = new FileInfo(Application.datapath + “(ファイル名).txt”);
sw = fi.AppendText();
sw.WriteLine(“書き出し”);
sw.Flush();
sw.Close();

}

}

Unity C#ではStreamWriterを使用するときはまずFileInfoインスタンスを書き出すファイルのパスを与えて宣言する必要があります。
その際の”Application.datapath”はプロジェクトの”Asset”フォルダの直下を指しているので、そこに書き出したtxtファイルが保存されることになります。
“Application.datapath”を書かずに任意のパスに保存することも可能です。

次にStreamWriterのインスタンスに”AppendText”メソッドを適用することでStreamWriterがファイルを書き出す準備ができます。

その後はC#同様”WriteLine”メソッドを使って改行ありで書きだしを行っています。
改行なしの書き出しを行いたい場合はこの部分を”Write”メソッドに変更します。

最後に大切なのがStreamWriterインスタンスのFlush()とClose()この処理を行うことで、ファイルに書き出しが完了します。

 


 

次に読み込み処理です。

今回はStreamReaderで読み込んでListに保存して利用するようにしました。
また私は文字列でなく数字を扱っていたのでListに保存した読み込んだ文字列をそれぞれの型(int,double)に変換して利用しました。

string line = “”;
List<string> List = new List<string> ();

System.IO.StreamReader tReader = (

new System.IO.StreamReader (Application.dataPath + “(ファイル名)”, System.Text.Encoding.Default)
);

while ((line = tReader.ReadLine ()) != null) {

List.Add (line);

}

tReader.Close ();

まずグローバルにstring型の変数と空のListを作成します。

次にStreamReaderでファイルを読み込み、while分で一行ずつ読み込んで配列に入れています。

最後にStreamReaderを閉じましょう。

 

これでファイルの書き込み、読み込みはできます。しかし、連続プレイのログをとる場合一プレイごとにログにしたいのです。

 


 

そこで私はPlayerPrefs機能を利用しセーブデータを毎回作成し、それをファイル名につけたすことで、一人ひとりのプレイログをとり、さらにリアルタイムにログを利用することができました。

 

まずはセーブとロードの関数を作成します。

 

const string FileNum = “filenum”;

void SaveFile(int file){

PlayerPrefs.SetInt (FileNum, file);
PlayerPrefs.Save ();

}

int LoadFile(){

return PlayerPrefs.GetInt (FileNum, -1);

}

これでPlayerPrefsは利用できるので、次にゲームがスタートしたらセーブデータのカウントを増やすように設定しました。

SaveFile(LoadFile()+1);

この処理でセーブファイルの数値が1足されました。

この後にLoadFileを使ったファイル名のログデータを取ることでそのログを利用するように実装しました。

図
図にするとこんな感じです

 

まずファイルの保存名ですが

ファイルの指定の部分を

fi = new FileInfo (Application.dataPath+ “PlayLog”+LoadFile()+”.txt”);

このように変更します。こうすることで

ファイルがPlayLog1 PlayLog2という風に作成されていきます。

 

読み込み側も同様に

System.IO.StreamReader uReader = (

new System.IO.StreamReader (Application.dataPath + “PlayLog” + LoadFile () + “.txt”, System.Text.Encoding.Default)

);

while ((line = uReader.ReadLine ()) != null) {

List.Add (line);
countmax++;

}

ここで新たに追加したのがcountmaxという変数です。

こちらはListを利用した際にListの最大値を超えて数値を設定したりするとエラーをはいたりしたので,配列がいくつあるのかをカウントする変数として用意しました。

これでプレイごとのログを利用できるようになったので配列を利用することでリプレイ機能を実装できました!

 


 

まぁ、最後にString→int,double型に変換したのでそちらも参考までにのせておきます。

public static int StringToInt(string s){

return int.Parse (s);

}

public static double StringToDouble(string s){

return double.Parse (s);

}

List<int> i =List.ConvertAll (new System.Converter<string,int> (StringToInt));
List<double> d =List.ConvertAll (new System.Converter<string,double> (StringToDouble));

今回はConverterを利用しましたが、他にもやり方はいろいろあるようです!
ラムダ式とか….数式は難しいです。

 

それではよかったらPlayerPrefsを使ってみてください!

サンプル等はGithubで公開するかもしれません!

 

白井研究室研究成果発表会

平素は、格別のお引き立てを賜りありがとうございます。
さて、この度、白井研究室の科研費研究成果発表と共同研究を行っている企業の取り組みを紹介する研究会「エンタテイメントシステム工学研究会」を下記要領で開催します。
新技術の発表、白井准教授の専門とする科学コミュニケーションやエンタテイメント工学技術から、株式会社富士通ソーシアルサイエンスラボラトリといった企業を軸に、教育、医療、福祉、交通、施設、インフラ等へ、オープンな産学連携活動で活躍する企業パートナーが集まり、次世代の「おもしろいモノづくり」を共有していきたいと考えております。

皆様のご参加をお待ちしております。

というわけで、私の所属している白井研究室の研究成果発表があります。

3月1日 TEPIAホールにて開催されます。
詳細と、参加表明はこちら からよろしくお願い致します。

つきましては、研究室内で今回のイベントを担当しておりますので、イベントの成功に向けて努力します。

 

LJL2016 Report3

現在開催中のLJL2016 公式ページはこちら

今回は2月3,5,6日に行ったLJL2016の運営の仕事の様子を書きたいと思います。

まず仕事の流れは
①機材準備・動作チェック
②ミーティング
③Twitchの放送を見ながら、集団戦シーンやスーパープレイシーンをTwitter投稿用に録画する。
④試合後、試合のデータFileを公式HPに反映させる。

①,②に関しては、前回と同様なので省略します。

③について、
私たち運営チームは毎回、運営室のスクリーンで実際のゲームの映像を見ています。
※実際の配信ではそこでの映像から5分ディレイを入れてTwitch配信しています。(オンライン上でプレイなので不正防止のため)
私の今回の役割は、運営室のスクリーンを見ながら、スーパープレイシーンが起こった時間を記憶しておき、Twitch配信上でその時間になったら、OBS(Open Broad Caster Software)で録画します。
そこで録画した動画を、Slackを使ってPR(Twitter)担当の方に渡す、というのが今回の役割でした。

④について、
1試合ごとのゲームの記録のデータを公式HPに反映します。
こちらの反映をすることにより、ランキングの変動が起こるので、忘れてはいけない重要な仕事でした。

私が今回携わらせていただける仕事の中でこの動画担当が一番重要だと思いました。
動画を録画する時間も30秒以内に収めなければいけないので(Twitter用なので)集団戦が長引いた場合はタイミングがシビアでした。

毎回、配信についてや、運営についての話をしたりするのは、すごいためになるし面白いです。これからは、もっといろいろなことができるようになりたいです。

以上です!

 

はじめに

このブログは

神奈川工科大学情報学部情報メディア学科白井研究室所属の榊原 諒が日々の活動を文章化し、指導教員に報告することを目的としています。

主にe-sports関係や、これからの卒業研究や就職活動に向けて執筆していく予定なので、よければご覧になってください。

就職活動は4月の頭に終了致しました。

今後は研究活動について執筆していく予定です。

私の Facebook

 

LJL2016 Report 2

現在開催中のLJL2016 公式ページはこちら

1月23,27,29,30日に行ったLJL2016の運営の仕事の様子を書きたいと思います。

まず仕事の流れは
①機材準備・動作チェック
②ミーティング
③TeamSpeak3管理+Twitchコメントチェック

今回は開幕戦同様、TeamSpeak管理の担当だったので以上の流れになります。
次回以降、動画担当や、モデレーター担当になった際には③がそちらになります。

まず、①ですが
オフィスにある機材を運びセッティングし、
動かない機材等があった場合は調達or交換など臨機応変に対応します。

②は映像・放送チーム、実況解説の方を交えた台本の読み合わせをします。
なにか不備や、ここはこうしたほうが等改善点はここで提案します。

③は開幕戦同様TeamSpeak3管理をしつつ、
Twitch放送コメントのチェックをしています。
開幕戦と違う点は、オンラインなので試合前に選手の点呼を行う点です。

現在私は、運営側としてLJLをもっと盛り上げられるようにできないかと考えています。
なぜかというと、映像・配信はそちらのチームがいるからです。
共に作業させていただいている中で、現在開発してると耳にしたのが
ファンサイトの作成とLOLの公式アプリの作成です。
日本鯖がもうすぐくるだろうこの時期の開発はとても良いと感じました。

私もなにか運営側としてのエンタテイメントシステムを考えながら次回からも活動していきたいと思います。

余談ですが、企業の方から
今の日本のe-sports事情と昔のフランスのe-sports事情が似ていると伺ったので、また詳しく調査したいと思います。

今回は、これで以上です!

LJL2016開幕戦レポート

1323101 榊原諒です。

今回1月17日(日)に開催されたLJL2016開幕戦に、
株式会社SANKO様の技術運営スタッフとして参加させていただきました!
LJLの公式ページはこちら

LJL_K1

まず、率直な感想としては、とてもたのしかったです!
私は、初めてこのような大会を生で見たのですがこんなに盛り上がって、お客様もたくさんくるのかと驚き興奮しました。
LJL_K2また、選手もインターネットでは知っていたり、知らない選手たち(プロゲーマーの方々)を見れてよかったです!
LJL_K5コスプレイヤーのパフォーマンス等もありました笑
LJL_K4
ここからは私が実際にやったことを説明します。
①選手PC,デバイスのセッティング
②ゲーム内での試合の進行
③BAN/PICK,試合時のVCの録音
④Twitch放送画面でのコメントのチェック
⑤PC,モニター,デバイスの梱包

このようなオペスペースで仕事をしました。

LJL_3

LJL_1

その中でも私たちの作業ブースはこんな感じでした。

LJL_2

まず①の選手PC,デバイスのセッティングですが、
選手が会場いりする前に,キーボード等を取り外したり、PCをすぐにTS3とLOLを起動できるようにしたり、ヘッドフォンのノイズチェックをしました。
10台分の配線が絡まり合ったり、場所によって調子が悪いものがでたりしたのでなかなか大変でした。
改善点としては、セッティングの際にもっとわかりやすくセッティングしておくべきだというところです。

次に②のゲーム内での試合の進行ですが、
まず選手達を集合させるチャットルームをたてて、ゲームルームを作成し、選手達を集合させて順番並びさせて、準備OKか聞いてゲームスタートという進行をしました。
ここは順調でしたが、選手のデバイストラブルなどにより大会の運営側と連携を密に取ることが大変でした。なぜかというと、MCでつなぐかCMでつなぐか選手インタビューでつなぐか等時間の使い方を考えなければいけないからです。

次に③のBAN/PICK,試合時のVCの録音ですが、
選手達のBAN/PICK,試合時のVCの録音をしました。これは録音だけでなく不正なことを言ってないかというチェックもしています。また、そのチェックで不正があった際に証拠として録音を提出します。
これはさほど大変ではなかったですがBAN/PICKと試合開始の間にコーチが抜けなければいけないところ、機材の都合で一試合目の手際が悪かったところが反省点です。

次に④のTwitch放送画面でのコメントのチェックですが、
こちらは、荒らしコメントのBANではなく、音ずれがあるや画像ずれがある等の放送上のトラブルをコメントで発見したら事実確認をして放送担当の方に修正してもらうという内容でした。
こちらも問題なく行うことができました。

最後に⑤のPC,モニター,デバイスの梱包をしました。
今回PC,モニター50セット-G-tune様 デバイス50セットlogicool様にお借りしていたものを元の箱に戻す作業をしました。
こちらは肉体労働でした笑
機材の扱いは次につながるので重要ですね。

これからの課題としては
Riot様が大会の運営をSANKOに任せていただけるように、
いろいろなことができるようになりたいと思います。

具体的には
①大会配信のスペクト画面のカメラ移動技術
②リプレイをしっかり、上手にやる
(ユーザーのコメントでリプレイ要望が多かったので)
③選手デバイスのセッティングがスムーズに行えるようにする。
(オフラインのみ)
だと感じました。
次は23日(土)にオンライン大会の運営スタッフとして関わってきます。