はてなキーワード: WebGLとは
最近は最前線から離れててあんまり追えてないけど、現役のときの2008年くらいから10年くらいの間で、仕事のやり方や設計の考え方が大きく変わったIT技術要素で、いまぱっと思い浮かぶのはこんな感じかな。
分野にもよるし、調査して試作した結果自分の業務には採用しなかった技術とかもある。流行ると思って使えるようになったけど流行らなかった技術を入れるとたぶんもっとある。
あと、新機種が出てOSが新しくなったり、ミドルウェアの新バージョン対応、テスト手法の進化もけっこうカロリー高いけどここには書いてない。
「自分はフロントエンド専門でReactしかやらない」みたいに分野を絞れば大分減るけど、その技術が何年持つかわからないから普通はリスクヘッジのために他の技術も齧らざるを得ないし、バックエンドとかの人と議論するのに結局他分野の知識もそれなりに必要。
NoSQL(memcached, Redis, Cassandra)
クラウドアーキテクチャ、XaaS(AWS, Google Cloud, MicrosoftAzure)
CI/CD(Travis CI, CircleCI, Jenkins)
トランスパイラ(Browserify, webpack, CoffeeScript, TypeScript)
型システム(Rust, TypeScript, Haskell)
オーケストレーション(Ansible, Kubernetes, Terraform)
機械学習(Python, MATLAB, 線形代数等数学知識)
SPA(React, AngularJS, Ember.js, Vue.js)
3Dゲームエンジン(Unreal Engine無償化、Unity5)の他分野への普及
GraphQL
機械学習ライブラリ(Tensorflow, PyTorch, Chainer)
Jupyter Notebook
NFT
完成おめでとう。今はまだ遊べてないけど、後でチェックしてみるよ。
匿名ダイアリーに投稿するのはいいと思うんだけど、google driveに入れてダウンロードして実行しろ、はかなりきついな。
itch.ioはゲームを投稿するサイトで、審査もないのでそこ経由でこっちにも投稿する形にしたらいいと思うよ。できたらweb上で実行できるようにビルドすると、遊びやすさが全然変わるので、プレイしてくれる人もかなり増える。遊んでもらえない限り公開してないのと一緒だしね。英語のサイトだけど、日本語のプレイヤーもかなり居るし、ゲーム制作したことのある人の比率も大きいから、良いフィードバックも期待できる。
Unity + Webglの組み合わせなら、unityroomもいいよ。こっちは日本語圏のサービスなので、フィードバックも日本語でもらえるのでいい感じ。
あと個人的に気になったこと。自分のゲームをクソゲーとか呼ばない方が良いよ。というかクソゲーとか自称してるゲームはあんまり遊びたくないよ。そもそもあんまりいい言葉でもないし。
もうひとつ。本命ゲームができるまで匿名で活動したい、という気持ちはわからないでもないけど、同じアカウントで投稿と本命ゲーム制作をするのをおすすめするよ。しょぼいゲーム作ると汚点になる、みたいに思うのかもしれないけど、全然そんなことないし(そんなこと誰も気にしないし、気にしてくれる人が出るほど有名になったら、それはもうすごいことだと思う)、同じアカウントでゲーム作ればフォロワーも増えて結果的に本命のゲームも遊んでもらえる確率が高くなるから。
本命のゲームにめちゃくちゃブランディングが必要なら別だけど(例えば習作はエッチなゲームも投稿するけど、本命は真逆のテンションだときついかもしれない)。その場合は2つのアカウントが必要になるかもね。ともかく頑張ってね。
プログラミングを学ぶと稼ぐに困りにくくなるらしい。
毎月家賃と光熱費と奨学金が口座から引かれるところを見るたびに、GAMEOVERが近づいてきてるような感覚に襲われる、クソ雑魚フリーターからするとすごく羨ましい。
おすすめ本みたいなものから色々探してみて『12歳からはじめるゼロからのPython』というのを手にとって見た。もう2倍以上上回ってるけど、知能と心は12歳みたいなものだから問題ないでしょう、多分。
ちなみにゲームプログラミング系の本だったんだけど、これはゲームが作りたいとかがあったわけじゃなくて、なんとなく面白そうだったから。
今までの人生を振り返って、例えば数学の教科書なんかそうだけど、2次関数がどうのこうのと公式を並べられて、一時的に覚えることはあっても『で、これはなんの役に立つの?』という思いが先行してやる気がでないことが多かった。だからゲーム作りっていう、学んだらこれができるってのがわかりきったものを手に取ってみました。
それで1ヶ月ぐらいやってみて、内容はわかったし、教科書どおりのことをやるぐらいの実力はついたけどここで思ったんですよ。
『で、こっからどうやって稼ぐの?』
考えてみるとゲームの作り方学んだからって、これを活かす方法がわかんないんですよね。
第一、ゲーム作りだったらUnityとかのほうがいいんでしょ?知らないけど。Pythonが良いって話を優先しすぎて足元見えてなかったなぁ。
そこから『Unityの教科書』っていう、なんか猫が書いてある本を買って、猫がひたすらジャンプして上を目指していくゲームみたいなの作れるようになったんですよ。WebGL?っていうのにして、Unityroomってところに上げて、一人で遊んでニヤニヤしてたんですけど、ふと『あれ、一銭も稼げて無くね』っていう。
そもそもUnity使えるようになったからってどうやって稼げば良いんですかね?
そこで立ち返って、そうそうPythonがおすすめだったんだよ。勝手にUnity使い始めてしまった。だから『Pythonによるスクレイピングと機械学習』みたいな本買ったんですよ。
で、読み進めて、なるほどサイトから情報抜き出せるのか~って、やれることわかったんですけどやっぱ『で、どうやって稼ぐの?』ってなるんですよね。
何が言いたいかっていうと、ザコが思うにプログラミングにおいて一番大事なことって発想力とか創造力とか、プログラミング以外の部分なんじゃないかっていう。
スクレイピングと機械学習が使えるようになっても、それを活かして何をやればいいのかわからない。
ゲーム作れるようになっても、イラストもかけないし、どんな物作ったら面白いのかわからない。
テレビで活躍してるお笑い芸人と同じ言語を僕は喋れますけど、だからといって彼らのようにはなれないじゃないですか。同じようにプログラミング言語を使えるようになっても、それを使って何をするかが思いつかなかったり、そこの技術力がなかったり。
そういう人にとってプログラミングって稼ぐ道具として不釣り合いだったりするんですかね?
タイトル通りザコの思うプログラミングの話なんで、はてな見るような上澄みの人からすると見える世界はぜんぜん違うんでしょうけど、ちょっと触った人間からするとプログラミング言語って活かし方が良くわからない代物でした。
全然、強要とかしないんですけど、よかったらプログラミングで副収入得るとしたらどうすればいいのか教えてもらえたら嬉しいです。
検挙に京都府警が関わってなさそうってのは、それなりに理由があるんじゃないの?
鬼の首取ったように「不正指令電磁的記録の罪はそういう行為だ」みたいな認識してる連中がおるが、あれはコンピュータウィルス(PC内の電磁的記録媒体に保存され、動作すると記録の消去や改竄、盗聴させるプログラム)を取り締まる法律を作れって話でこさえた訳じゃん。
「人が電子計算機を使用するに際してその意図に沿うべき動作をさせず,又はその意図に反する動作をさせるべき不正な指令を与える」
を根拠にしてるが、動作が遅くなるだの結果的に電気を使うだのを上記の不正に含めてたら、UXを損ねるパララックスだのWebGLだのFlashだのまで、不正な指令に入るだろ。
ウィルスで動作が遅くなるのは、あくまで破壊・改竄・盗聴の副次的産物であって不正の要件じゃない。
遅くなるだけ、電気を喰うだけってのは、「人が電子計算機を使用するに際してその意図に沿うべき動作をさせず,又はその意図に反する動作をさせるべき不正な指令を与える」に該当しない。
Webでは単純にテキストサイトではない本当に色々なことができるようになってきた。
HTML5になって以降まさに飛ぶ鳥を落とす勢いだ。
ここ5年くらいでデスクトップアプリに負けないレベルのSaasも出てきた。
Slack、Youtubeや生放送、Googleドキュメント、Google mapをカーナビ代わりにしている人もいる。
Javascriptも相変わらず日進月歩でTypescriptやらNodejsやらReactやらVue.js Three.jsなど、もうテキストサイトの付属品ではないことは明らかだ。
個人的にはWebGLでアプレットを使わず3Dの描画ができるようになったのは衝撃的だった。
そんなわけで、Webはどんどん急激に高度化し大規模化してきている。
ここまで大規模化していったシステムはセキュリティ的にもシステム的にもこれまでのような少数のチームがちまちま作るには手に負えない状況に来ているんじゃないかと思う。
それが表面化してしまった事件が今回のコインチェック事件ではないか。
コインチェックはおそらくWeb系のエンジニア主体でイケイケで開発したんだと思われる。
ただセキュリティが甘かった、つまりシステムとしてセキュリティ(内面)に問題があった。
これはまさにWebエンジニアの弱いところを突かれたといっても過言ではない。
それに伴ってWeb企業もSIer化していくんじゃないかというのが私の持論。
全てとは言わないが、これまでのWeb系エンジニアの開発スタイルはどちらかというとイケイケドンドンでできたらいいや使えたらいいやの精神でやってきたんじゃないか。
これでは大規模なシステムになるとセキュリティも保守も難しくなってくるだろう。
大規模なシステムはきちんとオブジェクト指向で作ってテスト駆動でウォーターフォール式で開発するのが筋ってものだ。長期的な目で見れば理にかなっている。
今後高度化していくWebに対応するためにはそうやって作っていくべきだろうし、自然にそうなっていくだろう。
大規模なサービスに関わるWebエンジニアは自然にSIer的になっていくんじゃないか。
Googleスライドとかスプレッドシートはヤバいくらい複雑なシステムだと思うしハイクオリティだとおもうんだけど、どんな開発体制で作られたんだろうか気になる。
門外漢からするとこんな風に聞こえてる。(所々適当に書いてるし書いてる内容は嘘デタラメ)
「gulpでbowerしてsassをgruntでビルドすれば、cssがストリーミング形式でデタッチされるから便利だよ。それにgulpはCoffeScriptとかtypescriptみたいな流行りのサードパーティも従来のJSみたいに変換してくれるしウォータフォールじゃなくてアジャイル的なプロジェクトでも使いやすい。スクラッチから書かなくてもいい感じにアジャストしてくれるよ。あと、OSSとしてgit上に上がってるんだけど、DLなんかもAWSと連携させてWebGLとTensorflowやらchainerやらと組み合わせればブラウザでDQNとかA3CとかDCGANも動かせるスクリプトがリリースされてた、バックエンドではDNNを走らせてフロントで表示する分をNode.jsでカスタマイズしたりタスクランナーでプロセスをマネージメントできるからもはやjsでtensorflowを含めたpythonのラッパーみたいな感じで使えて便利。最近ではbluemixがBitcoinのマインングをサポートしていてブラウザ上でウォレットからマイニングのセットアップまでできるんだって、ブロックチェーンの仕組みを拡張して社内のタスクマネージャーとかNAS上のデータを分散してサーバーに保存できるみたいなこともあるんだって。」
IT業界、特にゲーム業界は、流行りのネタ、ビジネスモデル、技術などはものすごい速さで変わっていってます。
たまたま、あるゲームがヒットし、人を増やし、そのゲームに適応した会社の仕組みを整えたとしても、すぐに時流に乗れなくなっていく、終いにはいつまで同じ昔のを焼き直しているんだ、というのを経験しました。
会社に必要なのは、変化できる、時流に乗っていける、欲を言うならば新しい時流を作り出せる仕組みこそ整えるべきと感じました。
例えばC社が強いのは、ゲーム/非ゲームに限らず、グループ内ですら競争させ、時流に乗れるグループが生き残る仕組みがあるからなのかな、と感じています。
あるいは、時流に関係ない他社を圧倒するノウハウ/コアバリューを持つ会社も強いのか、と感じました。
あと、VR/AR/MRへの予想。一部の会社はよく投資しますが厳しいのではと感じています。
ゲームエンジンの普及のおかげで少しは楽になりましたが、VRには3Dのノウハウがとても必要で、たまたまヒットできたとしても、3Dのノウハウの持っている据置系の会社にネタ/ビジネスモデルだけ拝借されて、すぐに追い越されそうな気がします。
例えばソーシャル系の会社は、据置系の会社が得意でないWebGLとかクラウドとかに投資した方が、いいんじゃないかと思っています。
先ずどの環境で作るかを考える。
AndroidならJava、iOSならSwift、ブラウザならJavaScript、MacやWindowsもある。
どれにしても習得するのはそこそこ難しい。
難しい。頂点シェーダー・フラグメントシェーダーも書く必要がある。
AndroidやiOSのライブラリに余りいいものはないかもしれない。
WebGLならThree.jsがメジャー(シェーダーも自分で書かなくてもいい)。もっと小さいライブラリもある。
JavaScriptプログラムをAndroidやiOSやパソコンで動かす事もできる。
勉強している内にUnityを使ったほうがいいかなとか色々思うだろう。
そうで無くても、GUIプログラミングは全てが一つのプログラムに入り複雑。
ここまで認識するようになるのに1年ほどかかるだろう。
(何か環境を一つに決めて初心者用の本の通りにすれば短期間でできるが。)
処理ごとにファイル出力して(メモリより時間がかかるが)分離しやすい場合も多い。
Rなどでのプログラムも案外手軽にできる。
まあ、そういう言い分は言語マニアにとっては都合が良いから無条件で真実とされてるわけだが
そういう嘘だらけな世界になってるのもウンザリしてる理由だな、
俺に言わせりゃお前らこそ「かじってる」だけだからわからないんだと思ってるが。
つーか、プログラムで「何を」やったことあってそんなこと言ってんの?
俺のこと古い人間とか言ってる奴いるけど、
WebGL?OpenGLのオフセットじゃん。今更何年も前に話題になった機能の入門記事が溢れてるのが笑えるwww、とか
ちょっと前にOCamlマンセーが流行ってたけど、あれだけ賛美推奨しておいてF#(.Net版Ocaml)をどいつもこいつも無視してるはありえんだろwwwとか
クソ言語マニアのブログ、記事、Twitterはこんな情弱ばっか。
なぜ両方使うという選択肢がない。真の技術者はウェブ標準だろうがFlashだろうがネイティブだろうが、その場その場でユーザーの体験を最善にし、クライアントの要求を最高に満たすベストの技術を使う。JavaScriptかFlashかなんて動きさえすればユーザーには関係ないんだから。実際、HTML5スゲEEEEE!!!ってページにFlashタグのブクマが間違ってつけられたりしてるよ?(笑) ウェブ標準の崇高さなんてパンピーにはわからんのです。
そもそも分からないんだけど、HTML5が「投資」するほどたいしたもの? 誰もが基礎教養として身につけているはずの、これまでのHTML+CSS+JavaScriptの延長線上の技術でしょ。今まで普通にやってきたウェブ開発者ならすぐにキャッチアップできるはずだよ。
どうせHTML5の実装の普及には当分かかるし、その時点のブラウザ環境で使用可能なものをゆっくりまったりと導入していけばいいだけ。その意味ではいわゆる遅延評価学習で十分。あわてることはないです。どうせ皆使うことになるんだから。
一応言っておくと、いいものだと思いますよ、HTML5は。現段階で頑張って凝ったものを動かしておられるイノベーターの方々もたいしたものだと思います。敬意を。マリオやらグラディウスやらは著作権的にどーなのかと突っ込みたいが。
それはシナリオのひとつですよね。Googleの甲斐性次第では十分にあり得る。それと、ジョブズが翻意するというシナリオもありますよ。今までに散々あったことですが。どこかでそれをネタにしている記事があったと思いますが。
もしEdgeを見てそう思ったのなら、Flash CSを使って制作したことがありますか? Edgeを実際に使ってみましたか? と問いたい。
他にも、最低でも、
これらにきちんと答えられない人間にHTML5 vs Flashなど語る資格はないです。そもそも対立させる時点でわかってないなー ┐(´д`)┌ って感じなのだけど。
あとFlashへの投資が無駄になると思ってるようですが、俺はFlashは投資判断「Buy」継続だと見てますよ。たとえこのままiOSで動かずともね。AIRもあるし、ブラウザのプラグインとしてのFlashだけ見ていると考えを誤るよ。ブラウザのほうにしても、GPUアクセラレーションつきの3Dが真っ先に使用可能になるのはFlash。プレイヤーの普及が速いから、WebGLと異なり、今後1~2年内に実案件で使用可能になるでしょう。そういった面ではなおカッティングエッジな技術だよ。
まあ、プラットフォームや言語の選択は投機だから、どの銘柄が買いか売りかで紛糾するのはわかる。ただ、それなら分散投資だとか、インデックス投資という考え方もあるのでね。HTML5に惚れ込んで一点買いなんて若いエンジニアがいたら、それはもう相当危なっかしいなと、視野も相当狭くなるだろうなと危惧するよ。
というか、JavaだろうがC++だろうがObjective-CだろうがLLだろうがアセンブリ言語だろうが関数型言語だろうが、一度全部触ってみなよ。いいから。HTML5で手一杯なんてのでは話にならんですよ。