このプロジェクトについて
Fioは、一人称視点、トップダウン、大規模な世界を構築・編集・実行するための統合ワールドエディタ、リアルタイムエンジン、ゲーム作成ツールキットです。古典的なRadiantやHammer/Worldcraftのワークフローに着想を得ており、低電力ARMハードウェア上での効率優先の哲学で設計されています。
中心となる考え方は、エディタとランタイムが同じライブワールド状態を操作するというものです。Playを押しても、レベルを別のランタイム表現にエクスポート、コンパイル、ベイクすることはありません。ワールドはそのまま実行され続けます。このプロジェクトではこれを「マップがプログラムであり、エディタがエンジンである」と表現しています。
編集およびゲームプレイ機能には、任意の凸多面体による古典的なブラシ/CSG編集、Sourceに着想を得たエンティティI/Oゲームプレイ、そしてワールドオブジェクトに直接付加される永続的な型付き状態(文字列、整数、浮動小数点数、ブール値、null、UUID)であるLogicStateが含まれます。ネイティブシステムには、論理ゲート、リレー、タイマー、トリガー、ムーバーとドア、物理演算、プロップ、経路探索、プレイヤースタート、プロシージャル地形、ワールドポータルが含まれます。ゲームプレイは、従来のスクリプトコードベースではなく、エンティティ、入力、出力、状態、空間的関係から組み立てることができます。
大規模なワールド向けに、グリッドベースの空間インデックスが可視性、距離クエリ、シミュレーション常駐、物理同期、エンティティ検索、カリングをサポートします。BigWorldはこれを基盤として、すべてのオブジェクトを毎フレーム同じように処理するのではなく、エンティティを完全、縮小、休眠のシミュレーション状態間で移動させます。空間計算、変換、カリング、物理同期、エンティティインデックス作成などのバルク数値処理は密なNumPy配列で処理され、不規則または状態性の高い操作はスカラーPythonのままです。
レンダリングは、NumPy配列上で直接動作する軽量なOpenGL 3.3 Coreレンダラーを使用し、動的ライティング、動的シャドウ、フォグ、ガラス、水、フラスタムおよび距離カリング、GLBアセット、一人称およびトップダウンのカメラモードを備えています。ネイティブワールドポータルは、ステンシルバッファマスキングと斜めニアプレーンクリッピングを使用して、任意の場所間に非ユークリッド接続を提供し、BSP、VIS/PVS前処理、オフライン可視性コンパイルを必要としません。
その他の機能には、サンプルプラグインを備えたプラグインアーキテクチャ、.fiopakアーカイブによるポータブルなワールドパッケージング、プロシージャルワールド生成と実験的なマップ生成ツール、ローカル分割画面マルチプレイヤーが含まれます。バイナリはWindows、macOS、Linux向けに提供されており、ソースから実行することも、付属のDockerfileを使用して実行することもできます。ソースから実行するにはPython 3.10以降が必要で、main.pyを起動する前にrequirements.txtをインストールする必要があります。ドキュメントはプロジェクトWikiで入手でき、リポジトリには活発な開発が記載されており、貢献や実験を歓迎しています。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.