UNITY NintendoSwitchの対応状況調べたい
Switch
UNITYのレファレンス見る限りでは、Switchは現代的ではないらしい
Unity - Manual: Compute shaders
そのためか、NintendoSwitchに関しては、機能が大きく制限されるので、とりあえず機能リストアップして使えるか試そうと思う
#
Version
HDR
SparseTexture
CullingGroupAPI
AsyncTextureUpload
ProcedualMeshGeometry
FrameDebugger
Tessellation
MovieTexture
3DTexture
TextureArray
CubeMap
ReflectionProve
DeferredRendering
MultiRenderTarget
リニアカラースペース
Vulkan
CommandBuffer
GPU Instancing
Geometry Shader
ComputeShader
ScriptableRenderPipeline
JobSystem
ECS
DynamicResolution
GPU Profiler
New MemoryProfiler
Timeline
年収2000万を超えた方法
多分、凄腕プログラマさんは年収1000万オーバーもざらにいます
2000万超えるのは、プログラムだけじゃ難しいですが
とりあえず1000万の壁を抜けた人たちの話です
会社員で1000万超えられるか?
年収1000万は月にして83万。フリーランスなら普通にそれぐらいいます
ただし、リーダー、マネージャ出来る凄腕だけど
会社員でも年を取ればいけます
でも若いうち(30前半まで)で超えられるか?
ボーナス200万あれば月67万。行けそうですかね?
会社次第だけど、あまり簡単ではなさそうです
基本的に社員時代は技術力向上と、自分のブランドアップに徹した方がよさそうです
やはり大きな会社の方がノウハウがたまっていて、技術力のある先輩社員や外注さんと仲良くなり
技術力を高めていくのがいいのかな?
自分売りはやはり TwitterなりFacebook、Qiita というSNSや、勉強会等で能力を公開することですね
で、そこで満足してもいいし、お金を求めてフリーになってもいい
技術力と自分売りが出来てれば、1000万ぐらい軽くいくでしょう
会社員良く知らないけど
ただ、外資でなくても、月160万~のオファーも来たりするので
もちろんリーダーやマネージャの能力重要ですが、プログラマでも2000万はギリ行く事は確定です
フリーで1000万オーバー
月額83万。でも実際は1,2か月仕事ない期間があると考えると月100万欲しいところ
月100万というのは心理的な壁になっています
なぜなら、会社によっては外注一人に出せる決済のおりる金額というのがあり、担当レベルだと例えば80万までとか
部長クラスで90万。100万超えると役員の承認が必要とか
ルールがある場合が多いようです
そんな場合は、週3日で60万で請けて、別件を週2で入れたり、持ち帰りと合わせて 100万オーバーを狙うか
役員以上の人から話をもらうために、役員以上のコネを作るのがいいでしょう
ただ、最近は腕のたつプログラマには100万ぐらいまでは簡単に決済おりることが多い気がします
120万は一つの壁ですが
役員の首根っこつかんでれば160万までは、わりと話をききます
年収2000行くには、平日で120万以上の案件をもち、あとは 人を入れるか持ち帰りを行って足さなければ難しいかもしれません
アイドルプログラマ
自分売りが本当に成功した人です
AWSならこの人に聞け、この言語ならこの人に・・
勉強会で人気な発表したり、本が売れたり、何かですごく名前が売れた人です
私も経験してないのでわかりませんが、この人が居る事で社員も入ってくる、まさにアイドルなので
月200万オーバーも夢じゃない世界です
自分の場合
私は30前半で1000万はいってましたが、それは平日の仕事が100万で常駐し、持ち帰り案件と合算という感じです
2000万はもっと後の話ですが、平日は120万ほどで請けて、信頼できる人間を入れたり、持ち帰り案件や、手を動かさずにコンサルのみ行う
といったことで超える事ができます
まだ自分の技術だけでは超えられないので、そこが課題ではありますが
安心して仕事場に送り出せる人と、コンサルと、やはり技術力と売り込み どれも重要で微妙なバランスです
お金の使い道
正直、かせいでも半分は税金になりますので、正しい事に使うべきです
例えば、お金をけちって安いPCで作業効率落とすなら、いいPCにして経費にすべき
モニター1個追加したり、SSD容量大きいものを買う、メモリー増やす、CPU良くする、GPU良いのに・・
これだけで作業効率やモチベーション上がるなら、正しい使い道です
あとは、事務所というか秘密基地を作って、そこに投資しようとしています
なるべく 一緒に仕事する人たちが快適に楽しく技術を磨けるように、いい秘密基地 目指しています
決して、自分がブランド品で固めたり高い車乗り回したりはしません
でも、仕事とるために、多少はいい服のコスプレすべきだな・・・とは反省しているところですが・・
そのあたりは別の課題ということで・・
そして最も重要なのは、自社プロダクトを作る事ですね。
ただ難しいのは、お金をいっぱい出して仕事としてプロダクトを作るのか、みんなでワイワイ遊び感覚で作るのか
どちらが良いかは、メンバーやプロダクト次第ということです
あまりにもビジネスライクにすると、結局お金出す人の声だけでかくなり、いいものが出来ない気はします
その場合、基本的には 環境をよくしたり場所を提供したり機材を提供したりはしますが、あまり給料は発生させず
プロモーションなどの費用を受け持つかんじがいいのかな?と思ってますが、いかんせん経営は素人なもんで・・・
今までの反省とこれから
最近自分の技術力が相対的に落ちてきた気もしつつ・・・は反省材料
自分の売り方が下手で、本を書くなりSNSうまく使うなり、ちゃんと売らなきゃ
結局この先は人を沢山入れて会社の利益増やしてそれを、秘密基地や自社プロダクト=会社の価値 に還元する事になるが
従業員の価値を高める方向へのお金の使い方が出来ないか?模索している
人を入れる、自社プロダクト以外の利益の上げ方、つまりは自分の単価を高めるための努力は行わねばならないな・・
結局技術力しか売りのない私なので、ちゃんと技術ついていかねば明日がない
しばらくUNITY勉強し直します
人生最後の言語
おおげさに
プログラマとしては後数年でメインの座から離れるかもしれない
理由は、一生働かなくても暮らしていける貯金を手に入れているからだ
もちろん質素な暮らし限定だが、ご飯食べて住むところがあり、ゲームして遊べれば十分だ
ただし、ゲームを一日中出来るほど集中力があるわけじゃないので、暇つぶしに少しプログラムしたい
もっと言えば、最近仕事をしている人、仮にクィーンと呼ぶ
クィーンからの依頼をこなすため、Web開発に使える言語をなにか一つ本気で身につけようと思った
言語の比較
言語は色々な側面から選ぶのだが、まずは速度という面からジャンル分けしてみる
ネイティブコンパイル言語
ネイティブ実行ファイルが生成される、最も早い言語である
この言語を使うなら非同期前提だろう
C++言語
C言語はlibEvent等を使うが、個人的辛いのでCでは書きたくない
Boost.Asio等を使い非同期を行う
Webフレームワークも無くはないが、あまりWeb開発で使う人が居ないので情報が少ない
ライブラリは非常に多くそろってはいるが、SDKやWeb開発に便利なものが少ないので
かなり自作する必要があるだろう
問題は、他の人と共同開発や、開発速度を上げるのが時間がかかる
Rust
Post C++をうたう言語
今の所、まだライブラリが少ないかな・・という印象をうける
速度は申し分ない
フレームワークとして Actixが良さそう
Go
ネイティブのわりには遅い気もする(JavaやKotlinより遅いような・・)
が、恐らくコンパイラの最適化でもっと速くなるだろう
シンプルな言語で、サーバレスには良さそうだが
あまり作り込みがしにくいので、あまり良い印象もってない
VMコンパイル言語
VM上で動くコンパイル言語だ
基本的にはネイティブより遅いが、そうでない場合もある
Java
特にビジネスアプリでは昔から大人気
フレームワークも非常にたくさんあり、Spring、Play、Servlet・・・
少し前までは Android開発言語でもあった
なんだかんだでド安定言語
Kotlin
Better Javaといったかんじか
今のAndroid言語
JavaVM上で動く言語
フレームワークは、http4kなど
C
Better Java
Microsoftの言語なので、ビジネスでの利用も多くマニュアルも濃い
.net Coreの存在や、UNITY、Xamarinの存在により、最もフルスタック言語といってもいい
ゲーム案件を多く抱え、UNITY開発をよく行っている私にはベストかもしれない
MVCフレームワークはFullstackフレームワークのくせに速い
Erlang,Elixer
Erlang VMはあまり速い印象がないが、堅牢性では非常に優れている
Erlangは言語に癖が多いが、ElixerはそれをRubyライクにまとめたかんじ
Elixir Phoenixが有名か
Haskell Clojure
メインで使うには・・・
良い言語なのだけどね
スクリプト言語(非同期)
スクリプト言語は遅いが、非同期であれば我慢できそう
node.js
非同期を流行らせた言語
JavaScriptがベースになっているので、Webサービスを作るには相性はいい
非同期フレームワークのなかでも、かなりライブラリが多くコミュニティも発達している
Python
使ったこと無いが Tornado等、非同期フレームワークは存在する
スクリプト言語(同期)
個人的には、速度的には避けたいが、高速で開発できるならあり
PHP
ゲーム業界では人口が多いハズ
Python
世界的に最も人口が多い
人工知能にも使われる
Ruby
日本では開発者が多くコミュニティも活発
決断
C
UNITY案件を多く請けているし、.net Coreのおかげでサーバ開発も可能
さらにツールも作れる
ほぼフルスタックのC#をまず初めに勉強しようと思いました
node
非同期サーバとして有名でノウハウもあふれている
また、GypでC++とも連携しやすい
Electronでアプリも開発出来る
そしてWebのフロントはJavaScriptが必要
これまたフルスタックである
Java
Webサーバとして歴史もあり速い
Hadoopにも必要
業務アプリはほとんどJava
Python
軽量言語としてPython3系を使いたい