# HG changeset patch # User Yutaka_Kinjyo # Date 1285975418 -32400 # Node ID b1e6e100c535597de45e6edd80795d0304db56d3 # Parent 93c3962d9a017955da0a377111092d605ab752d9# Parent 17db5cd650c300e846e2514b1aa1d60ed66f0f1c merge diff -r 93c3962d9a01 -r b1e6e100c535 presen/graffle/fpslinda_read.graffle Binary file presen/graffle/fpslinda_read.graffle has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/graffle/fpslinda_waitread.graffle Binary file presen/graffle/fpslinda_waitread.graffle has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/graffle/fpslinda_write.graffle Binary file presen/graffle/fpslinda_write.graffle has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/apigraph.png Binary file presen/img/apigraph.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/apiinout.png Binary file presen/img/apiinout.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/apiupdate.png Binary file presen/img/apiupdate.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/connectionoftspace.png Binary file presen/img/connectionoftspace.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/debugring.png Binary file presen/img/debugring.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/fedaqua.png Binary file presen/img/fedaqua.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/fedlinda.png Binary file presen/img/fedlinda.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/fpslinda.png Binary file presen/img/fpslinda.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/fpslinda_read.png Binary file presen/img/fpslinda_read.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/fpslinda_waitread.png Binary file presen/img/fpslinda_waitread.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/fpslinda_write.png Binary file presen/img/fpslinda_write.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/game.png Binary file presen/img/game.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/linda_server.png Binary file presen/img/linda_server.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/lindaserver.png Binary file presen/img/lindaserver.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/metafedlinda.png Binary file presen/img/metafedlinda.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/nadeko.png Binary file presen/img/nadeko.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/poll.png Binary file presen/img/poll.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/prefedlinda.png Binary file presen/img/prefedlinda.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/relay1.png Binary file presen/img/relay1.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/relay2.png Binary file presen/img/relay2.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/relay3.png Binary file presen/img/relay3.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/relay4.png Binary file presen/img/relay4.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/relay5.png Binary file presen/img/relay5.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/routing.png Binary file presen/img/routing.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/routing1.png Binary file presen/img/routing1.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/tcpnodelaygraph.png Binary file presen/img/tcpnodelaygraph.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/treeandring.png Binary file presen/img/treeandring.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/img/treetopology.png Binary file presen/img/treetopology.png has changed diff -r 93c3962d9a01 -r b1e6e100c535 presen/linda.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presen/linda.html Sat Oct 02 08:23:38 2010 +0900 @@ -0,0 +1,232 @@ + + + + + + + +2010-10-02 (土) シーングラフとPS3 を使ったゲームプログラミング + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
    + + + +
  1. +

    Linda Server

    +
  2. + +
  3. +

    Linda Serverとは?

    +
    +
      +
    • データベースのひとつ
    • +
    • タプルスペースというデータを入れる箱が用意されている.
    • +
    • そこに,データを読み込んだり書き込んだりすることができる.
    • +
    • タプルスペースは多数用意されている.
    • +
    +
    + +
  4. + +
  5. +

    Federated Lindaとは?

    +

    複数のLindaサーバーを接続したもの

    + +
  6. + +
  7. +

    Federated Lindaとは?

    +
    +

    タプルスペースを複数個つなげて、タプルの伝搬を基にデータを共有する

    +
      +
    • タプルスペース間には データの伝搬などを管理する Protocol Engine と呼ばれるプログラムが存在
    • +
    • 共有して接続を分散させることでスケーラブルなプログラムを書く事ができる
    • +
    +
    + +
  8. + +
  9. +

    Linda Serverの使い方

    +
    + +

    Linda は、以下のAPIを用いてタプルスペース上のデータの更新を行う

    +
      +
    • in(id)
    • +
        +
      • データをタプルから取り出す。タプルにデータは残らない
      • +
      +
    • rd(id)
    • +
        +
      • データをタプルから取り出す。タプルにデータが残る +
      +
    • out(id,data)
    • +
        +
      • データをタプルへ書き込む
      • +
      +
    +
    +
    + +
  10. + +
  11. +

    水族館ゲーム

    +
    + +

    本研究では、ネットワークゲームを例題として用いる。

    +
      +
    • 複数のプレイヤーの画面を並べる
    • +
    • 魚が1匹ずつプレイヤーに与えられる
    • +
    • 画面の端まで行くと、隣のプレイヤーの画面に移動する
    • +
    +
    +
    + +
  12. + +
  13. +

    First Person Shooter Test

    +
    + +

    同じくネットワークゲームの例題として作成したゲーム

    +
      +
    • Lindaにプレイヤーの座標が保存されている
    • +
    • 複数台のPS3がLindaサーバーにアクセスしプレイヤーの座標を更新・取得
    • +
    • PS3ではそのプレイヤーを自由に移動させることができる
    • +
    +
    +
    + +
  14. + +
  15. +

    ゲームの仕組み(座標の書き込み)

    +
    + +
      +
    • Lindaは数値のIDをもつタプルが存在している
    • +
    • 接続されているPS3はそれぞれ固有のIDをもつ
    • +
    • IDを10倍した値をタプルスペースのアドレスとする.
    • +
    • そこに,座標などのデータを格納する.
    • +
    +
    +
    + +
  16. + +
  17. +

    ゲームの仕組み(座標の読み込み)

    +
    + +
      +
    • プレイヤー座標はそれぞれのIDが10倍された場所にある.
    • +
    • その場所が更新されれば他のプレイヤーが動いたことになる.
    • +
    • 座標が保存されるIDにReadを用いるとタプルの値を取得できる.
    • +
    • Readでは値が更新されていなくても通信が発生してしまい効率が良くない.
    • +
    +
    +
    + +
  18. + +
  19. +

    ゲームの仕組み(座標の読み込み)

    +
    + +
      +
    • そこでWaitReadを用いる.
    • +
    • WaitReadはタプルの値が更新されていなければ値を返さず,待機する.
    • +
    • 処理が帰ってきたときタプルの更新を検知することが出きる.
    • +
    • WaitReadで得た座標を用いてPS3の画面を描画する
    • +
    +
    +
    + +
  20. + +