C++幼女先輩

プログラミング成分多め

会社で取り組みたい事

フルスタックと言われているエンジニアなので、会社の柱をどうするか悩むよねえ
それをまとめていく

大まかな方針

基本的に私はオープンソースが好きだ。なぜなら、技術を隠匿せず世界に公開すれば、人類の進化速度が増す
そうすれば、最終的に自分の幸せも増え、未解明の事柄が減りプラスでしかないからだ
ただし、現在は資本主義の豚の世界。いや、人間には共産主義は無理で豚でしかないのだろう
会社の利益というのは必要。それらを満たすために私の方針は

技術、フレームワークオープンソースで提供し、その上のビジネスロジックでお金をかせぐ
という、ありふれたモデルを行いたい
具体的にはWordPressなりフレームワーク作って、タダで使っていいよ、お金くれたらコンサルするよ
というモデルである

現在の会社の技術

私を含め4,5人いる
基本的にはゲームプログラマフルスタックだ
フルスタック2名、ゲームエンジニア1名、フロントエンジニア1名、サーバインフラ見習い1名
だいたいそんな構成だ
それに加え、フルスタックの友達が手伝ってくれている

注視したい技術

ゲーム開発

言語フレームワーク

サーバインフラ

サーバインフラではサーバレスを推していきたい
もちろんオンプレなりインスタンス開発は保守でお金を稼げるのだが
そういうアコギなビジネスは狙わず、新規開発を行いメンテはゼロにした方が人類のためだ
サーバレスだと言語はnodeがメインになってくるのだが
最初はnodeで行うとして、今後はC#にシフトしていきたいと思っている
nodeはどのFaaSでも対応しているし、慣れてていいのだが
やはり実行速度の面やセキュリティ 色々考えて難がある
C#やGo、Javaといった高速かつ書きやすい言語をメインにしていきたい
その中でC#を選んだのは下記の事柄とも関係が深い
ただしC#AWSとAzureぐらいでしか対応されておらず、またServerlessFrameworkではAzure C#が未対応
なので、まだC#だけで押し切れないのだが・・

一応他の言語との比較であるが

  • node
    やはりランタイムの速度などに問題がある。ただ 立ち上げ速度は速いのかもしれない
    サーバレスの基本言語なので、当然基礎知識としては使えるようにする

  • go
    最近Goの案件も多く、Go2も控えてて注目言語ではある。速度もとても速い
    goroutineがもてはやされるが、async/awaitも全然負けてない
    このあたりの比較もしてみたいなあ

  • Java
    古くからあり、ライブラリも沢山。大手メーカーなどの案件でも使えるため非常に悩んだ
    ただやはり、ライセンス問題などが大きくのしかかる

  • PythonRuby
    それら使うならnodeでいいよなーって感じ

Webフロント

JavaScript一択ではあるのだが、そうでもない事態になっている
ゲーム会社の利点をいかし、UNITYで作ったUIをWebに吐き出しをして使いたい
またBlazorを使い、C#で作ったSPAをWebに移植したり行ってみたい
SPAであればサーバ側もサーバレスにして、全部C#でサーバ監視いらず安い料金でのサービス運用が可能
夢のようである

ゲーム

UNITYとUnrealがありとっても難しい・・・
やはり仕事でいうとUNITYが必要だ、特に小さな会社では
だがUnrealの魅力もある
のでここは心が揺らぎ両方とした

もしUNITYのみに限定できれば、全部C#で完結する美しい世界が出来上がる

ビジネス的な注視

恐ろしい事に、これが全くないのだ・・
ゲームに専念するでもなく、AR/VRに注視するでもなく、ブロックチェイン、VTuber・・・
色々な新しい技術をかじってはいるが、集約できていない
ここは技術者だから仕方ないんだろうか
新しいものに飛びついて、その時に意気投合したら集約
という流れを行うのだろうか・・

とりあえずサーバレスの波に乗りたい