ゲームができるリモートワーク環境を整えた

f:id:tnnsst35:20200419184523j:plain

コロナウィルスの影響で3月末から自宅でリモートワークしています。
今まで家には作業できる環境がなかったので、これを期に環境を整えました。

ゲーム機を置きたかったので少ない空きスペースにおてますが、もっと良い方法はないものだろうかと考え中です。

購入したもの

モニタ

ViewSonic VX3211-4K-MHD-7

www.viewsonic.com

31.5インチの4Kモニタにしました。
ASUS VA32UQとも迷いましたが、価格面と性能面で比較をして、ViewSonicに決定。

2週間ほど使った感想としては、31.5インチ大きくて最高なのと、
PCだけでなく、PS4Nintendo switchを繋いでゲームしたりもしてますが、画質もとても満足です。

コネクタがもう少しあると嬉しかったですが、今のところ全く問題ないです。

デスク

サンワサプライ シンプルデスク

デスクはサイズと価格重視で決めました。
配置スペース的にW120 × D60 が必須条件だったのですが、シンプルなデスクが意外となくて、
サンワサプライのシンプルデスクはサイズが細かく選べるのがとても良いです。

オカムラのSwiftや、FLEXISPOTのような昇降デスクも良いなーと思いましたが、予算的にアウト。

チェア

オカムラ バロンチェア
ハイバック/可動肘掛/座メッシュ/ランバーサポート

www.okamura.co.jp

チェアは大切なので、しっかりしたものをということでバロンチェアにしました。
WORKAHOLICさんのような店舗で、実際に座って色々比較してから購入できると良かったんですがそういうわけにもいかず。
普段、会社でも使ってて信頼性のあるバロンチェアで落ちつきました。

高級チェアの部類ですが、中古にしたので30,000くらい。

タイルマット

ニトリ タイルカーペット ハーゲン

バロンチェアに限らずですが、 オフィスチェアは重くて床を傷つけそうなのでカーペットを敷いています。
タイルカーペットは色の組み合わせが楽しいです。
安物なので、カーペット自体のはすぐ傷ができましたが、ダメになっても安くてすぐに買い直しできるので気軽に使えて満足です。

持ってたもの

キーボード

Happy Hacking Keyboard Professional HYBRID Type-S 英語配列/白

happyhackingkb.com

今年の誕生日に買ってもらったHHKBです。
会社ではMISTEL BAROCCO MD600を利用していて、HHKBは初めてなのでタッチミスしますが、Bluetoothでワイヤレスに接続できるのが最高です。

トラックボール

ロジクール WIRELESS TRACKBALL M570T

www.logicool.co.jp

以前から利用しているトラックボールです。

スピーカー

BOSE SOUNDLINK MINI II

数年前の誕生日に買ってもらったBOSEスピーカーです。
モニタにもスピーカーが内蔵されているので利用はしていないですが、雰囲気で置いてます。

欲しいもの

モニタアーム

モニタの下スペースを活用したい。

クラムシェル スタンド

Macを広げてスペースをとりたくないので、可能ならクラムシェルで運用したい。
ただ、クラムシェルだとhangoutやzoomのために別途カメラが必要なるのできっと買わないです。

2020年はインプットの年

2020年はインプットを頑張る年にしたいと思ってる。

2019年は仕事に慣れること、新しい立ち位置での仕事を邁進することに注力して、良いアウトプットが出せたという実感を持つことができた。 その反面、インプットすることはおろそかにしたため、2020年がインプットを大切にする。

  • エンジニアリング
    • 新しい言語
    • 設計手法
    • k8s
    • GCP
    • マネジメント/組織
  • パーソナル
    • 旅行
    • 生活圏内をもっとよく知る
    • 運動
    • 健康(食事)

今年も頑張ろう。

ゲーム開発者としてのサーバーエンジニア

ゲーム開発をしたいエンジニアはクライアント志望がとにかく多い。
新卒入社したエンジニアの95%以上はクライアント志望な感覚がある。

実際、現場におけるサーバーエンジニアは派手さが全く無く、超地味で、エンジニア以外からは何やっている人なの?的な存在になりがち。 (オンラインゲームだとキャラクター座標をサーバーで処理したりする場合もあるが)

キャラクターを動かすような仕事はないし、ゲームUIを実装する仕事もない。
大きなチームにいると、デザイナーさんと会話することすらなかったりする。

だがあえて言いたいのは、サーバーエンジニア面白いよってこと。

サーバーエンジニアのお仕事

ゲーム開発のサーバーエンジニアのお仕事は、WEB開発やアプリ開発のサーバーエンジニアのお仕事とそこまで変わらない。

  • クライアントからリクエストを受け、データベースとやり取りして、データを加工したり、保存したりして、結果をクライアントにレスポンスを返すAPIの開発。
  • AWSGCPなどでサーバー環境を構築したり、ゲームで利用するデータやアセットを配信するサーバーを整備したり。
  • ゲームのお知らせやメンテナンスを操作したり、ユーザーさんのデータを参照したり、お問い合わせの対応のためのブラウザで稼働するツール(WEBサイト)も開発する。

利用する技術もごくごく一般的。 種類は多いかもしれない。

  • インフラ
  • サーバー開発
  • フロントエンド開発
    • JavaScript、TypeScript
    • npmやyarnなどのパッケージ管理ツール
    • React、Vue
  • データベース
    • MySQL、Aurora
    • DynamoDB、Spanner
  • キャッシュ
  • データ分析
    • BigQuery
    • Fluentd
  • その他
    • UnityやUnrealEngineなどのアセット配信の知識
    • 世の中のゲーム仕様

最近の自分の環境をもとに、ぱっと思いついたものだけを挙げた。 他にもサーバー監視だったり、CIだったり、構成管理ツールなんかの知識も必要だ。 もちろん全部の技術に精通するのは難しいし、ぼくも全ての知識はない。

WEB開発やアプリ開発の現場から離れて久しいので最近どうかはわからないが、真面目にやればtoC向けの開発でのサーバーエンジニアとしてかなり鍛えられる環境だと思う。

また、サーバーエンジニアつまらねぇって思ったら、(本末転倒なのだが)クライアントエンジニアに転向することもできる。
実際、ぼくはサーバーエンジニアを経験したあと、(人がいなくて仕方なく)3年間くらいはUnityエンジニアをやっていた。 クライアントエンジニアからサーバーエンジニアに転向することもできるが、あまり聞いたことはない。

で、結局なんでサーバーエンジニア面白いかっていうのが、語彙力なくて上手く表現できないんだけど、ゲームもエンジニアリングも好きなら、サーバーエンジニア面白いよってことは間違いない。  (結局)クライアントも面白いけどね。

初めて所属会社以外でエンジニア業をした話

昨年、転職で有給消化とかで時間に余裕ができたタイミングで、初めて所属している会社以外でエンジニア業をしました。

経緯

妻が仕事を請け負っていた企業でキャンペーンサイトをつくりたいという話があり、 自分でもできそうな感じだったのでお仕事としてもらいました。

作業

企業側との摺り合わせや、仕様作成などは妻が行い、 ぼくは実装周りだけを行いました。

キャンペーンサイト自体は単純な診断もので、 SNSによるアカウント認証、診断ボタン押でランダムな結果表示するみたいなやつです。

技術的な面はぼくの判断でよかったので、 AWSでミニマムな構成で費用を抑えつつ、パパっと開発できる技術を利用しました。

  • Route53
  • ALB
  • PHP7.2:Laravel(EC2)
  • MySQL(RDS)
  • Memcached(ElastiCache)
  • Git(BitBucket)
  • Kibela

実はAWSでイチから構築するのが初めてだったので、サーバーの設定周りは本を参考にしつつやりました。

短期間のキャンペーンサイトだったので、監視や、ログ設計はそこまでやっておらず、 24時間の運用監視もしなくて良いという前提の依頼だったので、ゆるふわでした。

キャンペーンサイトの基本のプログラムは2日くらいで完了して、 デザインの調整や、仕様の調整、AWSのサーバー構築に大半の時間を使いました。

結果

AWSでいろいろ試行錯誤できて、 お金もらえるのはありがたいなと心底思いました。