Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Node.jsで書いた WebSocketサーバを Scalaに書き換えて遊んだ話(仮)

Node.jsで書いた WebSocketサーバを Scalaに書き換えて遊んだ話(仮)

Scala 関西 Summitの懇親会LTです。
http://summit.scala-kansai.org/

LTは3分しかなかったので補足。

スマートフォンをコントローラーにデジタルサイネージで遊ぶゲームをつくるのにつくったwebsocketのサーバをPlay 2.5 で書きました。
以前はNodeJsで書いていたものをScalaで書き直しました。
(ゲーム自体はつくりかけ)

ユーザが一度接続するとユーザ情報を格納するアクターが生成されて、ユーザの固有情報を記録しています。スマートフォンから受け取った情報を元にアクターがakka streamで構築したストリームメッセージをなげて、Unityに渡して描画をしています。

Tomohiko Himura

October 08, 2016
Tweet

More Decks by Tomohiko Himura

Other Decks in Programming

Transcript

  1. Node.jsͰॻ͍ͨ WebSocketαʔόΛ Scalaʹॻ͖׵͑ͯ༡Μͩ࿩(Ծ) 2016-10-08 Scalaؔ੢Summit2016

  2. ͻΉΒ ͱ΋ͻ͜ twitter: @eielh from: ޿ౡ ҰԠakkaΛษڧ͍ͯ͠Δ

  3. 重要なお知らせ

  4. 広島の大きめな コミュニティイベントで Scala系の人呼びたい

  5. 2017年2月25日 オープンセミナー広島

  6. _人人人人人人人人人人人人_ > Scala Matsuriと被った <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

  7. 別の機会にお誘いします

  8. Node.js -> Scala

  9. 3分じゃ話すことない

  10. ざくっと感想 • Play 2.5 つかった • akka & akka stream

    • nodeに比べて • 初期学習コスト高い • 慣れるとやりたいことやりやすい • 以下から学べた • play.api.libs.streams.ActorFlow • play.core.actors.WebSocket
  11. 作ったものの概略図 端末から流れてくるイベントに サーバでユーザ情報を付与して集約して 別のマシンに流す

  12. 出力先をUnityにしたデモ 会場の人が多人数プレイできるゲーム

  13. None
  14. hayashiさんが8ポイント で優勝してました

  15. まとめ • 慣れると使いやすい • 今後 • パフォーマンスなど比較したい