このエントリーをはてなブックマークに追加

Monthly Archives: 4月 2020

You are browsing the site archives by month.

在宅勤務導入!奮闘記 ~コンシューマ開発での事例~

こんにちは。コンシューマ開発グループのエンジニアの海部です。

マーベラスのゲーム開発では
私が所属しているコンシューマ開発を含め
現在ほぼ全員が在宅勤務で開発をしています。

数々の困難がありましたが、
各所の協力とメンバーの工夫で導入することができました。
ここで、その過程をご紹介させていただきます。

 


検討編

「コンシューマ開発で在宅勤務? 無理です」
つい先日までそんなことを言っていました。

それまでマーベラスでの在宅勤務は、
会社から支給されたセキュリティ対策済みのPCで
VPN接続(※1)をして行うことが中心でした。

オンラインのタイトルでは、ほぼ問題なく在宅勤務に移行できたものの
コンシューマ開発では、
「データがデカすぎて自宅の回線速度では無理」
「ゲームパッドが使えないと開発にならない」(※2)
「マルチモニタ環境でないと効率悪い」
などの問題があり、
VPN環境だけではそれが十分にできないことから
在宅勤務は難しいと考えていました。

それでも新型コロナウイルスが徐々に深刻になる中
マーベラスでも在宅勤務を強く推奨することが決まりました。

セキュリティを担保しつつ、上記問題をクリアするために悩む中、
社内のセキュリティが担保された環境下にあるPCを、
自宅からでも安全に扱える機能を備えた
リモートデスクトップ・ソリューション(※3)を導入する案が浮上しました。

もしかしたらこのソリューションで
在宅勤務ができる環境が整うかも?

そこから一気に
開発スタッフ全員を在宅勤務にするための準備が動き出しました!

でもそんなに簡単にはいくわけもなく、
数々の課題を乗り超えていく必要がありました。
それらの課題を解決していった過程をご紹介させていただきます。

※1 VPN接続:会社の外からでも会社内のネットワークに安全に接続できるありがたい仕組み
※2 その後の調査でパッドが使用できるやり方があることがわかりました
※3 リモートデスクトップ・ソリューション:会社の外からでも会社内に置いてあるPCを遠隔操作できるセキュリティ機能を持ったありがたい仕組み


テスト編

在宅勤務にする! まずそれが決まり、
実現に向けた各所の奮闘が始まりました。

まずは導入を検討しているリモートデスクトップ・ソリューションのテストが必要です。

リモートデスクトップ・ソリューションを数人に自宅で使ってもらい、
普段通りの作業ができるかを確認しました。

結果は良好で、多少遅延があるものの
作業はほぼ会社にいるのと同じように行えるとのこと!

開発用PCは会社に置いたままなのでデータサイズも問題にならず、
手元のPCに挿したゲームパッドを使うこともでき、
マルチモニタも使えました!(これが一番大きい)

これらのテストで、自宅にいても開発できることがわかりました!
一歩前進。

そしてリモートデスクトップ・ソリューションを大量導入することが決まりました。

しかし、ここで問題になったのは
100人を超える規模で同時に使えるのか、ということでした。

ちょっと技術的な話になりますが、
常時リモートデスクトップ・ソリューション作業を行うということは
会社に置いてあるPCの画面を、動画としてストリームで
自宅にあるPCに送ることを、ずっと続けるということになります。

Youtubeの動画を一つの回線から100台のPCで見続けようとするようなものです。

もちろん、動画はリモートデスクトップ・ソリューション側で圧縮して送信されるので
画面の更新が無い時には通信量は最小限になるようになっているようです。

しかし、ゲーム画面(特に3Dのゲーム)の場合、
画面の大部分が常に更新され続けます。
データのやり取りはそれなりの量になることが予測されました。

はたして100人以上が同時にリモートで開発ができるのか?
その実験を行うことになりました。

 


大規模テスト編

100人同時接続テスト。

それを行う前に、まず30人ほどでテストを行うことになりました。

30人ほどに早めに帰宅してもらい、自宅から接続をしてもらいました。
なるべく画面更新が多い作業をしつつ、状況を確認。

何人か「画面更新が遅くて作業にならない」という人がいましたが、
それ以外はほぼ全員が「作業できる」との結果が得られました。

30人テストをクリアしたので、
翌日の朝から、いよいよ100人同時接続テストに入りました。
その朝は、コンシューマ開発のほぼ全員が出社をせず、
自宅からリモート接続を行いました。

結果は良好!
前日のテストと同じく画面更新が遅い人が何人かいたものの、
そのほかの人はほぼ問題なく「作業ができる」状態で、
社内ネットワークの通信量も問題ない水準であることを確認できました。

その結果を受けて、
そのままその日から、100人を超える開発メンバーほぼ全員の
在宅勤務が開始されました。

Mission Complete!(任務完了!)

・・・ではありませんでした。まだ問題が残っています。
まだ何人か、在宅での業務を始められない人がいるからです。

理由は主に2つ。
・自宅にPCが無い
・リモートで接続したが画面更新が遅くて作業にならない
などでした。

 


自宅にPCがないケースの対応

自宅にPCが無いという人はそこそこいました。
今は大抵のことはスマホでできる時代ですし。

会社の貸出し用ノートPCにはすでに空きは無かったので、
会社支給のノートPCを持っている人の中で、家にPCを所有している人がいたので
会社支給のノートPCを自宅にPCが無い人に回しました。

それでもまだ足りませんでした。

どうしようかと思っていたところ、
まだノートPCが2台あることに気が付きました。

重量2kg超。
Corei7 と Geforce1080Ti搭載のゲーミングノート。
とてもゴツイやつです。

会議室や外出先でのプレゼンや勉強会などのために購入したもので
これも貸し出すことにし、自宅に持ち帰ってもらうことになりました。

「大きくて重いから袋を持ってきて!」と伝えたものの
持ってきてもらった袋に入らないという巨大さ。
紙袋に入れたら底が破れてしまいました。

仕方なく抱えて帰ってもらいました。
筋肉痛になっていないといいのですが。。。

こうした対応で開発メンバー全員の自宅にPCを用意することができました。

しかしまだ、リモート接続で画面の更新が遅くて作業ができない、
という人が残っています。

 


遅延が大きいケースへの対応(その1)

遅延が大きくて作業ができない人の環境では
1~2秒に1回しか画面が更新されない、などの現象が起きていました。
1~2秒に1回の更新では文字を打つことすらまともにはできません。

まずはネットワーク環境の確認から。

無線LANでの接続だった人は
なるべくLANケーブルで有線にしてもらいました。
これでだいぶ改善しました。

家の中をLANケーブルが這う状態になってしまった人もいました。
「短期間だから」と家族に納得してもらったそうです。

有線にしても遅延が改善されない場合は、
Windowsのネットワークのプロパティから、
ネットワーク接続を確認してもらいました。

すると接続速度が100Mbpsになっている人が何人かいました。
今一般的に売っているネットワーク機器は1Gbps(1000Mbps)ですので、
100Mbpsの人は10分の1の速度しか出ていないことになります。

理由は様々でした。
回線事業者から貸し出されたルータが100Mbpsしか対応していなかったケース、
通信経路の途中に挟んでいた無線アクセスポイントが100Mbpsだったケース、
ノートPCのLANポートが100Mbpsだったケースなどです。

ルータについては回線事業者に依頼して交換してもらうことができました。
無線アクセスポイントはそれを経由しない接続に変更してもらいました。
ノートPCのLANポートについては、幸いUSB3.0ポートがあったので、
USB3.0のイーサネットアダプタを用意してもらうことで
1Gbpsの通信ができるようになりました。

これでだいぶ在宅勤務できない人が減ってきました。

最後に残ったのが、ネットワーク速度が十分出ているにもかかわらず、
なぜか画面の更新が遅い人でした。

 


遅延が大きいケースへの対応(その2)

まだ残っていた画面の更新が遅い人について、
ネットワーク速度の測定サイトで通信速度を測ってみてもらったところ
十分な速度が出ていることがわかりました。

それにもかかわらず、画面の更新が遅い。

CPU負荷、メモリの使用量、ストレージの負荷なども調べてみましたが、
どれも問題のない数値でした。

なぜ問題が起きるのか見当もつかない状況でした。

ところが、
幸運な偶然がありました。

その現象が起きていた人が、PCを2台持っていたのです。
(デスクトップPCとノートPC)

問題はデスクトップPCで発生していたのですが
ノートPCにしてみたら問題は起きなかったのです。

じゃあ、ノートPCで作業すれば問題解決!

というわけにはいきません。

「原因を突き止めておいたほうがいい」
そんな感じがしていました。

デスクトップPCとノートPCの
違いは何だろう?

現象が発生していた人がいろいろ調べてくれた結果、
特定のグラフィックボードを使っている環境で
CPU内蔵のグラフィック機能が無効になっていると
問題が発生することが突き止められました。

BIOS設定(※1)を変更するなどしてCPUのグラフィック機能を有効にし、
さらにマザーボード側のモニタ出力端子にモニタをつなぐことで
問題が発生しなくなりました。

ノートPCだと問題が起きなかった理由は
「グラフィックボードを積んでいないから」
というわけです。

そしてさらに、
この現象は一見問題がなさそうに見えていた人の環境でも
実は起きていました。
同じように設定を変更してもらったところ、
画面の更新速度が改善した人が他にもいたのです。

原因を突き止めといてよかった!

※1 BIOS:PCの基礎的な動作を担ってくれるもの。通常は設定が必要になることはほとんどないと思います

 


Mission Complete、そしてその先へ

こうして、コンシューマ開発の全員が
在宅勤務できるようになりました。

Mission Complete!(今度は本当に!)

でも、まだまだ「できるように」なっただけです。

「いかにしてそれを持続させるか」
「どれだけ普段の効率に近づけることができるか」
の取り組みはまだまだこれからも続いていきます。

それらの取り組みについても
もしかしたら続報できるかもしれません。

また今回の対応で改めて痛感したのは
困難にぶつかったときに
「あきらめない」ことの大切さです。
「~だからできない」で話を終わらせずに、
「どうやったらできるようになるか」を
考えていくことが大事なのだと思います。

新型コロナウイルスが一日も早く収束することを願います。
皆の生活や健康の維持のために、
懸命な努力を続けてくださっている方々に
大きな感謝をしつつ
今できることに全力で取り組んでいきたいと思っています。