WebGL+Node.js+socket.ioで3Dマルチプレイ開発の課題に取り組みました。 その8

 雨季に入り、湿度も高まり夏の暑さを感じ始める今日この頃、皆様どうお過ごしでしょうか?
タンドリーの北山です。

前回に引き続きマルチプレイの実装をしています。
前回は動画の表示について記事にしましたが、現在は其方は保留の上、sessioncookieの情報の保存と管理に関係する実装を行いました。

その結果、2つの実装が完了しました。

1つめはsessioncookieを用いつつ、暗号化した情報をcookieに、そしてsessionはNode.js側に保存する処理です。

これは、F5キーなどで再読込をした際に、最初のログイン画面ではなく一定時間内であれば元の画面に戻す事を目的としています。
イメージは以下となります。





上記の処理が完了した結果、懸念していた関係性のある次の処理の実装に進む事ができました。

2つめのそれは、WebGLの3Dワールド空間内の、アバターの頭上に表示しているアイコンに、MySQLデータベースに保存しているユーザーIDを表示する事です。





この処理はsessioncookieの管理の処理の都合上、実装は保留にしていました。

理由は、sessionとcookieの情報の管理をサーバー側で行う際に、MySQLデータベースから必要な情報を取得する処理含め、それぞれの処理の独立性を担保するのが難しいと判断した為です。(つまり、スパゲッティコードになる危険性があると判断した為です。)

その懸念であったsessionとcookieの管理の処理が完了したので、この実装に取り掛かれました。


これまでサーバーはローカルで自作しマルチプレイの実装に取り組んできたのですが、上記の一連の実装の終了に伴い、本番環境の外部サーバーでこれまで実装してきた事の再現と、次に取り組む実装を行っていく事になりました。

これまではサーバーも自作していた為、処理の一連の流れも把握していましたが、今度の外部サーバーについては既に完成しているサーバーであり、仕様書のコマンドの情報・戻り値などを活用する事になります。

内部の処理の流れはブラックボックスの為、戻り値の内容に意識していく必要があります。
難易度が高い取り組みですが、引き続き実装に取り組んでいきたいと思います。

ここまでご一読いただきまして誠にありがとうございます。
是非、次回もご一読いただけますと幸いです。


現在
株式会社チョモランマ
株式会社シェルパ
3Dmodeljapan株式会社
ではスタッフを大募集しております!!
UNITY、Unreal Engine4、AI、プログラミングや建築パースに興味がある方!
ぜひご応募下さい!!
初心者の方、未経験の方やインターンを受けてみたい方々でも大歓迎です!!




〔企画運営〕株式会社シェルパ 
公式HP https://sherpa-cg.com/
〒810-0042
福岡県福岡市中央区赤坂1丁目13-10赤坂有楽ビル7F
tel 092-717-6800 / fax092-717-6801 

コメント