ゲーム開発に役立つオープンソースプロジェクト まとめ Part.1


猛暑日が続きますがいかがお過ごしでしょうか。岩崎です。

今回は開発お役立ち情報としていくつかリンクまとめとして紹介します。
オープンソースプロジェクトから開発の現場でも使えるものをご紹介していこうと思います。
ライセンス形態ではGPLなどではなく、zlib,apache,NewBSD,MITライセンスなど商用利用でも導入しやすいものを対象にしていきます。

gears

餅は餅屋”という諺がある通り、その道を研究して突き進む人が作ったものがもっとも信頼できるもので品質が高いと考えられます。
又、その瞬間の実装開発コスト削減だけでなく、仮想的に開発人員の増員と同じような効果が見込めます。これはそれぞれのオープンソースプロジェクトでバージョンアップやメンテナンスが継続されることによって分業並行開発をしているのと同じ効果が得られるためです。
公開されていることによって第三者が機能拡張や不具合の修正に参加することができますので、一般的には非公開のプロジェクトよりも堅牢な仕上がりになるものが多いと思います。

ライセンス形態をしっかりと把握したうえでどんどん導入するべし!ですね。
各ライセンス形態は下記のページにわかりやすくまとまっていました。
導入の際に参考にされてみてはいかがでしょうか。
(ちなみに弊社ではこれらオープンソースプロジェクトは法務部にて厳密にライセンス条項を確認した上で導入の是非を決定しています。)

Qiita – ライセンスの選択を恐れる必要はありません
https://qiita.com/tadsan/items/99d816e78ca429093b75

 

オープンソースプロジェクト一覧

Kiui (ZLIBライセンス)

Kiui というスキンカスタマイズも可能かつ軽量なオープンソースGUIライブラリ
OpenGLをバックエンドとして動作します。

kiui

 

ImGui (MITライセンス)

最小限の依存関係でGUI実装を可能にするライブラリです。現在も活発に更新されています。

imgui

 

GPURealTimeBC6H (パブリックドメイン)

GPUでリアルタイムでBC6Hにエンコードできるライブラリ

256×256のHDR環境キューブマップの圧縮に NVIDIA GTX 660 or AMD R9 270 (いずれもミドルレンジのGPU)で0.07ms以下という超高速圧縮を誇るライブラリです。
これでリアルタイムで焼き込むImage Based Lighting / Light Probeがかなり現実のものになってくると思います。
この実装詳細は書籍:GPU Pro 7にて解説されるとのことです。

 

PositionBasedDynamics (MITライセンス)

名前の通り Position Based Dynamics (以下PBD)を実装したライブラリです。
PBDは以前からも布シミュレーションなどで使われていますので目新しい技術というわけではありませんが、
それをより本格的に剛体や流体に活用することが最近のトレンドになりつつあります。
全てをパーティクルで表現できるため、GPUでの並列化と親和性が高い手法です。
将来的に特集を組みたいと思います。

流体で活用したものに Position Based Fliuidsがあります。

 

Remotery (Apache ライセンス 2.0)

CPU/D3D/OpenGL/CUDAに対応したリアルタイムプロファイラーです。
特筆すべきは実装追加するファイルがほとんどなくシンプルなのに対して、ブラウザ上でリアルタイムに情報を見ることができることです。
詳細な情報はとりたいけれども実装の手間が大変、、、と思っている人には朗報です。

Remotery

 

Brofiler: C++ Profiler For Games (MITライセンス)

こちらもリアルタイムプロファイラーです。
タイミングモニタなどより一層情報量が多く閲覧できそうです。

Brofiler

 

UVChecker-map (パブリックドメイン)

UVCheckerMap

Igor Grinchesku (Arahnoid)氏が制作したUVマッピングのチェック用画像です。
寛容なパブリックドメインということで導入もしやすいのではないでしょうか?
UVの方向や密度など確認用にデバッグ機能としてお勧めです。


オープンソース系の情報は今後も情報が集まり次第不定期にお伝えしていきます!

限られた時間とより高い生産性。賢く利用していきたいですよね。

今回はグラフィック系のオープンソースプロジェクトを中心に紹介しましたが、様々なカテゴリーで紹介できればと思います。