ゲームエンジンやツールの作成について。

アバター
TOMY
記事: 53
登録日時: 13年前
住所: 愛知県
連絡を取る:

ゲームエンジンやツールの作成について。

投稿記事 by TOMY » 10年前

(注意:この日記を書いている人物は日記を書きながら半ば混乱状態に陥いっているために時折支離滅裂な内容になっていても気が付かない場合があります。)
今晩は。
色々あった就活ですが、取り敢えず二ヶ月で試験雇用してもらうことになりました。
取り敢えず今はいきなりですが、出向での開発に参加させて頂いています。

使用言語はC#とVBとXML
VB以外は触ったことのある言語だったのでなんとか理解できています。(自社開発のフレームワークにも助けて頂いては居ますが。)

話は飛びますが、最近(去年くらいの話ですが)PlayStationはPlay Doujinという企画を立てて日本のインディーズ作品の配信を強化するようになりました。
最初期は「ZUN × PlayStation®」と言う規格名だったのでそちらのほうが有名かもしれません。
6月には初の東方同人ゲームがvitaで出るようですし


それ以前でもいくつかの同人ゲームがPS4で配信されていたので買いました。
-クロワルールΣ
-アスタブリード
等など。(最初は同人ゲームだとは思えないほどクオリティ高くて知った時唖然としていました。)

その中でアスタブリードを開発した同人サークルのページを閲覧した際
http://edelweiss.skr.jp/
エフェクトシステムを作成しているという日記を見て、

(こういったエンジンやシステムは何で作っているのだろうか?[使用言語等など])
と言う疑問がわきました。

自分も過去に地形当たり判定情報用のマップエディタやマップチップエディタを作成したことは有りますが、
一番作りたい
 -複数のウィンドウ(グラフィックが表示されるウィンドウ:他ツール関係をまとめたウィンドウ)があって、
 -もっとコントロールを多用したGUIテイストなツール(テキストボックスに座標値を入力できたりするようなもの)
と言う形のものを作ったことはありません。
いい加減なんちゃってツールから脱却したいとは思っているのですが・・・

画像

上記の画像のようなツール用のウィンドウを複数表示し、そしてツールウィンドウにはチェックボックスやラジオボタン、テキストボックスと言った物を配置、
そこから取得した情報をメイン描画用のウィンドウに渡してグラフィックの変化に対応させる・・・
と言った処理をつくるなら、どういった言語、SDKやフレームワークを使ったほうがいいのか?
また、複数ウィンドウ間での情報渡しと言った問題に直当たりしてしまいました。

試しにManaged DirectXを使い
C++/MFC (動いた:但しプロジェクトファイルが200MB)
C++/CLI(api.config関係の問題で動かせなかったので断念)
ただしManaged DirectXはDX9以降は未対応のようなので今後の拡張性を考慮すると却下(いつかはDx11以降にも対応させたい。)

SharpDXやSlimDXと言ったオープンソース系は日本語ドキュメントの圧倒的不足というオープンソース特有の欠点がネック。

となると残るのはWindows SDK + DirectX (今まで使っていた流れ)・・・
結局原点にもどるのかなぁ。
正直ツールウィンドウのコントロールの配置を.netのデザイナーのような感じで出来たらいいなと思って.net系を中心に探していたが・・・
それはそれなら、C++ Windows SDKプログラムで複数のウィンドウを同時に表示し、それぞれのウィンドウで取得した情報の受け渡しはどうやるのだろうか・・・?
取り敢えず学習用にdirectX9でグラフィックスを表示するメインウィンドウが有り、コントロール類が配置されたツールウィンドウ、各種情報が出力されるプロパティウィンドウを同時に表示し、ウィンドウ間でそれぞれの情報を共有(値渡し)する物を作りたい・・・がいまいち分からない(猫でも分かる第四版を読みながら)
(下記画像は作りたい物のイメージ)
添付ファイル
ToolImage.png
ToolImage.png (38.32 KiB) 閲覧数: 406 回

アバター
せんちゃ
記事: 50
登録日時: 14年前

Re: ゲームエンジンやツールの作成について。

投稿記事 by せんちゃ » 10年前

日記の本筋と関係ないですけど試験雇用の人をいきなり出向に出すってそれ大丈夫なんですか、プロジェクト的な意味で・・

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前

Re: ゲームエンジンやツールの作成について。

投稿記事 by softya(ソフト屋) » 10年前

フレームワークは千差万別で使いやすうものを使えばよいです。C++/CLIなんてのを今更やるのはお勧めできません。

> Managed DirectXを使いC++/MFC (動いた:但しプロジェクトファイルが200MB)
MFCならC++ネイティブでやるべきですよ。
全部C#でやったほうがスッキリしますけどね。

>いつかはDx11以降にも対応させたい。
DirectX11も大幅刷新されるDirectX12が出る直前では意味が無さそう。
と言うかツール系やエンジン系をやるのが将来の望みで無いのなら出来るだけ楽をするべきです。
ゲームを作りたいのか、ツール/フレームワークを主にやるのか考えて行動すべきですよ。

>また、複数ウィンドウ間での情報渡しと言った問題に直当たりしてしまいました。

それはオブジェクト指向の使い方の問題では? あるいはMVCの理解の問題かも知れません。
フレームワークの問題では無いのでは?

そいうえば、過去に日記も放置しないで貰えると嬉しいです。前回のは、なんか中途半端になっているので。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前

Re: ゲームエンジンやツールの作成について。

投稿記事 by softya(ソフト屋) » 10年前

補足、
こう云うのは、悩んであがいて調べまくって知識を増やすこと自体が必要だと思うので、色々やってみるべきかと思います。
時間がある学生時代に貪欲にやっとくと良かったんですけどね。
それとドキュメントが英語だからと避けてると何も出来ませんよ。
日本語で完結するものは殆ど無いです。ゲームの場合。

ISLe
記事: 2650
登録日時: 14年前

Re: ゲームエンジンやツールの作成について。

投稿記事 by ISLe » 10年前

VisualStuido2015から、ウィンドウサイズを変更した際のコントロールの自動追尾とか(やっと)サポートされるらしいですよ。
ユニバーサルアプリからマルチプラットフォーム対応までサポートされているので作りやすいかもしれません。

アバター
TOMY
記事: 53
登録日時: 13年前
住所: 愛知県
連絡を取る:

Re: ゲームエンジンやツールの作成について。

投稿記事 by TOMY » 10年前

ソフト屋さん返事遅くなってしまい申し訳ございません。
MVCの勉強をしているうちに次から次へ覚えないことが出てきて中途半端な状態になってしまいました。
取り敢えずMVCについては現在。仕事をしながら色々教えて頂く形で勉強しています。