【雑記】わんくま同盟勉強会@札幌#2
わんくま同盟 の勉強会に初参加でいきなり北海道遠征でした
せっかくなのでLTに参加し
普段の仕事と全く関係ない内容を発表してきました
テーマは「最適家賃の計算式」
docs.google.com
発表前には、「こんな内容でいいのかしら」って悩みましたが、
道民:「東京って家賃高いね、8万を払えば自分の家を建てるわ。移住してきて~」
都民:「そんなもんですね。わかる~」
意外と参加者の皆さんの反応が面白くって満足しました。
ーーーー
以下は旅に撮った写真です。
初盆踊り
懇親会
初うに
【メモ】Emscripten 1.35.0 以降のバージョンの使用
Unity5.5以降 emscripten のバージョンが更新されたため、
Unity5.4用にビルドした .bc が利用できなくなった。
Unity 5.4.5f1 : emscripten 1.34.1 Unity 5.5.0f3 : emscripten 1.36.7 Unity 5.6.1f1 : emscripten 1.37.3 Unity 2017.1.0f3 : emscripten 1.37.3 // <Unityのインストールパス>/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/Emscripten/emscripten-version.txt に記載されます。
となっています。
emsdk list --old
で以上バージョンが表示されません。(install候補になっていません)
Emscripten SDK (emsdk) — Emscripten 1.37.18 documentation
emsdk install git-1.8.3 emsdk update
実行して git から 開発バージョンをインストールできるようになります。
※プリコンパイルされてないバージョンのインストールは結構時間掛かります。
編集履歴
20170820:Unity2017.1.0f3のバージョンを追記しました
【C#】Server/Client サンプル
【MMORPG ゲームサーバープログラミング】
第2章チャットサーバーを参考にServer/Client実装するサンプルです。
MMORPGを作りたくてサーバプログラミングを調べたら
ネット上のサンプルでは
のが多くて、MMORPGではの解説が少なかった。
この本では、
- 受信用スレッド
- 送信用スレッド
- 同期用スレッド
- サーバー間の通信スレッド
4つスレッドを分けて負荷分散する方法を紹介されました。
少し古い本(2005年)なので、記載されたサンプルは C言語 で書かれてました。
Unityとロジック共有したいため、今回はC#にアレンジします
※読みやすくするため一部コードは省いてます。(いつか解説します。
Session
Client -> Server 接続後、Server側がClientの接続情報を保持するクラスです
gist.github.com
Command
受信したデータを解析し、プロトコールの種類やシリアライズ済のデータを保持するクラスです
gist.github.com
Server
チャットサーバーです。
やってること
- Main関数には TcpListener を初期化と送受信スレッドを生成する
- 各スレッドは while(true) を使ってループし処理を実行する
Client
フロントエンドです
Unityを使ってます
gist.github.com
【Advent Calender 2016】Milkcocoa + UnityWebGL
この記事は Milkcocoa Advent Calender 2016 18日目の記事です。
そろそろクリスマスなのに、
夏休みの課題のように、
最後の最後までコード1行も書いてませんでした!
当然な結果、進捗は全然ダメでした(/ω\)
とりあえず、ミルクココアでも飲んで落ち着こう。
Milkcocoaとの出会い
2014年にMilkcocoaを知り、
javascript 数行だけでリアルタイム通信できることに驚きました。
その年にはTypeScriptという楽しみもあって、
PPAPのように ummm(ウーン)した結果
MilkcocoaとTypeScript を合体しました。
今年のお題はなんと Milkcocoa と UnityWebGLを合体してみた!!
(タイトルにはすでにバレてると思いますが・・・)
まずは成果物です
http://kou-yeung.mygamesonline.org/Milkcocoa/
もし、
画面上に赤いボックスがあったら、
それはあたなのプレイヤーオブジェクトです。
方向キーでボックスを動かせるぞ!!(それ以上のことができません)
もし、
画面上に白いボックスがあったら、
それは他のユーザだ。
もし、
その白いボックスが動いたとしたら
それはMilkcocoaのお陰だ。
もし、
何も表示されなかったら
おそらく[今日の配信メッセージ数]の上限を超えただけだ
明日またリトライしてください。
使い方
gist.github.com
Javascriptとそれほど変わりません。
最後に
二年ぶりMilkcocoaを使ってみてAPIもそれほど変わってないし、使いやすいです。
にわかMilkcocoaユーザの私でも参加できますか?
楽しみにしてます(*'▽')
読みにくい文章ですが、
この記事で何か得られたら幸いです~