この記事には複数の問題があります。改善にご協力いただくか、トークページでこれらの問題について議論してください。(これらのメッセージを削除する方法とタイミングについてはこちらをご覧ください)
|
| オルクス | |
|---|---|
| 開発者 | orx-project.org |
| 安定版リリース | 1.16 [1]
/ 2025年5月28日 (2025-05-28) |
| リポジトリ | github.com/orx/orx |
| 書かれた | C、C++ |
| プラットフォーム | クロスプラットフォーム |
| タイプ | ゲームエンジン |
| ライセンス | zlibライセンス |
| Webサイト | orx-project.org |
Orxは、オープンソース、ポータブル、軽量、[説明が必要] 、 プラグインベース、データ駆動型で使いやすいC言語で書かれた2D 指向のゲーム エンジンです。
Windows ( MinGWおよびVisual Studioバージョン)、Linux、MacOS、iOS、Androidで動作します。
一般情報
Orx は、3Dシーン グラフ、ハードウェア アクセラレーションによる 2D レンダリング、アニメーション、入力、サウンド、物理など を含む完全なゲーム作成フレームワークを提供します。
その主な目的は、ゲームのプロトタイプ作成と作成を迅速に行うことです。[2]
Orx はZlibライセンスの下で公開されています。
歴史:
ORXのルーツは2002年7月に遡り、Romain Killianが過去数年間に書きためたコードを再利用していました。彼はいくつかの新しいアプローチを試したいと考えていました(例えば、現在では多くの大手エンジンで見られるアニメーショングラフなどですが、ORXは2003年後半にゲームエンジンでこれを初めて提案した例の一つです)。そして2007年に再び開発ペースを上げ、依然として異なる手法に挑戦し続けました(この時に設定システムが設計されました)。
2009年にORXバージョン1.0 rc0がリリースされました。このバージョンのORXでは、Mac OS X (x86)に加え、Win32およびLinux (x86)のサポートが追加されました。キーボード、マウス、ジョイスティック入力といった汎用入力システムとフラグメントシェーダーのサポートが導入されました。
ORXバージョン1.2は2010年にリリースされました。バグ修正と最適化が行われました。主なアップデートはiOSとUnicodeのサポートでした。
ORXバージョン1.3rc0は2011年に導入されました。ジョイントサポート、可変幅フォント、 OpenGL 2.0など、多くの新機能が搭載されました。以前の問題やバグも修正されました。また、エンジンにAndroidサポートが追加されたのも今回が初めてでした。
ORX バージョン 1.4cr0 は 2012 年に導入されました。このアップデートでは、インタラクティブ コンソール、コマンド、テクスチャ メッシュ レンダリング、ジオメトリ レンダリングなどのいくつかの新機能が ORX に追加され、以前から既知の問題が修正されました。
ORX バージョン 1.11 が 2020 年 5 月にリリースされ、 64 ビット、OSX/ Retina 、Windows の高 DPI ディスプレイの新しいサポート、ポーリングされた物理周辺機器の制御、テキスト アニメーションなどを含むMinGW-w64のサポートが変更されました。
ORX バージョン 1.12 は 2021 年 5 月にリリースされ、メモリ内の同時オブジェクト数が 65,000 から 1600 万に増加、orxBANK モジュールが完全に書き直され、Android ネイティブでのジョイスティックのサポート、Android ビルド パイプラインの簡素化、新しいプロジェクトでの Nuklear サポートなど、速度とスケーラビリティが大幅に向上しました。
ORX バージョン 1.13 は 2022 年 3 月にリリースされ、MiniAudio ( OGG、WAV、MP3ファイル)に基づく新しい SoundSystem プラグイン、サウンドとバスの両方の構成駆動型フィルター、複数のサウンド リスナー、サウンド パン、サウンドの空間化、QOI 画像形式のサポート、MacOS 11 /XCode 12.x のネイティブarm64サポートなど、70 以上の更新または新機能が含まれています。
ORXバージョン1.14は2023年6月にリリースされました。AGDK(GameActivity、Swappy、Paddleboat)を使用したAndroid統合の刷新を含む、50以上のアップデートと新機能が含まれています。このバージョンの変更内容は、こちらでご覧いただけます。
ORX バージョン 1.15 は 2024 年 8 月にリリースされました。このバージョンのリストの変更は、こちらでご覧いただけます。
ORXバージョン1.16は2025年6月にリリースされました。Web /HTML5プラットフォームのサポート、ランタイムTrueType / OpenTypeフォントのサポート、SDFフォントのサポート(オフラインまたはランタイム生成)など、48以上のアップデートと新機能が含まれています。QOA(オーディオ)およびPNM、GIF、PSD(ビットマップ)形式のサポートが追加されました。プラグインはリソースとして扱われるようになり、その他にも多くの変更が加えられています。このバージョンの変更点一覧は、こちらでご覧いただけます。
バージョン 1.0 以降に記録された変更の完全なリストは、こちらでご覧いただけます。
特徴
OrxはC言語で記述されているにもかかわらず、プラグインアーキテクチャを採用したオブジェクト指向設計を採用しています。これにより、カーネルはクロスプラットフォームとなり、ハードウェアやOSに依存するタスクをプラグインに委譲することが可能になります。これらのプラグインのほとんどは、 GLFW、SDL、Box2D (LiquidFunフォーク)といったオープンソースライブラリをベースにしています。
GCC makefiles、Visual Studio (2017、2019、2022)、Codelite、Code::Blocks、Xcode用のビルド ファイルが提供されています。
- Orxには一般的なゲームエンジンのほとんどの機能が含まれています
- 3D ハードウェア アクセラレーションを使用した自動スプライト レンダリングにより、移動、異方性スケール、回転、透明度 (アルファ ブレンディング)、カラーリング (乗算、加算、減算ブレンド)、タイリング、ミラーリングが可能になります。
- 高度なリソース管理
- 複数のレンダリングターゲット(MRT)と高度な合成のサポート
- 幾何学的表示プリミティブとテクスチャメッシュレンダリング
- カメラの移動、ズーム、回転により 1 つの画面で複数のビューを可能にするカメラ/ビューポート システム
- オブジェクトの配置に使用される3Dシーン グラフ。グループ化された移動、回転、スケールが可能になります。
- 音量、ピッチ、ループ制御、空間化、階層バス、フィルター、録音などを備えたサウンドと音楽。
- 2D 物理エンジン (LiquidFun - Box2Dのフォーク)
- 衝突検出と剛体物理と関節
- アニメーションシステム
- イベント管理
- カスタムフラグメント(ピクセル)シェーダーのサポート
- ユニコードサポート
- カスタムビットマップフォントレンダリング
- リアルタイムCPUプロファイラー
- 対話型の「デバッグ」コンソール
- マルチモニターサポート
- クリップボードのサポート
- さらに珍しい機能も提供しています[3]
- オブジェクトの作成はデータ駆動型です。リソースの管理に必要なコードはごくわずかで、すべては構成ファイルを通じて制御されます。
- 開発フェーズでは、リソースはディスク上で変更されると実行時に自動的にホットロードされ、反復時間が大幅に短縮されます。
- 時計システム:これにより、ユーザーはどこでも時間の一貫性を保つことができ、ローカルまたはグローバルな時間伸縮が可能になります。
- アニメーション連鎖グラフ: アニメーション遷移はグラフで定義され、これによりコードは最終ターゲットアニメーションのみを要求できます。すべての遷移は開始アニメーションに応じて自動化されます。
- カスタムアニメーションイベントシステム:アニメーションの一部と簡単に同期できます
- ビジュアル FX システム: オブジェクトのプロパティ (色、アルファ、位置、移動、回転) にプラグインできる、正弦波、のこぎり波、線形の曲線の構成ベースの組み合わせ
- 強力なリソースシステム:ユーザーはリソースアクセスを簡単に抽象化し、リリースビルド用にパックされたファイルだけでなく、分離された開発ファイルでも作業でき、コードを1行も変更せずに異なるプラットフォームで異なるリソースセットを使用することもできます。[4]
- 自動差分スクロール: 深度スケーリングと差分スクロールは設定ファイルを通じて制御され、任意の数の平面で差分視差スクロールが可能になります。
- 強力な設定システム:継承、直接的なランダム制御、暗号化/復号化、フィルタリングされた保存、履歴のリロードなどを備えています。これにより、ユーザーはコードを1行も変更することなく、ほぼすべての設定を調整できます。
- スポーンシステム:これにより、ユーザーは武器の弾丸を簡単に作成したり、ビジュアルFXシステムと組み合わせて精巧な視覚グラフィック効果を作成したりできます。
- 簡単なUIオブジェクト配置システム:さまざまなアスペクト比をサポートし、簡単な選択フレームワークを提供します。
- 汎用的な入力システム:抽象レイヤーを介して、あらゆる種類のコントローラー(マウス、ジョイスティック、キーボード、タッチ、加速度計など)を操作できます。ユーザーは入力状態を単純な名前で要求し、バインディングは設定ファイルで、またはユーザー入力のカスタマイズのためにオンザフライで行われます。例えば、
- タイムラインとコマンドの組み合わせによるシンプルなスクリプト
- 非同期リソースロードとホットロードサポートによるマルチスレッドサポート
- 将来追加される予定のWIP機能の現在のリスト
- 3Dレンダリングサポート
- ネットワークサポート
参照
参考文献
- ^ 「ダウンロードページ - GitHub」. orx-project.org . 2025年5月28日閲覧。
- ^ 「Orxの学習方法」2013年11月27日。
- ^ 「ORXニュース」.
- ^ 「カスタム ZIP アーカイブのサポート」。
[1] [2] [3] [4]
外部リンク
- Orxプロジェクトサイト
- GitHub.com の Git リポジトリ
- SourceForge.net の Mercurial リポジトリ
- オルクスウィキ
- ^ 「Orxオープンゲームエンジンを使い始める」2017年5月9日。
- ^ 「ORXを使って2D UFOゲームを書く方法」2018年2月27日。
- ^ 「Orx–データ駆動型2Dゲームエンジン」2018年5月14日。
- ^ 「Orx データ駆動型 C/C++ ゲームフレームワーク」. 2022年4月30日.