No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Documents
Libs
Sample101
Sample102
Sample103
Sample104
Sample105
Sample106
Sample107
Sample108
Sample109
Sample110
Sample111
Sample112
Sample201
Sample202
Sample203
Sample301
Sample302
Sample303
Sample304
Sample305
Sample306
Sample307
Sample308
Sample309
Sample311
Sample312
Sample313
Sample314
Sample401
Sample402
Sample403
Sample404
Sample405
Sample406
Sample407
Sample408
Sample409
Sample410
Sample501
Sample502
Sample503
Sample504
Sample601
Sample602
Tutorial001
Tutorial002
Tutorial003
Tutorial004
Tutorial005
Tutorial006
Tutorial007
Tutorial008
readme.txt

readme.txt

 2017年8月現在、このフレームワークはメンテナンスが終了しています。
 最新ののフレームワークは「BaseCross」

https://github.com/WiZFramework/BaseCross
 
 にアクセスください。
 以下、履歴です。


 このたびは、「WiZ(国際情報工科大学校)C++ゲームフレームワーク(通称DxBase2016)」GitHubサイト、にアクセスいただきありがとうございます。

 WiZ(国際情報工科大学校)ホームページ
 http://www.wiz.ac.jp/index.html

 「DxBase2016」のダウンロード方法は、この文書が表示されているページの、右側にあります、「DownloadZIP」のボタンをクリックして、パソコン等にダウンロードしてください。
 そろそろ容量も増えてきまして、現在14メガくらいあります。ダウンロードに30秒くらいかかるときもありますが、気長にお待ちください。
 ダウンロード後はドキュメント(Documentsディレクトリ)にあります「setup.html」を参照ください。(index.htmlからもリンクが入っています)。
 過去にダウンロードされた方で、ライブラリのみ更新されたい方は、ZIP解凍後、「Libs/BaseLib」ディレクトリのみ上書きして、最新の状態にしていただければ、サンプル等をご自分の作業に展開する必要はありません。
 ライブラリ(「Libs/BaseLib」ディレクトリ内)は、不具合が見つかった場合や調整等の為、随時更新される可能性があります。
 ライブラリ更新の場合は、コミット文で「ライブラリ更新」と記述しますので、参考にしてください。

 このフレームワークは、数年前から、「WiZ(国際情報工科大学校・福島県郡山市)DirectX&C++ゲームプログラミング」の実習用に作成されたものを、毎年バージョンアップを繰り返してきたものです。

 このたび、今、C++やゲームプログラムを勉強中の皆様、各種学校で教鞭をとられている先生方、そして、なかなかいいエンジンに巡り合えずに困っているSOHOゲーム企業の皆様など、広く、体験、使用をしていただいて、願わくばご意見などを頂戴しながら、より使いやすいゲームエンジンを目指すために公開いたします。

 ゲーム業界は、日進月歩の進化を続けています。
 とりわけフレームワークの世界では、UNITYをはじめ各種エンジンが、気軽で誰もがゲームを作成できる環境として、より多くのユーザーを獲得しています。
 しかしながら、DirectXにC++によりネイティブにアクセスできる3Dフレームワークはなかなか見つかりません。よいエンジンがあっても海外のもので、仕様を調べるのも大変です。
 そのような事情のため、私たちはオリジナルなフレームワークの作成を始めました。毎年、学生達に使ってもらいながらの試行錯誤の連続でした。
 そして、2015年、ようやくある程度の目標となる形になりました。このバージョンは「DxBase2015」といい、
https://github.com/WiZFramework/DxBase2015
 からダウンロードできます。

 そして今回のバージョン「DxBase2016」は「DxBase2015」をさらに使いやすいよう改良を加えたものです。
 主な変更点は以下の通りです。
1、フレームワークが呼び出す仮想関数「Update()、Draw()」といった関数群を「OnUpdate()、OnDraw()」のように「On」を付けました。これにより、「フレームワークから呼ばれる」という関数がよりわかりやすくなります。
2、FBX_SDKをセットアップしなくてもモデルの表示が可能となりました。その代り、FBXファイルをコンバートした独自ファイル形式を使用します。詳しくは、サンプル308、309及び、FBXコンバータツール「Fbx2Bin」を参照ください。
「Fbx2Bin」は
https://github.com/WiZFramework/DxBaseTools
よりダウンロードしてください。(「Fbx2Bin」は別途FBX_SDKが必要になります)
3、フレームワークでデフォルトで使用するシェーダを全面的に書き換えました。「DxBase2015」より単純なシェーダとなっています。これにより、デフォルトのシェーダをより参考にしやすくなり、学習にも向いています。
4、更新用のコンポーネントである「Transform」に親コンポーネントができました。「TransfoemMatrix」です。これにより、オブジェクトのワールド行列を直接操作しやすくなります。また、この仕様変更に伴い、シンプルバージョンは廃止となりました。「DxBase2015」における「シンプルバージョン」は、「TransfoemMatrix」を直接操作するのと同じと考えられます。
5、そのほか、細かなアルゴリズム等の変更があります。
*なお「DxBase2015」も引き続き公開しておりますので、よろしくお願いします。不具合等あればそちらも修正いたします。


 有名なフレームワークであればあるほど、「ゲームの作成をフレームワークに合わせる」手法が顕著になります。
 フレームワークは同じようなスタイルで記述することで余分な作業や同じような作業を軽減するのが大きな目的なので、ある程度は仕方がないことですが、目的は「フレームワークを学ぶこと」ではなく「ゲームを作成すること」であり、特に教育機関においては「プログラミングを学ぶこと」です。
 ある機能がフレームワークの限界によって実装できない場合、「このフレームワークは対応していない」とあきらめるのか、対応内でやりくりするのか、あるいはフレームワークが自身の機能を超えた実装を可能とするのか、は、フレームワークの考え方に依存します。
 「DxBase2016」が目指すものは「初心者にはできるだけ簡単に実装ができ、上級者にはより高度な実装が可能」なフレームワークです。
 具体的には、自動衝突判定、自動反発、あるいはボーンメッシュの描画や影の描画などは、プログラミングというよりは、「設定」に近い記述で実装することができます。
 それに対して、独自の行列操作、独自のエフェクトの作成、頂点や頂点フォーマットの変更、独自のシェーダ(ジオメトリシェーダや計算シェーダなど含む)の作成など、高度なテクニックも、実装するための柔軟なインターフェイスが用意されています。この部分はフレームワークの限界を超えた実装といえます。
 このような方針に基づいているため、至らない部分があります。
 それが、互換性です。現在のゲーム制作の現場では、ノートパッドやスマートフォン向けのゲームが数多くあります。
 そのため各フレームワークでは、各デバイスへの対応を充実させています。しかし、「DxBase2015」は「DirectX11」に特化したフレームワークです。Windowsのバージョンも8.1以上、コンパイラもVisualStdio2013オンリーという非常に狭い範囲での制作、動作環境となっています。
 2015年にはWindows10、DirectXも12が出ました。DirectX12はこれまでにないほどの大変革で、よりネイティブにグラフィックアクセラレータにアクセスできます。
 当然、「DxBaseフレームワーク」もDirectX12対応に向けて対応を急ぎたいと思っています。

 それでは、「DxBase2016」を体験するために、まずは、「Documents」ディレクトリにあるhtml文書をお読みください(index.html)
 「DxBase2016」のチュートリアルの説明や、各サンプルの内容が記述されています。

謝辞
 「DxBase2016」は多くの方々、企業様の「ご協力やソース等のご開示」がなければここまで進化しえませんでした。
 最初に、あまり使いやすいと言えない時代から、ゲーム作成に利用してくれた学生達諸君。すでに卒業して業界に就職した諸君も多いですが、本当に根気よく学習、そして実習に参加してくれました。前バージョンの「DxBase2015」からの進化も、多くは学生諸君との実習のなかで、使いにくさ、あるいは間違いやすさなどをヒントに改良を加えたものです。
 そして、ゲーム制作実習を、豊富な経験と貴重なアイディアでリードしていただいてます、合同会社2DFantasista渡辺先生。先生のご意見、とりわけ「ゲームに必要なもの」「ゲーム作成の根本」のご指導は、フレームワークには何が必要で、どのような局面でどのような機能を使用するのか、を的確にアドバイスいただけるものです。今後ともなにとぞよろしくお願いします。
 フレームワークで使用させていただいてます、SpriteStdioの株式会社ウェブテクノロジ様。「SpriteStudio 3rdParty」に加えていただきました。
 URL http://spritestudio3rdparty.github.io/
 また、FBXSDKを提供されてます、オートデスク株式会社(Autodesk, Inc.)様。「DxBase2016」では、直接使用してはおりませんが、変換ツールのほうで引き続き使用させていただきます。
 そして、DirectXツールキットやDirectXTX、なによりもDirectX本体、VisualStdioを提供していただいてますMicrosoft様、皆様のツールやライブラリ、エンジン、コンパイラは、まさに夢の世界への切符と言えます。本当にありがとうございます。

 最後になりましたが、WiZゲーム科の田村先生はじめ先生方。授業でオリジナルなフレームワークの使用することへの深いご理解、ありがとうございます。先生がたのご理解なしには、このフレームワークは、スタートすら切れませんでした。



                     2016年春 山ノ井 靖(WiZゲーム科非常勤講師:C++担当)