へだちの備忘録 RSS

Archive

Oct
5th
Sun
permalink

「感情の共有」,「負荷との戦い」—-ニコニコ動画の技術:ITpro

http://itpro.nikkeibp.co.jp/article/COLUMN/20071211/289262/

「感情を共有するためのアルゴリズム」とは,すなわちコメント表示に盛り込まれたアルゴリズムとパラメータである。まずコメントはデフォルトで右から左 へと流れていくが,コメントの文字数がいくつであっても画面上で4秒間表示するようにした。そのため,短いコメントはゆっくり表示され,長いコメントは速 く流れる。「これにより,長く冗長なコメントが減り,簡潔で要点をついたコメントが増えるという淘汰が起きた」(溝口氏)。

コメントの長さによりコメントの流れる速度が違うため,画面上で重ならないように表示するため「衝突するかどうかの計算を行いレイアウトする」(ドワンゴ 研究開発部 戀塚昭彦氏)。図のように,時間軸に沿ってコメントの占有する領域を計算し,重なる場合は別のレーンに流れるようにする。

ただし,「大量のコメントが同時についたときには,レイアウトをあえて崩す」(戀塚氏)。盛り上がりを演出するためだ。折り重なった大量のコメントで画面は埋め尽くされる。このような状態は,ニコニコ動画のユーザーに「弾幕」と呼ばれている。

プロトコルはFlashの標準的な通信プロトコルであるXMLsocketではなく,Webアクセス・プロトコルであるhttp上にXMLデータとして実装した。「ファイアウォール越しでも利用できるようにする」(戀塚氏)ためだ。

ドワンゴでは,通信するデータ(パケット)の定義から,通信プログラムを自動的に生成する仕組みを開発している。Excel上にパケット定義を記述すると,サーバー用のC++プログラム,クライアントのFlash用のActionScriptを生成する。

開始時にマッシュアップ・サイトとしてスタートしたため,小さな投資でスピーディにサービスを始めることができた。そのことがユニークなサービスを生み出す試行錯誤を可能にした。