ValveがTeam Fortress 2のコードを公開!開発者たちに新たなチャンスが到来?
引用元:https://news.ycombinator.com/item?id=43094260
これはモッディングにはいいけど、誤解しないでね。これはまだクローズドソースのSourceエンジンの上にあるTF2特有のコードだから、新しいプラットフォームに移植するのは無理よ。Sourceを再実装するか、リークしたSourceコードと結びつける必要があるし、法的な問題もあるからね。
Sourceをクローズにする理由が理解できないな。エンジンとしては面白くないし、今はO3DEやGodot、Wickedみたいな強力で扱いやすいオープンソースの代替が3つ以上ある。Sourceの開発に関わってきた人以外は興味ないだろう。GPLで公開すれば、インディーズからクリエイティブなプロジェクトが増えるはずなのに。
最近のゲームエンジンは多くのサードパーティコードを使っているから、オープンソースにするのは手間だよ。特にSourceエンジンのバージョンはHavok物理を使ってるし。IdTechがオープンソースになったのはCarmackのおかげだろうけど、その時のコードは全部自社開発でPC専用だったからね。
Idは、Doomのためにサードパーティのサウンドライブラリを使っていて、オープンソース版はLinuxポートを元にしてる。DOS用に戻すのは大変だった。DoomのWindowsポートはMicrosoftがやっていて、著作権の関係でリリースできなかった。Quakeの時はIdが自分たちでWindowsポートを作ったから、winquakeのソースコードを出せた。
おもしろい話:Gabe Newellが元々のWinDoomポートを作ったんだよ。その後、Doom95を作ったチームも率いてた。
>Microsoftがやったから著作権が移るのか?普通はお金を払った会社が権利を持つんじゃないの?
MicrosoftはIdに頼まれてDoomをポートしたんじゃなくて、Windows 95をDirectXで魅力的なゲームプラットフォームとして見せるために、自分たちのためにポートした。Doomエンジンをライセンスして、自分たちの変更を加えてDoom 95を発売したんだよ。おもしろいことに、DoomのWindowsポートはGabe Newellがやり始めたんだ。
それはMicrosoftとIdの契約内容によるかもね。
もしIdがMicrosoftにポートを依頼してたら、著作権はIdに属してたはず。でも、MicrosoftがDoomのソースコードをライセンスして自分たちでポートしたから、彼らの変更に関する著作権はMicrosoftに帰属するね。契約の詳細がどうなってたかはわからないけど。
Ton RoosendaalがBlenderの起源について言ってたことを思い出した。彼は当時の雇用主にオープンソースにするよう説得するのがすごく大変だったけど、第三者のコードが邪魔にならなかったから助かったって。
非公開のコードが混じってるのは理解できるけど、じゃあそのライセンスなしの部分をオープンソースにするのは何が問題なんだろうね。OSコミュニティが穴を埋めてくれるだろうしさ。
コードの構造によるかも。ライセンスされた部分が関数に散ってるかもしれないし、特定のNDA技術を隠すために整理が必要かも。もしそれが役立たないコードになるなら、管理層がリソース割くのは難しいよね。
NDAの話は面白いね、それが理由かもしれない。
Sourceを閉じたままにする理由が分からないなぁ。面白いエンジンではないし、Havokとかライセンスされたミドルウェア使ってるしね。その辺を公開するのは法的に大変なのは理解できるけどさ。Source 2がもっと社内製の代替品で構成されれば、今後オープンソースになる可能性もあるかもね。
Source 2の社内開発についてのリンクある?音響システムはオープンソースだし、物理エンジンはどうなってるのか気になるよね。オープンソースにした方がいいと思うけど、内部ワークフローを壊してまでやる理由がないのもわかる。
閉じてるメリットは確かにあるけど、外部ユーザーとの調整とか批判を気にしなくていいってのもあるよね。社内エンジンのワークフローって内部ネットワーク依存が強いから、全部公開するのは難しいと思う。
Unrealは超大規模なエコシステムを持ってるから、Valveが競争するのはかなりハードル高いかも。技術力はあっても、そこに参入するのは全く別の市場かもしれない。
Havokは特に置き換えるのが難しいよね。物理エンジンはケースごとに特別な取り扱いがあったりするから、置き換えたらゲームに致命的な問題が起きることもあるし。
ValveはFacepunchにSource 2のライセンスを与えてS&Boxを作らせてるみたいだね。ゲームエンジンとして公開するのはそこまでだな。
Source 2をいくつかのところに提供したって話は聞いたことあるよ。
オープンソースにするとチートが増えるって返答が来るだろうけど、Sourceエンジンのソースコードは何度もリークされてるし、5分も探せば見つかるぞ。 あの人が言ってるのは、Godotが数億ドルの開発費がかかったゲームエンジンと比べられるってこと。あんまり他の人の意見を気にしない方がいいよ。 Source、古いしTF2向けの更新も2013年以降はないし、エンジンの完成度は比較するのにかなり低いよ。 お金をかけた開発とクオリティ、パフォーマンス、機能、互換性を同一視するのは無理がある。SourceがUnityやUnrealにどうやって比べられるんだ?メタバースに使えるもんでもない。 今、少なくともパワフルで使いやすいオープンソースの代替が3つ以上あるらしい(O3DE、Godot、Wicked)。Godotが2Dには向いてるけど3Dはどう? Wickedは知らないけど、Godotでなら非写実的なスタイルを使った3Dゲームは十分作れるぞ。このショーリールを見てみ? リークのことや、Source 1以来10年以上経ってること、Source2のレンダリングコードの大半は新しく書き直されてるから、もはやクローズドソースにする理由があるのか疑問だ。 もちろん「秘密のソース」はいつもある。CryTekが実装についての論文を出してた時期もあったけど、今はそうじゃない。 ライセンスを取得しないとソースは手に入らないんだよね。ライセンス料を払うことで、そのソースを共有しないことにも同意することになる。IDのエンジンはいつも”世界で最も高価なXcopy”と呼ばれる。ソースを得ても、共有できないんだ。関連ページを見てみて: UE4/UE5のソースコードはライセンスのもとでしか手に入らないけど、そのライセンス取得のハードルはめちゃくちゃ低い。GitHubアカウントをつなげてEULAをクリックするだけで、大半のソースコードが無料で手に入るんだ。NDAで隠されているコンソール部分もあるけど、PCのコードはほぼ丸見えだよ。 でも、それはソースが利用できるだけで、フリーソフトではないよね?ただの飲み物代のように無料ってことだよ。“EULAをクリック”が大きな問題だね。 いるよ。ただ“LAN”って言葉はあんまり当てはまらなくなったね。最近のゲームは実際のLANプレイオプションが少ないから。モダンタイトルだと、同じ部屋にいるPCやコンソールが全てリモートサーバーに接続してるし。少なくとも、インターネット接続は昔より良くなったけど。 ValveがSourceからSource 2に移行して十年以上経ったのに、なんでソースがクローズソースのままなのかいまいち分からない。基本的なオーバーラップがあるからかな。それともゲームのソースをリリースすることには安心感があるのかな? ValveがSource 2に移って十年以上経ったってのは関係ないと思う。だってSource 2を開放する理由も同じだもん。ゲームコードを非公開にしておく価値ってあるの?考えられるのはa)アンチチート、b)NDAに縛られた3rdパーティコード、c)会社独自の重要な秘密ソースの保護だね。a)とb)はコードのその部分をリリースしないだけで解決できるし、c)はどうでもいい話。競合はバイナリを逆コンパイルしてプロプライエタリアルゴリズムを再現できるからね。 b)については、3rdパーティが著作権をどれだけ厳格に守りたいか次第で難しくなるかも。Google vs Oracleの件は、変形的だったから解決されたし、クラスや関数の宣言が著作権的に微小すぎるってわけではなかったから。だから、もし3rdパーティのヘッダーも残せないなら、たくさんの関数呼び出しを意味をつなげるしかないね。 Sourceエンジンはもう時代遅れだし、ValveはCSGOの利益を使ってGoDotやBevyといったオープンソースエンジンの再構築に投資すべきだね。Sourceエンジンの漏洩版をダウンロードしたことがあるけど、本当にひどすぎて笑ってしまった。確か6か月ぐらいの遅れがあったと思うけど、それでもGabe Newell自身による何年にもわたるコミュニティへのティーザーがあったのにHLの続編がまるでヴェイパーウェアになっちゃうのも納得だよ。 サーバー側でTF2を改造してたからめっちゃ嬉しい!IDAでバイナリを分析するのに無限に時間使ったけど、これからはGithub開くだけで済むってことだね。新機能やバグ修正が進むのは間違いない。TF2のソースコードが二回も漏れたのに、やっとこの時が来たって感じ。コミュニティの支援はすごいし、ゲームのクローンも作られたことがあるし、期待できるよ! TF2 Classicにとって良いニュースであることを願ってる。 オリジナルゲームの派生作品がOKとされて、Steamで新作としてリリースできる道が開けたのは、TF2 Classicの未来に明るい希望を持たせるね。 公式ページはここだよ: おお!昔のTF2のアップデートみたいなランディングページを作ってショート動画も作ってるってさ。すごい情熱だね!チームの規模も驚き! 良いね!昔360でのTF2プレイが多かったから、TF2 Classicはアップデートがあったらこんな感じかって思えるよ(笑)。 ゲーム名が「Frog Fortress 2」に変更されたみたい。 公式TF2と区別するために、名前を変えたのかな? これは内部ネタっぽいね。コミッターを見ればわかるよ(笑)。俺たちの仲間は蛙とグラフィックプログラミングが相性抜群だ! 公式のブログポストはここだよ: https://www.teamfortress.com/post.php?id=238809 え、こんなのHacker Newsに出るとは思わなかった!ずっと待ってたし、Valveならもっと早くこういうことしてたはず。このゲームを“最後”のセレブレーションアップデートとしてリリースすればいいのに、Vulkanに移植して、コードベースをオープンソースにしちゃうとか。これがTF2の終わりの始まりか、始まりの終わりかは分からんけど、以前のリークとは違ってこれは大ニュースだね。 終わりの始まりなんて言ってるけど、もう何年も前から終わってるよ。コミュニティに引き継ぐべきだし、それが正解!TF2のチームは今はほんとに少人数だろうし、18年も経ってるんだから、開発を外注するのが正しいよ。 チームが少ないって、ほんとに楽観的すぎるよ。実際は2人くらいじゃないかな。 実際、バイナリでの二桁だもんね。 キーボードの前にいる人を数えたら、二桁以上だよ! TF2のチームは、長い間一人だったって有名だからね。 その人はできる限りのことを頑張ったけど、一人には無理だったよ。 90年代にはiDがDoomを作って、それで数年お金を稼いでからソースコードを公開したんだよね。クエイクでも同じことをやって、だからValveみたいな会社が今もある。彼らの初期のゲームではDoomやQuakeの改造したエンジンを使ってたし、Valveはその25年以上続く伝統を引き継いでる。今でも新しいDoomマップを作って遊んでる人がいるし、2050年代以降も何らかの形でTF2を遊んでるかもしれないね。 iDがQuakeのコードを公開するのに3年しかかからなかったのが気になるね。 Portalのセリフだよ。最終戦でGLaDOSが解体される時にパニックになって出てくるんだ。 たぶん、Scoutとかへの言及だと思うよ。 これがHNに載るのは予想通りだよね。 64ビットMac用に再コンパイルする前にソースコードを公開したってことは、ValveはAppleとビジネスをやるのが優しくないと思ってるってことだよ。それもAppleがゲーム開発者をApp Storeに縛りつけようとしてるから仕方ない。 Mac向けにゲームを書くのは大変だろうね。標準じゃないCPUアーキテクチャや独自のグラフィックスAPI、多くは高解像度の埋め込みスクリーンを持っていて、GPUも”良い”レベルだし。Appleが中くらいのTomb Raider 2グラフィックスを発表した時、ゲーム開発者にとってあまり期待できない内容だったよ。ユーザーがMacを持てるなら、コンソールも買えたんじゃないかな。ゲーム会社はMacよりもSnapdragon向けにリコンパイルすると思うよ。 >Linuxには似たような問題があって、それが理由でLinuxでゲームをプレイする方法はエミュレートされたWindows環境でプレイすること。これについても見てみてね。Win32はLinuxでは唯一の安定したABIだよ。 Steam Linux Runtimeで安定させてほしいな。これはFlatpakのラッパーみたいなもんだから。 ゲーム業界のインタビューで聞いたけど、Appleは昔はゲーム会社に対して敵対的だったみたい。でも、iPhoneのApp Storeで少しは和らいだ感じ。Microsoftはデベロッパーに多額の投資をして、結果的にPCゲームの独占を手にしたんだ。 Microsoftがデベロッパーに“接待”しただけだとは思わないな。ゲーム用のツールやAPIに多額の投資をして、最終的には自社のゲーム機に繋がったんだ。90年代半ばから他にこの分野に注力していた会社はなくて、自然に独占したってことだ。Steamも同じ理由で成功したんだよ。 Microsoftにこれといった評価は与えたくないな。歴史的に見ても、管理側がWindowsをゲームプラットフォームとして見捨ててたし、最初のDirectXプロジェクトも支援されてなかった。DirectXの初期のエンジニアたちの情熱がなかったら、今のゲームランドスケープは大きく変わっていたはずだ。 そのレポートは読みたいな、もし共有できるなら。とはいえ、Microsoftの30年以上のサポートがたった3人の社員のおかげだとは思えないよ。彼らが達成したことと今の地位は、会社の長期的な戦略の結果だと思う。 30年間、競争相手をつぶそうとしてきたことも忘れちゃいけないね。 DirectXのWikipediaページにその情報載ってるよ。実際、DirectXが受け入れられたことで、Microsoftも姿勢を変えたんだ。ただ、初期の3人のエンジニアが頑張ったのが大きいんだよ。 少なくともMicrosoftはこれらの開発者を解雇しなかったし、DirectXの開発をやめるよう強制はしなかった。だから誰かにはクレジットが与えられるべきだよ、たとえ上層部じゃなくてもね。 そうだよ。DirectXってもう25年から30年くらい前の話だよね? 今じゃないみたいだよ。Game Porting Toolkit 2が出て、Macでのゲームが増えそうだね。開発者がどれだけ頑張るか次第だけど、Appleのハードウェアがいいし、ゲームのポートも簡単だから、Macゲームが増えると思う。 Game Porting Toolkitって、開発者はDirectX翻訳レイヤーを評価目的でしか使えないって変なライセンスがあるよね。エンドユーザーはWindowsゲームを動かせるけど、開発者は自分たちのポートを作っちゃダメで、やっぱりMetalにちゃんと移植しないといけないって感じ。 Apple Arcadeの開発者の経験を考えると期待はできないね。Appleはゲームにあまり関心がないか、ゲーム開発者を惹きつける環境を作れない。ゲームポーティングツールキットがあっても無駄。iPhoneはモバイルゲームがたくさん出るけど、Macにはその余裕がないんだよね。 記事によれば、公式TF2サイトでの発表には、 Rosettaが他の互換レイヤーと同じように潰されるまでは安心できないよね。 Macユーザーは1.4%で、Linuxより25%少ないんだ。それでも意外に多いとは思う。でも互換性のあるゲームがなければSteamをインストールする理由はほとんどない。Appleは最近ゲームに優しくなったばかりだから、20年前のゲームを移植しようとするのはまあ理解できる。 当たり前のことだけど、これはSteamのユーザーの中での割合ね。Macは1.4%、Linuxは2.06%だよ。 >互換性のあるゲームがないと ハードウェア能力に基づいて推測してるのかな。そうだとしても、開発者がゲームをMacに移植しても、だんだん互換性がなくなるよ。更新が止まるゲームも多いし、みんなが新しいmacOSに合わせて維持する努力をするのを期待してはいけない。32ビットx86用に作られたゲームがMacでプレイできなくなってるのが多いから、将来的にはRosettaが無くなってさらにゲームへのアクセスが失われるよ。 steamdeckはlinuxで動いてるから、そのうちLinux用のゲームが互換性を持つようになる。もしかしたらPCゲーマーもWindowsなしで済む時代が来るかも。でも鶏と卵の問題かもしれない。もっとコメントを表示(1)
https://dev.epicgames.com/documentation/en-us/unreal-engine/…
このページは、Unreal Engineのソースコードをダウンロードする手順を詳細に説明しているんだ。
編集:TF2CのDiscordからのお知らせ:
”今後の情報は追って知らせるけど、Team Fortress 2のコードが公開されたことで、TF2 Classicをすぐに起動できなくなるかも。今は法的にその開発を進める準備中だけど、プレイするにはSource SDK Base 2013 Multiplayerの“previous2021”βブランチに切り替えてね。”
https://tf2classic.com/
それと、Wikipediaも:
https://en.wikipedia.org/wiki/Team_Fortress_2もっとコメントを表示(2)
特にJump Pad PDAが気に入ってて、エンジニアの新しい選択肢として使えるのが楽しい。詳細はここで確認できるよ:
https://wiki.tf2classic.com/wiki/Jump_Pads
テレポーターが無駄な時に役立つから、Spyに悩まされてる時にも良い!
他のSourceエンジンの最近のアップデートのリンクもあるよもっとコメントを表示(3)
>”私たちは、64ビットバイナリサポート、スケーラブルHUD/UI、予測修正、他の多くの改善を加えた大規模な更新を行います!”ということが書かれている。それなりに進展があるみたい。
Steamで持ってるゲームの約30%はMacで動くよ。開発が難しいプラットフォームなのに、意外に多いと思う。とはいえ、CoDとかLoLみたいなメインストリームゲームは少ないけどね。