C++幼女先輩

プログラミング成分多め

デスクトップPCのOS入れ直し

デスクトップPCを新調した

5月にデスクトップPCを超パワーアップした
CPUを corei9 9700Kにし
メモリを32GB
マザーはSLI対応
ビデオはGeforce1080Tiのまま

ところが1つだけ失敗がある
SSDを交換するの忘れた
ので買う事になった

現在ドライブは
SSD 256GB + HDD 4TBだ
OSが30GB、開発ツールが100GBほど使うと残りは100GB程度
結構厳しい
そのため、現在はゲームは全部HDDドライブに入れている
なんのためのゲーミングPCだ・・

という事で、近いうちに1TB~のSSDを買い、OSを移そうと思っている

アクティベートとか面倒化と思っていたが
どうやらSSD入れ替え程度ではOSの再アクティベートも不要で
イメージソフトを使えばイメージコピーすれば、特にインストールし直す事なく使えそうだ
非常にたすかる

うちのマザーは M.2を3本までさせるらしい
1個しか刺さない予定だけど

これで今まで悩まされていた容量問題が解決する

近況

近況

ブログあんま書いてないならブログなんてやめちまえ!
おっしゃる通り

仕事

最近はUNITYのゲーム作成とGolangでのセキュリティ&暗号化関連
の2本立てでございます

UNITYのゲームの方は、かなり人気なタイトルの続編となっていて、今までに何作も出ていて
とても重みを感じます
メインからまるっと開発まかされているので、責任も重大です!!
作業内容としては、開発のタスク管理から技術からみた仕様へのアドバイス、企画がつかうツール作成
シェーダー、全体のベース作成、高速化、コードレビューなど・・
多岐にわたります
ついでに、他案件のシェーダー書いたりサーバコンサルしたり

Goの方はやっと動いてきた感じです
Goは言語はわかってるけどベストプラクティスがあまり見つけられておらず
あまり好きな言語ではないんですが
人妻の友達のアドバイス
「夫婦が上手くいく秘訣は、相手の事あんま好きじゃなくても毎日嘘でいいから好きっていう事」
だそうなので、毎日Goが好きだという事にしました

ニュースリリース

大きな発表が出来るよう、最終交渉中です。がんばろう

仕事以外

ゲームしたい・・
FPS練習でオーバーウォッチしたい
TPS練習でスプラトゥーン2したい
モンハンワールド Icebone前に進めたい
ストV やりたい

Macbookを使わなくなって1年半がたちました

PC歴

Windows時代

昔は仕事はWindowsだったし、ゲームにツールにWindowsの方が便利だった
言語はC++C#Javaなどなど
サーバはWindowsサーバかLinuxサーバ
だいたいWindowsサーバにはリモートデスクトップLinuxサーバにはTelnetSSH)で接続してたか

2011年。Macbook元年

iPhoneアプリの台頭により、私もMacbookが必要になった
そのため、はじめてのマッキントッシュ、MacbookPro2011を買った
しかもNetBSDベースのOSのため、サーバ開発も1台で出来た
軽いし薄いし、とてもいいマシンで毎日持ち歩いて仕事をした
弱点はゲームが出来ない事ぐらいだが、ゲームは家のデスクトップで。

2016年。WindowsノートPC RazerBlade購入

MBP2011は、初期不良でロジックボードに爆弾をかかえていた
まだ使える状態だが、 後継ノートPCが必要だった
デスクトップではダメな理由は、仕事柄持ち歩く必要があるから
この頃はiPhoneの仕事もあまり来なくなり
UNITYやUnreal、サーバーの案件がメインになっていた
新しいMacbookProはnVidiaチップを積まなくなり、VGAもMBPは弱く、UNITYやUnrealには不利
また、Dockerのおかげでサーバ開発もWindowsで行いやすくなったため
Windows用のゲーミングノートPCを買った
サーバ開発もほぼ問題なく行える
しかも、LinuxMacにくらべ、DockerのファイルI/Oが20倍も速い!!

Goの問題

基本的にDockerを使えばLinuxと変わらずに開発できる
もちろん、Nativeで実行することもだいたい可能である
ところが、Goの開発では当時はPluginとShell実行がWindowsは対応していなかった
そのためMBPが必要になり2017年モデルを購入した

Go問題解消

Goが上記の問題を解消した
そのため、Windowsで問題なく開発出来るようになった
MBP2017はバタフライキーボードが不調ですごくストレスがたまる
しかも、Windowsはその間にDocker技術をすごく発展させていて
今はまだExperimentalだがLCOWで直接ホスト上で動いたり、Windowsコンテナや
VSCodeにWSLが乗ったり・・・
そして、完全にMacbookを使わなくなり1年半がたった

個人的な今のWindowsMacの比較

Windowsの方が良い点

ゲームが出来る
ソフトが多い
スペックのわりに割安
Dockerが速い
GeForceをつめるので機械学習Unreal、Unity開発が良い

Macの方が良い点

iPhone開発を行う事が出来る
iPhoneのTrueDepthやARKitなどのApple独自の技術が使える
海外旅行中に故障してもAppleストアが世界中にある
中古販売価格も高い

gRPCの勉強

gRPCとは

HTTPによるREST APIみたいなものですが、RESTではなく RPCである事など違いがあります
REST APIと比較すると

  • 仕様が柔軟である
  • ヘッダが小さくオーバーヘッドが少ない
  • HTTP2に対応しており、非同期通信が効果的に行える
  • protoファイルを作成し、プロトコルレイヤーを分離できる

などの優れた特徴をもっています
今後gRPCを使った開発が増えてくるんじゃないかな

大切な事はだいたい公式が教えてくれる

https://grpc.io/docs/guides/

公式のガイドに全部書いてあるけど、英語が読めないので・・
私の場合はサンプルコード見るのがはやい!

https://github.com/grpc/grpc-go/tree/master/examples

しかも、サンプル用にプロトコルやシンプルなサーバクライアント
認証用のトーク
など全部用意されているので
コード確認がすぐに出来るすぐれもの!

テストコード

下記にテストコードをかいていく
github.com

Golang再び

Golangの仕事再び
不満点はいっぱいあるけど、今の主流言語のひとつであることは間違いない Golang
仕事の内容は詳しくは書けないが、暗号化とセキュリティが重要な巨大基盤
OpenStackで作ったインフラ上で動かす

前のプロジェクトでGolandを購入したので、Golandを使うことにした
今回はいいデスクトップPCを買ったので、Windowsメインで開発を行うが
1年前とはちがい、今のところGolangWindowsで出来なかった問題が解決した

Goのバージョンアップ

インストールしていたGoが古いので最新に上げた
というのも、下記のGomodulesを使う必要があるので、必須であった
Chocolatey を使えば管理が楽そうだが、今回は普通にインストールをした
単純にインストーラー起動してうわがきすればよい

ちなみに Chocolatey使ったインストールは下記に

qiita.com

go modules

Go11にExperimentalで入った機能のようだ
Go11では機能をONにするために環境変数必要だが、Go12では不要

qiita.com

いままでのGoで不満だった、GOROOT以下にソースファイルを置く必要があったやつ
ライブラリのバージョン依存の解決のために venderディレクトリ使ってほげほげ してた
そういった問題を解決してくれるものだ
設定ファイルに モジュールのパスをエイリアス指定したりできる
ローカルパッケージの名前解決にも使える
おそらく go modulesを使えば、私のGoに対するイライラの少しが解決する

Goland設定

Lintなどを設定する

qiita.com

ここを見ればすぐに出来た。みなさんの知識ありがたい

UNITY シェーダーのmulti_compileの #ifdefに or条件を

非常に単純なのでちらっと

UNITYでシェーダーをmulti_compileで #ifdefを書きますが、例えば USE_AとUSE_Bがあり、どちらかが宣言されている場合有効にしたい
そんな時に

#if defined(_USE_A) || defined(_USE_B)
...
#endif

と、C言語のように書けばOKでした
というだけの知見

色々なゲームを楽しむインプットウィーク

今の仕事

NintendoSwitch向け大きなタイトル(UNITY)
スマホタイトルのシェーダー(UNITY)
スマホタイトルのリアルタイムゲームサーバ(C++
ゲームサーバインフラ改善(PHP
VTuber関連3個?4個? (UNITY)
暗号化キーサーバ(Go)

色々と抱えているけど、Switchタイトルの調査でゴールデンウィークはSwitchゲームを調査です

KPTC

勝手に作りました

trello.com

Keep:プレイ中ゲーム
Pause:中断しているゲーム
Try:これからプレイしたいゲーム
Clear:もうプレイしない予定

まずは体験版

今Switchでプレイしているのは、ゼルダ ブレスオブザワイルド、スプラトゥーン2(中断中)

体験版をプレイして、色々調査から
とりあえず何も考えず適当に選ぶ

LodeRunner

おなじみのロードランナー
ただ、グラフィックがマイクラ的なのはターゲットの設定がそこなんだろうか

迷宮の塔 トレジャーダンジョン

ダンジョンマスター風?を簡単にしたかんじ?
敵つよ。雰囲気はある

塊魂アンコール

XBOX時代に、ビューティフル塊魂を買い好きだった
雰囲気もいいけどゲームも楽しい、やりこみ要素も大きい
ただ、体験版でコントロール説明がなく、捜査よくわからないw

ガるメタる

JOYコンをドラムスティックのようにする音ゲー
ただし譜面通りに叩くわけではなく、自分の感性でアレンジするタイプ
パラッパラッパーとか
けっこうドラムの練習になるのでは?

太鼓の達人

音ゲーは好きなので。
予想はしていたが、SwitchのコントローラーとのUXは良さそう
2曲遊べたけど、バチを大きくふらないと反応があまりよくない?
テーブルモードだと充電しながら置けないという問題も発見w

ゲーム発展国++

ゲーム会社を経営するシミュレーションゲーム
ゲーム好き、実際にゲーム会社やってる人には内輪うけるタイトル?
スマホで先に出ているので、UI UXが違うだけか

財閥タウンズV

ゲーム発展国の会社。ゲーム発展国の方が好き