はてなキーワード: Unreal engineとは
『Project Mugen』という新作ゲームの開発情報が公開された。
https://m.youtube.com/watch?v=ZhdXubIXA-U&feature=youtu.be
これを見て俺は驚愕した。ワイヤーアクションでビル街の空中を飛び回るモーションはただの『Marvel's Spider-Man』のパクリじゃないか!
こんなパクリゲーで勝負するなんて中華企業は自分でアイデアを生み出す発想力がないのだろうか。終わっている。
でもよく思い出すとワイヤーアクションで移動するゲームは『SEKIRO: SHADOWS DIE TWICE』やコーエーテクモゲームスが公開した『進撃の巨人』があったな。
SEKIRO の公開は 2019 年、Marvel's Spider-Man は 2018 年、進撃の巨人は 2016 年、ということはつまり……
なんてこった!
オリジナルは進撃の巨人で、スパイダーマンもSEKIROもProject Mugenも全部ただのパクリゲーだった!じゃあゲーム業界そのものが自分のアイデアで勝負しないクソカスパクリ泥棒社会だったってことか!見損なった!
しかもProject Mugen の罪はそれだけではない。このゲーム、なんと『オープンワールド・アクションRPG』なのである。
ヤバすぎる……オープンワールドは全部 GTA Ⅲ のパクリだ。スカイリムも、今流行っている原神もゼルダティアキンも、ポケモンSV も GTA Ⅲ をパクっているんだ……
あの任天堂ですらパクリに手を染めているなんて、ゲーム業界の闇は深すぎる…… マジで終わっているのかもしれない……。
しかもだ。Project Mugen はオープンワールドの都市のマップを自動生成で作ったらしい。
これは罪が深すぎる!
オープンワールドマップの自動生成は『No Man's Sky』で1800京個の惑星を作るために開発された技術だ。あるいは、『The Matrix Awakens:An Unreal Engine 5 Experience』でも都市の自動生成を開発していた。
こんなものまでパクるなんて、他人の努力を馬鹿にしているのか……。
いやまてよ、そもそもマップを自動で作るというアイデアは、ポケモンの不思議のダンジョンシリーズのような「ローグライク」ゲームで使われる技術だ。そのオリジナルは名前の通り1980年代からある『Rogue』だ。
ということは、ポケモン不思議のダンジョンも、Epic Gamesも Rogue をパクってんのか…… こいつら全員カス過ぎる…… ゲーム業界は本当に人格破綻者しかいないらしい。
そしてRPGは1981年の『ウルティマ』や『ウィザードリィ』のパクリだ。そもそもコンピュータRPGってのは、TRPGのパクリだ。呆れてもう言葉が出ない。
Project Mugen の罪はまだまだある。Project Mugen ではシーンに配置されてるオブジェクトを掴んで動かしたり、敵にぶつけたりする機能があるらしい。
これは『ゼルダの冒険 ティアーズ オブ ザ キングダム』のウルトラハンドのパクリだし、『SCARLET NEXUS』の念力のパクリだ!
そんでもって、物理演算エンジンをゲームに組み込むアイデアは『リトルビッグプラネット』のパクリだ!ゼルダもSCARLET NEXUSもパクリ泥棒だ!
だいたい、Project Mugen はキャラクターのセルルック(トゥーンシェーディング)な見た目からして、もう既にパクリだ。
最近のゲームだと原神も『BLUE PROTOCOL』もキャラクターの 3D モデルがセルルックに描写されているが、これは『GUILTY GEAR』シリーズのパクリだ。
ていうかセルルックとは「アニメ画のような」という意味なのだから、ゲームなのにアニメをパクっている!
これは文化盗用だ!ゲーム業界の内部だけじゃなくて外からもパクってくるなんて、社会の悪だ!ゲームならゲームのビジュアルで勝負しろよ!
そんでもって、GUILTY GEAR とかスマブラとかの格ゲーって言われるジャンルは全部ストリートファイターのパクリだ。
はあ。俺はゲームっていうのはどこを見てもパクリだらけの最悪の肥溜めなのが分かった。
こんなのは間違っている。ゲーム会社は他人の努力をパクらないで、オリジナリティで勝負しろ。
ワイヤーアクションも、オープンワールドも、アクションRPGも、物理演算も、プロシージャル生成も、セルルックも、クロスプラットフォームも、レイトレーシングも、3Dアニメーションも、全部先駆者がいる。
ウィジェット関連のやつ。
Unreal Engineの略じゃないかな 知らんけど
Unreal EngineはRustに対応するらしいし更に差がつくだろうな。
最近は最前線から離れててあんまり追えてないけど、現役のときの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
またゲーム開発をしてみたいんだけど、Unityを使うべきかね。
Rustを使える開発環境が良かったんだけど調べる限りだと無いんだよな。(Unreal EngineがRustを使えるようにするみたいな話は聞いたけど)
でも、Unreal Engineで囲碁や将棋を作る人はあまりいないでしょ?
Unreal Engine をどう頑張っても、囲碁というルールが自動生成されるわけじゃあるまいし。
Unreal Engine は、碁盤と碁石を綺麗にレンダリングする道具でしかないわよ。
例えばヒカキンやピューディパイってYouTubeのシステムや彼らに払われる広告収入を振り込む金融システム、広告表示のシステムに貢献した?してないよね。俺の知り合いにunreal engineでインディーゲーム作って一儲けした奴がいるんだけど、そいつは高卒(文系中退)だからゲームエンジンのシステムに貢献していない。しかし、ゲームエンジンを開発し、運営してるエンジニアたちの給与よりもそれを上手く使ったずるい馬鹿の報酬が大きくなることがある。ゲーム実況者とゲームエンジニアの関係でもそう。そんなことはあってはいけない。ただの利用者よりもエンジニアの方がより高い利益をもらうべき。エンジニアが上前をはねられることは許されない。今の社会はエンジニアに報いていない。技術者礼賛主義でいこうよ。
https://www.youtube.com/watch?v=_R-tN9l6onQ
ゲーム的に出来ない事が作られるんだけど
それくらい乗り越えろよとか
そこに落ちてるやん拾えよとか
さりとて、出来るようにすると、スカイリムやFalloutみたいになる
そこらにあるものがオブジェクトとしての判定と、他人の物としての犯罪判定をもってて、ちょっとした誤爆でNPCが敵対、阿鼻叫喚とかなりがち
あと、人の家に入って箪笥を開けるとか壺を割るとかが、ありえなくなる
こういうの、ゲームとしてのデフォルメ感を残すべきものと、そうでないもの
きちんと分けて考えるべきで
ドラクエ的なやり方が良いと思ったりしている
勝手に自縄自縛で制作環境を上げて、コストのわりに売れないと嘆き
ゲーム作りは大変になったと嘯くくらいなら
ゲーム業界がプログラマの中ではおそらく一番まともで、あそこが例外なだけだと思う。
それでもUnityやUnreal Engineを自前では作れなかったわけだけど。
ご指摘ありがとう。ごめん「GPUに直接」って書き方が悪かった。だったらディスプレイ出力すらできないよねって話になるよね。DirectXの説明しても99.999%の人にはなんのこっちゃだろうから「直接」って表現をしたまでよ。言いたかったのはProtonの発表が2018年で、ごく最近のことだっていうこと。「これは恥ずかしい」っていうタグでわざわざ畳みかけるように指摘されてるのは、それを専門にしている開発者の矜持なんでしょうな。いい仕事してそう。
ValveがWindowsゲームをLinuxで動かす互換レイヤー「Proton」を発表
2018.08.23
PCゲームプラットフォーム「Steam」でおなじみのValve社が8月21日、Codeweavers社と共同開発したWindows専用ゲームを動かせる互換レイヤーを発表した。この互換レイヤー 「Proton (プロトン)」はLinuxユーザなら誰もが知っているWineを改造したもののようだ。
Protonはかなりの改造を施されており、いろんなところからかき集めたプログラムや技術が詰め込まれている。
ProtonにはDirectX APIコールをリアルタイムでVulkanのそれに変換するレイヤー(DXVK)が組み込まれているため、DirectX APIで作られたゲームでも割と軽快に動作する。
もともとVulkanとDirectXには機能的にそこまで大きな違いがないためだろう。相互に移植するのも難しくはないと言われている。
またOpenVRへの対応や ゲームのフルスクリーンモードの取り回しを改善、Steam対応のコントローラのサポートも改善している。
ProtonはオープンソースとしてGitHubに公開されているので誰でも中身を見ることが出来る。ベータの段階でこんなにいろんなプログラムをSteamに統合できたことに驚いたが、2年の開発期間を要したそうだ。
https://slacknotebook.com/valve-releases-compatibility-layer-for-linux-proton/
SteamユーザーがLinuxに切り替えても不自由なくゲームを楽しめるよう開発された「Proton」でプレイできるタイトル数が1万2000本を突破
PCゲームの販売プラットフォームとして絶大な人気を誇るSteamを開発するValveは、Windowsユーザー以外にも幅広くPCゲームを遊んでもらうために、Windows向けのゲームをLinux上でもプレイできるようにするためのオープンソースソフトウェア「Proton」を開発しています。
ProtonDB | Gaming reports for Linux using Proton and Steam Play
2018年8月にリリースされたProtonは、Steamの開発元であるValveとソフトウェア開発企業のCodeWeaversが共同開発しているソフトウェア。ProtonのベースとなっているのはUNIX系OSでWindows向けのソフトウェアをネイティブ動作させるために作成されたWineであるため、ProtonはWineのフォークとも言えます。なお、Protonはオープンソースのソフトウェアであるため、ソースコードはGitHub上で公開されています。
そんなProtonに関するデータをまとめたデータベースがProtonDBで、同サイトでは「Protonでのゲームプレイに関するレポートの総数」「レポートが提出されたタイトル数」「Protonを用いることで何かしらの修正なしにLinux上ですぐにプレイが可能になるゲーム(プラチナゲーム)数」がまとめられています。
2020年4月時点ではProtonで問題なくプレイ可能なプラチナゲームの数は6502本で、Steam上でリリースされているゲームの約50%がプラチナゲームとしてLinuxでプレイ可能でした。
SteamのゲームをLinuxでもプレイ可能にする互換レイヤー「Proton」のこれまでの功績とは? - GIGAZINE
2020年12月8日時点でのプラチナゲームの数はさらに増えており、その数は何と1万2753本にまで増加しています。なお、「Protonでのゲームプレイに関するレポートの総数」は10万4508件、「レポートが提出されたタイトル数」は1万6232本です。
なお、Protonはバージョン5.13が2020年11月にリリースされたばかり。アップグレードのリリース時には、CodeWeaversのJames Ramey社長がProtonプロジェクトや会社の現状について語っています。
Podcast With James Ramey - Full Transcript - Boiling Steam
https://boilingsteam.com/podcast-with-james-ramey-full-transcript/
Protonのバージョン5.13では、ゲームの互換性に関する問題で大きなネックとなってくるアンチチートソフトウェアを回避するプロセスについて前進を見せているとのこと。ただし、ゲームが搭載するアンチチートソフトウェアとProtonの戦いは、Protonのリリース当初から続いている問題であるため、バージョン5.13で完全決着を見せるというものではなく、今後も戦いが続いていくこととなる模様。なお、次の次のアップグレードもしくはさらに次のアップグレードあたりで「NTDLLによりブロックされているゲームがプレイできるようになる」とRamey社長は言及しているため、Protonでプレイできるタイトルの数がより増えることなりそうです。
また、2020年に猛威を振るった新型コロナウイルスのパンデミックについて、Ramey社長は「幸い我が社はかなり分散した企業です。我々の開発チームの多くは西ヨーロッパ、東ヨーロッパ、アジアに拠点を置いているため、すでに在宅勤務を行っています。ミネアポリスにあるオフィスでは25人の従業員が働いていましたが、これも在宅勤務へと移行しています。通常時、我々は定期的にオフィスへ通っていましたが、2020年3月の第2週以降は1度オフィスに行ったきりです。元々リモートで仕事がこなせるように会社を設立したため、生産性の観点でいえば、新型コロナウイルスによる影響は皆無です。また、新型コロナウイルスの検査で陽性反応が出た従業員が何人かいたので、その従業員たちは必要に応じて休暇を与えました」と語りました。
さらに、Protonの登場によりLinuxをネイティブでサポートするゲームタイトルがSteam上から減少しているという指摘もあります。以下はSteam上で配信されているゲームタイトルのうち、ネイティブでLinuxに対応しているタイトルの数を示したグラフ。Protonがリリースされた2018年8月以降、明らかにLinuxをネイティブでサポートするタイトルの数が減っています。
これについてRamey社長は「Protonが提供するのは『Linuxでのゲームプレイ』という体験だけでなく、ゲーム開発者がLinux市場に簡単にアクセスできるようになるという機会でもあります。すでにリリースされているWindows版のゲームが、Protonを使用することで再開発なしで第二の市場に投入することが可能になるのですから」と語り、Protonの登場によりゲーム開発者がより手軽にLinuxユーザー向けにゲームを提供できるようになった点が関係ないとは言い切れないと主張。
特にゲームエンジンにUnreal Engineを使用していない開発者は、再コンパイルや変更なしで簡単にゲームをWindows市場だけでなくLinux市場にも投入できることをRamey社長は強調しています。また、Linuxにはさまざまなディストリビューションが存在するため、Linux市場で幅広いユーザーを狙ってゲームを販売することは非常に困難であるとRamey社長。その一方で、Protonを使用すればWindows向けにゲームを開発している開発者が、手軽かつ多くのユーザー向けにLinuxで動作するゲームを提供できるとしています。
また、ますます多くのゲーム開発者がProtonに気づき始めているそうで、Ramey社長は「まだ大騒ぎという段階にはありませんが、多くのインディー開発者がProtonに注目し始めているというだけでなく、大規模なゲーム開発者の多くもProtonに興味を示しています。その大きな理由は非常に低コストで別の市場にアクセスできるという点です。そのため、今後より多くのゲームがProtonで不自由なくプレイできるようになると思います。また、開発者が開発プロセスの段階でProton上でテストを行えるようになる可能性もあるでしょう。そのため、どこかのタイミング(転換点)で『ゲームが機能するかについてProtonの開発元であるCodeWeaversに問い合わせる必要性』が大幅に減少することを期待しています。我々が行っている多くの事柄は、そのための基盤を構築することです」と語りました。なお、Ramey社長は転換点が「今後12カ月以内にやってくる」とも主張しています。
ゲーム業界でプログラマーとしてやっている身から考えを書いてみる。
「私のフォロワーの方にはクリエイターやゲーム関係の方がたくさんいらっしゃると思います。皆様の意見を聞かせていただきたいです。」
https://twitter.com/gamemakerdiary/status/1413185724849954817
ゲーム会社の経理や人事でも、好きなゲームに関わっているということで満足する人もいる。
小規模なゲームをひとりで全部作りたいのか、中規模以上のゲームのどこかを担当したいのかくらいは考えておくべき。
次は専門職。シナリオ、グラフィック、作曲といった専門の教育を受けてないと手も足も出ない分野。
これも解像度を上げると、コンセプトアート、キャラデザイン、ムービー、モデリング、ライティング、UIデザイン、録音、効果音などなど無数に分類される。
ゲーム会社、特にコンシューマゲームのプログラマーとしてやっていくなら、学生時代に身につけている言語や環境よりも、「大規模なものや複雑なものを怖れず学ぶ」資質が大事だと個人的には思っている。
ゲーム開発は、ゲームエンジンやフレームワーク、ライブラリ、APIを多用する。それもネットで検索してもまったく情報がない独自のものだったりする。
そもそもゲーム機はOS自体が普通と違うし。ビルドに使用するツールチェーンもかなり複雑になっていることが多い。
簡単な例でいうと、Visual Studioよりもテキストエディタの方がシンプルで使いやすいと思うタイプは要注意だ。
複雑でも多くの人に支持されているツールは何か良いことがあるはず、と思ってVisual Studioを使いこなす気持ちを持とう。
学生時代の作品もProcessingなどではなくC++で書くべきとか言われるのもこの辺に通ずる。
あとプログラミングに自信がある人で、既存のライブラリは複雑で使いにくいからとオレオレライブラリを作ってしまう人も要注意。
実は俺もそういうタイプなので苦労した。
ゲーム開発は複雑なものをそのまま使わなくてはならない日がいつか必ず来る。
既存の複雑なものを使う能力と言うのは、つまり大量の(英語を含む)ドキュメントを読む能力、大量のソースコードを読む能力でもある。
シンプルで洗練されたコードも素晴らしいが、洗練されたコードをめちゃくちゃ時間かけて書く人よりも
多少いまいちでも手が止まらず書き続けられる能力がある人の方がまわりには多い。
そういう人は、いまいちなコードに何度も手を加えて最終的にはまともなコードにしてしまったりする。
ゲーム全般やゲーム開発に関する知識量は、プログラマーとしても最大の武器だ。
有名なタイトルがどういう特徴を持ったゲームなのか広く知るのには膨大な時間がかかる。ゲーム好きでそのあたりに詳しいだけでも強い。
Unityなどのゲームエンジンに触ったことがある、というのもスキルというより知識の武器という意味合いが強い。
入門書レベルではなく、UniRxとかのプログラムの書き方の根本からくつがえるようなライブラリ経験とか、Unreal Engineのソースコードをいじったことがあるとかレベルなら超強い。
大学のゲームサークルやインディゲーム開発のグループで経験がある人はここが強いように思う。グローバルゲームジャム参加経験者とかも。
それから、ここが一番言いたかった点なのだが、前述の専門職とまたがる知識のあるプログラマーはめちゃくちゃ重宝される。
グラフィックならシェーダーがめちゃくちゃ書けるとか、3DデータやIKを扱った経験があるとか、3Dベクトルや行列演算の数学が得意だとか。MayaやBlenderを使った経験があるだけでも強い。
サウンドならDAWや波形編集ソフトを普段から触っているとか、信号処理に詳しい人。
つまりデザイナーやモデラーや音楽家の気持ちがわかって、その人たちと専門用語で話ができるプログラマーはどこでも食っていける。
あと最近はAIに強い学生もゲーム会社は積極的に採用している。
ひとつの専門知識+プログラミング能力を身につけるのはわりとおすすめの戦略だ。ゲーム開発の全部に詳しい必要は必ずしもない。
CEDECなどのカンファレンスに参加して、どういう知識体系があるのか知って、自分の強みを考えよう。