
このエンジンは、YouTubeのKohiゲームエンジンシリーズ(現在はTwitchでライブストリーミングされている)の一部として作られており、CとVulkanを使用してゲームエンジンをゼロから作成します。
Kohi (コーヒー、「Koh-Hee」と発音)という名前は、「コーヒー」の日本語の単語を単純化するものです。
オリジナルのYouTubeシリーズは、https://www.youtube.com/watch?v=dhpuu-djobm&list=plv8dw9k0jpg1beo-rs-0mys423cvlvtjです。
Twitchストリームはここで起こります:https://twitch.tv/travisvroman。






Kohiは最初から3Dエンジンであり、そのほとんどはゼロから構築されています。途中で多くの説明と探求があります。シリーズは、上昇して実行するためのチュートリアルのようなものとして始まり、ペースを維持するために進行するにつれて説明がより高いレベルになります。私たちは最終的にTwitchでライブストリーミングに移行します。ほとんどのコーディングは、オフラインではあまり面白くないオフライン作業でストリームで行われます。
Windows、Linux、およびMacOSはすべて正式にサポートされています。 AndroidおよびiOSランタイムサポートも道路を追加することができます。
依存関係を減らすために最高の努力がなされますが、各プラットフォームには、これが機能するためにインストールする必要があるものがあります。
これらをパッケージマネージャー経由でインストールします。
gitmakelibx11-devlibxkbcommon-x11-devlibx11-xcb-devHomebrewまたは他のパッケージマネージャーを介してこれらをインストールします。
gitmakeClang 13+を使用する必要があり、Vulkan SDKをインストールする必要があります。
オーディオプラグインには、オープンのインストールが必要です。
sudo pacman -S openal on Archのsudo apt install openal )brew install openal-soft 。 M1 Macに注意して'binこれが/opt/homebrew/opt/openal-soft/ includeインストールされますlib build-all.shスクリプトは、このバージョンのインストールを説明します。開始するには、現在のプラットフォームのすべての前提条件を取得します(上記を参照)。この後、リポジトリをクローンします: git clone https://github.com/travisvroman/kohi 。
他のコンパイラ(GCCなど)を自由に使用できることに注意してくださいが、現時点では公式にはサポートされていません(ただし、セットアップするのはあまり作業ではないはずです)。
詳細については、WindowsまたはLinuxのシリーズのセットアップビデオを参照してください。 MacOSセットアップは、ビデオ76のシリーズの後半で、そのプラットフォームのサポートが正式に追加されます。
デバッグとリリースの2つのビルドタイプがあります。デバッグにはデバッグシンボルが含まれており、開発と探索に最適ですが、リリースはパフォーマンスに最適です。また、ビルドファイルをクリーンアウトするために利用できる「クリーン」もあります。これは、デバッグ/リリースを切り替えるとき、またはファイルが欠落しているために奇妙なリンクエラーが発生した場合に役立ちます(つまり、ブランチの切り替え)。
コマンドプロンプトまたはPowerShellインスタンスを開き、 build-debug.batファイルをデバッグビルド用に実行するか、 build-release.bat実行します。 clean.batもあります。
端末を開き、デバッグビルド用にbuild-debug.shファイルを実行するか、リリースビルドのbuild-release.sh実行します。 clean.shもあります。
現時点では、「テストベッド」はコヒを使用する実行可能ファイルです。 /binの作業ディレクトリで実行する必要があります。 Windowsのコマンドプロンプト/PowerShell、またはLinux/MacOSの端子、 cd binはビンフォルダーに入り、Windowsでtestbed.exe実行するか、Linux/MacOSのtestbedを実行します。
この構造の内訳は、リポジトリのルートフォルダーに基づいています。全体像にとって重要ではないため、一部のファイル/フォルダーはこの説明から省略されています。
kohi.core共有ライブラリ/.dll。プラットフォームレイヤー(Win32、Linux、MacOS)だけでなく、タイプ、コンテナ、弦楽器LIB、数学LIB、UTILなどが含まれています。kohi.core.testsコアライブラリの単体テストの小さなコレクション。拡張する必要があります。kohi.runtime共有ライブラリ/.dll。コアエンジンロジックと多くのコアエンジンシステムが含まれています。kohi.plugin.audio.openal共有ライブラリ/.dll。オーディオバックエンドとしてOpenalを使用するオーディオプラグインが含まれています。kohi.plugin.renderer.vulkan共有ライブラリ/.dll。 Vulkanレンダラープラグインが含まれており、Vulkanのエンジンへのレンダラーバックエンドとして機能します。kohi.plugin.ui.standard共有ライブラリ/.dll。ボタン、ラベル、テキストボックスなどのコントロールの一般的なコレクションを含むKohi標準UIが含まれています。これは保持されているモードUIです。testbed.assetsテストベッドアプリケーションによってロードされるすべての資産が含まれています。testbed.kappアプリケーション/.exe。消費アプリケーション実行可能ファイルは、TestBed.klibをロードし、プラグインやその他のKohiライブラリを構成/使用します。testbed.klib =共有ライブラリ/.dll。アプリケーションに固有のアプリケーションコード(または「ゲームコード」)が含まれています。ホットリロード可能。kohi.tools.versiongen -application/.exe。 Passed-In Majorバージョン番号とマイナーバージョン数を使用してバージョンを生成する小さなユーティリティ、および日付と時刻に基づいて自動生成されたビルドおよび改訂番号。 Kohiとプラグインのビルドのバージョンに使用されます。kohi.toolsコマンドラインツールのコレクション。現時点ではほとんど空ですが、編集者の開発が開始されると消費されます。.vscodeコード固有のプロジェクトのセットアップとコード固有のプロジェクトのセットアップを含むフォルダー。 こちらをご覧ください。
ここでの目標は、ゲーム開発を学ぶときに望んでいたリソースを提供するための簡単です。設計上の決定だけでなく、なぜそれらの決定が下されたのかなど、ゲームエンジンをゼロから構築するための完全なガイド。また、これはゲームエンジンを構築する方法であるが、それがそれを構築する唯一の方法ではないことに注意する必要があります。
もちろん、ゲームを作ることができるゲームエンジンを持つという目標もあります。プロジェクトが十分に進むと、ゲームを作成することは、YouTubeチャンネルのシリーズとしても行われます。
このエンジンは生産対応ではなく、しばらくの間ではないことに注意することが重要です。これは学習ツールであり、生産品質の製品での使用にはまだ最適化されていません。これは最終的には変わりますが、今のところは生産対応ではありません。
プロジェクトが進行するにつれて、GitHubのプルリクエストを介してコミュニティの貢献を歓迎します。
機能はfeature/<feature name>の形式でブランチ名を介して寄付する必要があります。ここで、 <feature name>は、機能の名前または理想的には報告された機能の問題(Ex: feature/80またはfeature/terrain )の数に置き換えられます。
バグ修正はbugfix/<issue#>の形式のブランチ名を介して寄付する必要があります。ここで、 <issue#>は報告された機能問題の数に置き換えられます(例: bugfix/80 )。したがって、バグ修正には、GitHubで関連する問題が発生する必要があります。
コードは、リポジトリのコードの一般的なスタイルと一致する必要があります。コードスタイルガイドは、近い将来のある時点で公開されます。
すべての貢献はレビューの対象であり、受け入れられる場合と受け入れられない場合があります。
私は暇なときにコヒを開発しています。現時点ではスポンサーはいません。あなたが私の仕事が好きなら、これらの場所で私をサポートしてください:
また、YouTubeとTwitchでフォロー/サブスクリプションを大いに感謝します。言葉を広めてください!
あなたのサポートは大歓迎であり、プロジェクトに再投資されます。