ポリゴン・ピクチュアズのパイプラインから見た、PythonとGo言語
Python and Go languages viewed from the Polygon Picture pipeline
(株式会社ポリゴン・ピクチュアズ)
(Polygon Pictures Inc.)
今後の会合の状況を見つつ加筆修正を含めブラッシュアップを進めていく予定です。
■概要
■Overview
過去の会合では、先進的なゲーム会社の開発チームの方の講演により、Go言語の可能性が示唆されておりました。長年の業界内での経験により語られたその可能性や展望は、参加者への刺激を生み、それ以降モデレーター達も含めて、多くの参加者がGo言語でのトライアルを紹介しておりました。
しかし一方で、USDやOpenVDBのようにPythonフレンドリーな様々なOSS化された展開もあり、また商用DCCの多くがPython主体での開発環境が進んでいることもあり、会合の後には参加者の中からはGo言語とPythonの双方をどう扱って設計していくかと話題になっておりました。
Go言語は、現在のITインフラの構築の際には、サーバーサイドを中心に非常に重要な位置付けにあると言われているわけですが、ポリゴン・ピクチュアズでも、社内でのトライアルを経たうえで、その可能性を生かす意味での様々なトライアルを始めております。
この資料では、ポリゴン・ピクチュアズの視点で、映像制作パイプラインから見たGo言語の可能性をまとめていきたいと思います。
under construction...
■先進的技術に触れ続けていくこと
■Keeping in touch with advanced technology
Dockerコンテナやhttp/2対応、昨今のITインフラでの様々なソリューションを試行的に用い、映像制作パイプラインを支えるインフラの設計を進めていくことが近年の海外大型案件などでは求められている傾向があります。
実際に、MPAAをガイドラインとしたクライアントからのアセスメントも出てきているなか、スタジオとして効果的な制作を行える環境をクライアント向けに説明する意味でも、グローバルな技術的背景を理解しつつ、各種技術の違いなどを理解し、その上でクライアント向けに適切に説明していくことなどが求められていくこととなります。
映像制作時の柔軟性を確保する意味で、小回りが利きつつ、大規模な制作に耐えていけるよう、安定性とスケーラビリティを意識しインフラを設計していく傾向にある現代では、多くのサーバーサイドエンジニアに揉まれたGo言語主体でのユースケースを理解していくこと無しには、モダンな映像制作パイプラインのデザインは難しい側面が存在するように思えます。
もちろん、これらの背景はゲーム会社でも同様なのかもしれません。Google/STADIAに代表される、開発環境からユーザー向けの実行環境までの一元化など、大規模な制作を柔軟に行っていける開発及び制作環境などの推進も日常的となり得そうな印象もあり、逆に言えば、これらを扱う上でのハードルの高さにどう向き合っていくかなどが課題になって行くのかもしれません。
会合中も、そのような意味での制作及び開発環境の変革などが話題に登っていましたが、モデレーター達は、特にその制作や開発を支えるエコシステム構築という意味でのサーバーサイド技術やGo言語の可能性などに焦点を当てており、今回の会合でも、こういった視点での議論を進めて行きたいと思っています。
・MPAA Best Practices
https://www.mpaa.org/content-protection/
・Stadia Developer Website
https://stadia.dev/
under construction...
■スタジオ内での制作や開発を支えるエコシステムの構築
■Building an ecosystem that supports production and development within the studio
そのスタジオの文化を意識し制作環境を考えていくほど、世界共通の標準化の流れを意識した、脱標準化としての社内文化に合った内製化促進は重要であると考えております。ポリゴン・ピクチュアズでも部分的な内製化を進めていく傾向にあり、今回の会合でもそれらに関する紹介などを行って行きますが、実際、スタジオの中でアーティスト側から提示される様々なアイデアをどう実現していくか、その実現コストの軽減を意識し、柔軟かつ表現力に富み、規模の大小を問わない制作体制というのは、なかなか難しい目標であると考えております。
ポリゴン・ピクチュアズにおいてGo言語での開発から学べないかと考えている視点の一つとしては、Go言語のもたらしたエンジニアサイドでの開発面でのトライアルを含む、ある意味大きなエコシステムそのものを学んで行きたいという点があります。
つまり、Web上で所属組織や社会事情のもたらす違いや垣根を越えたところで、様々なエンジニアがアイデアを具現化したり、それを公開し質疑を繰り返したり、開発して使ってみてはコアの仕組みを根本的に変革したりと、実際、登場してさほど長くない期間の間に、Go言語の成功はこのようなエンジニア側でのエコシステムという側面にあるのではないかと、そのように考えているということとなります。
今回の会合では、そういったスタジオ内での変革性と柔軟性をどのように考えていくかなどにも着岸し進めたいと思いますが、その中では、Go言語での開発を初めているポリゴン・ピクチュアズでの変革に関する率直なフィードバックを参加者向けにさせて頂こうと思います。
under construction...
■まとめ
■Summary
慣れ親しんだPyhtonでの開発も依然として重要ながらも、発展が著しいGo言語での様々な他業界での展開を背景に、単に機能開発上のGo言語使用から学ばせて頂いている事柄だけの紹介ではなく、映像制作時のアーティストの自由度を柔軟かつ迅速に達成して行く上でのエコシステムという側面に関して、この資料ではポイントのみ説明させて頂きました。
最近では、いくつかのゲームエンジンではWebRTCなどのインフラエンジニアが親しみ易いコンポーネントなども持ち入れられていたりしいておりますが、今回の会合では、Web-gRPCや、リアルタイム性の高いインフラ構築の側面での現代的な技術への展望などもお話ししつつ、ゲーム領域と映像制作領域の共通した部分や違いを感じたここ数回の会合の感触をもとに、ポリゴン・ピクチュアズでの海外大型案件の制作上の実感からくる課題や展望を紹介して行きたいと思います。
under construction...