C#の可能性を切り開いていく専門会社「Cysharp」の目指すところ

プログラミング言語のC#を中心としたゲームの技術開発を行い、C#(※1)の良さを世の中に伝えていくために設立されたサイゲームスのグループ会社「Cysharp」。ゲーム業界への貢献のためにC#向けのOSSライブラリを数十個公開するなどの活動をし、「CEDEC AWARDS 2022 エンジニアリング部⾨優秀賞」の受賞、国際的なゲームクリエイターの祭典「GDC2022」に登壇するなど認知を広めています。そんな「Cysharp」設立の経緯から今後の展望まで、代表取締役に話を聞きました。

※1 C#……Microsoftが開発した.NETプラットフォーム向けプログラミング言語。ゲームエンジンUnityでも採用されるなど幅広い領域で使用されている。サーバーサイド開発では世界中のエンジニアが利用している開発者向けQ&Aサイト「Stack Overflow」や検索エンジン「Microsoft Bing」など大規模サービスでの利用例も多い

株式会社Cysharp 代表取締役ヨシフミ
gutenberg-examples
サイゲームスと共にC#専門の開発会社として株式会社Cysharpを設立。「C#大統一理論」を掲げ、サーバーとクライアント(Unity)を共にC#で実装するフレームワークの開発とアーキテクチャを構築。さらには「Message Pack for C#」をはじめとした、世界中で使われているC#のオープンソースソフトウェアライブラリを複数開発し、Microsoftが世界中の技術コミュニティリーダーの活躍を表彰するMicrosoft MVPアワードプログラムにて「Microsoft MVP」(Microsoft MVP for Developer Technologies)を 2011年から2022年現在まで11年連続受賞。日本のC#における技術開発を牽引し続けている。

代表取締役の歩みと
Cysharp設立の経緯

まずは、Cysharpについて教えてください。

Cysharpは「プログラミング言語のC#を徹底的に極めて、世の中にC#の良さを広げていく」のをモチベーションとしたC#の専門集団で、2018年9月に設立しました。ゲーム会社でC#というとクライアント(Unity)のイメージが強いですが、Cysharpではサーバーとクライアントの両方をC#で作ることで開発生産性を最高のものにする構築方法「C#大統一理論」を提案しています。Unityクライアントとサーバー開発、通常別々の言語を用いて開発するため、二重実装が必要になるといったコードの別管理を要求されますが、1つに統一することで従来の複数の問題を解決しました。

新しい開発手段となるので、Cysharpではそのためのリファレンスアーキテクチャ構築や、クライアントとサーバーを繋げるための効率的なライブラリを開発しOSSを提供するなどして、ゲーム業界全体で採用が進むように尽力しています。

ヨシフミさんのCysharp設立前のご経歴を教えてください。

高校生の頃に『思考スピードの経営: デジタル経営教本』(ビル・ゲイツ著)に出会ったことがきっかけで、Microsoftに興味を持つようになり、初代XboxやXbox 360でよく遊んでいました。ビル・ゲイツ氏の原点はBASICインタプリタ(※2)を開発し売り込んだことにあると捉え、コンピューターを真に使いこなすにはプログラミングができなければ……と、はじめてみたのがエンジニアとしてのスタートです。ただ、その頃にはあまり大きな成果は残せず、プログラマーとしては挫折を繰り返していました。

※2 BASICインタプリタ……ユーザーがBASIC言語でプログラムを入力して実行できるようにする方法の1つ

▲ビル・ゲイツ著『思考スピードの経営: デジタル経営教本』

転機が訪れたのは「C# 3.0」との出会いです。2008年にリリースされた「C# 3.0」は、はじめて「LINQ」と呼ばれるオブジェクト指向言語と関数型言語の融合を行った革新的な機能が搭載された開発言語でした。実際に触ってみると、Visual Studioとの相性が良く、とにかく書き心地が素晴らしくて、ものすごくフィーリングが合いました。この体験から運命的なものを感じ、それからは「この言語をひたすら追求していきたい」と、積極的な情報発信や言語コミュニティーへの参加などを進めたのです。また、成果物をOSSとして発表することも始めました。

その後、個人で開発したOSSが評価され、2011年に「Microsoft MVP」を受賞しました。受賞後には、C#を使ってゲーム開発を行い急成長していた会社の存在を知り、その会社に入社することに。いくつかのゲームを開発した後、2012年に参加していた開発チームが独立し、株式会社グラニが設立されました。グラニには創設期から参加し、CTOに就任しました。さまざまなタイトル開発に携わった後、サイゲームスに合流し、現在に至ります。

合流前はそのような経験をしたのですね!サイゲームス合流後、Cysharp設立の経緯を教えてください。

グラニ時代にも「世の中のC#を盛り上げていく」「C#のOSSを作って発信していく」という活動をしていて、現在も世の中で広く使われている「UniRx」「MessagePack for C#」といったC#のOSSライブラリは、その時代に生まれたものです。グラニを退任後、他社の開発を手伝いつつ、より「C#にフォーカスして⼤きなことを成し遂げたい」「世界に向けて成果を出していきたい」という想いが強くなりました。CysharpとしてリリースしているOSSの中でも最も多く支持されている「UniTask」はこの期間に作りました。しかし、個⼈レベルだとどうしてもやれることの幅が狭く、世の中に大きな影響や価値を与えることは難しいのではないかと考えていました。

そんなときにサイゲームスのCTO室から「一緒に何かやれませんか」と誘われたのです。サイゲームスの存在はグラニ時代から意識していて、ゲームのクオリティーが⾮常に⾼い印象を持っていました。その源泉が会社全体の「世界に向けて最⾼のものを作っていこう」という情熱から来ていることを、お話を聞いていくなかで知り、私の「C#で世界最⾼のものを作っていく」という想いとも重なるところがあり、強く興味を持ちました。

また、「Cyllista Game Engine」のようなAAAタイトル開発を⽬指す独⾃のゲームエンジンを制作する部⾨もあれば、Cygames Researchのようなアカデミックに近い研究開発部⾨もある。そうした多様性のなかに「C#専門の開発会社」があると、面白い化学変化を起こせるのではないかと至り、サイゲームスのグループ会社としてCysharpの設立を決意しました。

世界的な認知を広めるCysharpの技術
『プリコネ!グランドマスターズ』開発の革新的なアーキテクチャ

Cysharpの取り組みと実績について詳しく教えてください。

Cysharpでは「C#の可能性を切り開いていく」ために、⼤きく分けて2つの活動を⾏っています。1つは「ソフトウェア開発のプラットフォームであるGitHub上でC#のOSSを公開していること」です。現在25個のOSSを公開しており、GitHub上の人気度を測る指標であるスター数は合計で1万を超えています。これはC#関連としては世界でもトップクラスの数字です。実際にCysharpのOSSは広く使われていて、⽇本のUnityのモバイルゲームの多くが、Cysharpの作成した何らかのOSSを利⽤しています。これらの実績から、今年は「CEDEC AWARDS 2022エンジニアリング部門優秀賞」の受賞をはじめ、世界中から著名な技術者が集まる「2022 Game Developers Conference(GDC2022)」にも招待され、オンライン上で講壇させていただきました。

▲公開しているOSS

もう1つは「サーバーサイドC#を使った⾼いクオリティーのゲームでの実績を増やしていくこと」です。Unityで作られたゲームではもちろんC#が使われていますが、サーバー開発での採⽤事例は⾜りないと感じています。採⽤実績が増えるほど、使ってみたいと思う⼈々も多くなるはずなので、クオリティーの⾼いゲームをサイゲームスと共に開発し、実績を増やしていくことこそ最⼤のアピールになると考えています。

直近の成果でいうと『プリコネ!グランドマスターズ(以下、プリグラ)』が挙げられます。この作品はまさに「C#⼤統⼀理論」の理想的な形で、リアルタイム通信部分、そしてAPIサーバーからマッチメイキング、サーバーインフラの基盤作成まで、構成されるあらゆる要素がC#で作られています。Cysharpではサーバー側の基盤設計や開発サポートツール、インフラなどを主に担当しました。

▲『プリコネ!グランドマスターズ』は『プリンセスコネクト!Re:Dive』のエイプリルフール施策として2022年4月1日〜8日まで公開されたアプリ

『プリグラ』開発の際に意識したことはありますか?

サイゲームスのスタッフに「C#を使って良かった」と思ってもらえるものを作ろうと意識していました。サイゲームスはサーバーをC#で実装するのは初の試みだったので、C#で開発する不便さを感じさせないように細⼼の注意を払っていました。開発中に、良い意味で“空気のように”スムーズに作業ができて、かつ、C#ならではの開発サポートが盛りだくさんあるような雰囲気が作れたら良いなと考えていました。Cysharp側で開発した『プリグラ』のための開発サポートツールは、C#の利点が良い具合に活かされたと思っています。

それはどういった開発サポートツールなのでしょうか?

『プリグラ』は従来クライアント側に存在していたゲームロジックを、サーバーがC#であることを活かして、サーバー側でロジックを動かすように設計されたプロジェクトです。そこで、Webブラウザからサーバーにリアルタイムに接続して、バトル中の内容をリアルタイムに把握したり、ブラウザ上からデータを書き換えるようにしたりしました。Webブラウザ上でのリアルタイム表示や編集も、C#の「Blazor Server」という新しいフレームワークを用いることで、ブラウザ・サーバー・Unityと全ての範囲でC#のコードを共有しています。

この開発サポートツールはサイゲームスのエンジニアやプランナーにも⾮常に評判が良く、密接な良い協⼒関係を築くことができました。『プリグラ』全体の詳細は、サイゲームスのスタッフがCEDEC 2022の講演「C#によるクライアント/サーバーの開発言語統一がもたらす高効率な開発体制 ~プリコネ!グランドマスターズ開発事例~」で詳細を発表しました。

サイゲームス以外の企業にも
C#の良さを広める意義

ヨシフミさんは対外的な活動もされていると聞きました。

ゲーム業界において、Unity開発を除いてC#はメジャーな⽴ち位置の⾔語ではないので、サイゲームス以外の企業にもC#の良さを広めていく必要があると考えています。「GDC」「CEDEC」、Unityの主催する「Unite」のような大きなカンファレンスの他、コミュニティーの勉強会のような小さなところでも、C#をテーマに積極的に講演しています。また、コンサルティングのようなかたちで、他社タイトルに開発協力として関わることも。直近大きなところでは『NieR Re[in]carnation』(運営:スクウェア・エニックス)の開発において、多くのCysharpのOSSの導入と技術支援を行っています。

あとは、技術書の監訳にも携わっていて、昨年は『.NETのクラスライブラリ設計』(Krzysztof Cwalina、Jeremy Barton、BradAbrams著)の監訳を担当しました。この本は⾮常におすすめで、C#を書くエンジニアの⽅々はぜひお読みいただきたい内容です。C#で最もよく使われ、最も巨大なフレームワークである、C#自身のコアライブラリ「.NETフレームワーク」をどのような思想で設計したかということが余すことなく書かれているので、実践的でとても奥が深いです。C#に関する基本から応⽤に⾄るまで、網羅的に載っており⾮常に勉強になると思うのでぜひチェックいただきたいです。

▲『.NETのクラスライブラリ設計』

Cysharpの展望
「C#と言えばCysharp」を世界共通認識にしたい

では最後に、Cysharpの今後の展望について教えてください。

「C#と⾔えばCysharp」を世界の共通認識にするためにも、今後より世界進出に⼒を⼊れていきたいですね。OSSとして積極的に発信していくことを続けるのはもちろん、何よりもサイゲームスと共に最⾼のゲームを作り上げるのが重要だと思っています。『プリグラ』に続き、サイゲームスが最⾼のコンテンツを発信できるように協⼒していきます。また、C#の特性を活かした開発サポートツールを一般化して、社内外で広く使ってもらう形態として提供することも考えています。そうしたところから、C#を身近に感じていただければと思います。


以上、サイゲームスのグループ会社であるCysharpについてご紹介しました。
現在Cysharpでは、一緒に働く仲間を募集しています。この記事で興味を持った方は、ぜひ一度こちらをチェックしてみてください。

キャリア採用 Cysharp