HN公開: Tramway SDK – Half-LifeとMorrowindエンジンの奇妙な組み合わせ
(racenis.github.io)-
Tramway SDKの紹介
- Tramway SDKは、グラフィックパッケージ、フレームワーク、ゲームエンジンで、過去3年間開発されてきました。
- 主流エンジンと比較して、Tramway SDKの利点を説明しています。
-
Turbobloat問題
- UnityやGodotのような主流エンジンは、高性能なハードウェアを必要とします。
- Tramway SDKは15年前のハードウェアでも実行可能で、グラフィックカードなしでソフトウェアラスタライゼーションを使えます。
-
ハードウェアアップグレードの問題点
- 多くの人は新しいハードウェアを購入する余裕がありません。
- コンピュータチップの製造は環境に悪影響を与えます。
- 既存のハードウェアが正常に動作しているなら、わざわざ新しいコンピュータを買う必要はありません。
-
ノードベースシステムの欠点
- ノードでは複数の要素を1つの要素として扱わざるを得ない問題があります。
- Tramway SDKはエンティティクラスをサブクラス化してコードを書いた後、レベルエディターでレベルを作成します。
-
モノリズムの問題
- 主流エンジンは一体型のゲームエディターを持っています。
- Tramway SDKは選択式エディターを提供し、C++ランタイムのみ、またはレベルエディターのみを使用できます。
-
グラフィック品質
- Tramway SDKはライトマップとGouraudシェーディングだけでも良質なグラフィックを提供します。
-
ブラシベースのレベル編集
- Tramway SDKは.mapファイル変換ツールを通じて、ブラシを三角形メッシュに変換できます。
- TrenchbroomマップエディターとTramway SDKレベルエディターを使ってレベルを作成できます。
-
RPGフレームワーク
- RPG Makerに似たRPGフレームワークを提供し、オープンワールドRPGゲーム制作をサポートします。
-
結論
- Tramway SDKはQuake/Source系のエンティティベースゲームエンジンで、オープンワールドストリーミングをサポートし、RPGフレームワークなどの選択的拡張を提供します。
- まだ初期開発段階で、APIは不安定で多くの機能が実装されていないものの、急速に発展しています。
1件のコメント
Hacker News コメント
Godot エンジンを使って低スペックのポリゲームを作っている小規模チームで働いている者として、このプロジェクトはとても素晴らしいと思う。ノードベースの GUI とコード間を行き来する必要があるという点には共感する。統合 IDE は開発者間でマージコンフリクトを起こしやすいので、特定用途向けのエディタを使うことが役立つかもしれない。
「もっと良いコンピューターを買え」という意見に反対する理由として、経済的に厳しいため新しいハードウェアを買えない人が多いこと、コンピューター・チップの生産は環境に悪影響を与えること、そしてすでにちゃんと動作しているコンピューターをわざわざ新調する必要がないことを挙げる。
ゲームエンジンの品質が時間とともに低下する外的要因があると信じるようになった。Unity のようなノードベース編集は教育には適しており、多くのアマチュア開発者が Unity/Unreal しか知らないため、企業はそれらを採用せざるを得なくなる。Unity は顧客の要望に合わせてエンジンを調整しなければならないため、「turbobloat(ターボブロート)」現象が起きる。
Half-Life と Morrowind のエンジンは、情熱的なプログラマーによって構築され、最小限のエンジンと優れたテクノロジーを提供する。今回のプロジェクトは raylib と Unity の間に位置しており、アマチュアプログラマーには魅力的でないかもしれないが、性能が高く、構成がしっかりしている。
「A thing should be a thing」というフレーズはとても印象的で、テリー・プラチェットの作風を思わせる。AI プロジェクトで活用できるアイデアがある。
Turbobloat 問題には全面的に同意する。現代のマシンははるかに強力になった一方で、ソフトウェアはむしろ遅く感じられる。プロジェクトとウェブサイトのデザインはとても素晴らしい。
ほとんどの Unity ゲームは、上級シェーダーや技術を使っていても見栄えが悪い。特定のテクスチャーマッピング技術は消えてしまい、Ikaruga のようなゲームは優れた背景を持っている。
最近、Half-Life 2 を再プレイしたが、高解像度テクスチャーパックがなくてもなお驚くほど良いグラフィックを見せる。
Turbobloat とエンジンの「bloated(膨張)」現象について触れ、Tramway プロジェクトでどの機能を省いたのか説明する必要がある。
C++ に慣れていない初心者向けに、フレームワークの使い方を扱う記事に感謝。チュートリアルは楽しく、アクセスしやすいと感じる。
3D グラフィックスと科学プロジェクトのためのエンジン構築の経験から、高解像度と動的ライティングの実装でどこがボトルネックになるのかが気になる。Vulkan/DX/Metal/OpenGL で最小限のピクセルシェーダーとフラグメントシェーダーのペアを使って実装できる。