卵の観察日記
[内定が 決まって 浮かれている 卵 だ。]

お久しぶりです。愚痴。

atori
記事: 43
登録日時: 13年前

お久しぶりです。愚痴。

投稿記事 by atori » 12年前

先に言っておきますが、完全に愚痴しか言わないので、この先は読みたい人だけ。





夏休みももうすぐ終わりです。

設計を色々と頑張っておりますが・・・全くうまくできませんね。
ここで聞いたこと(テクスチャの管理とか)だけはできてるってかんじです。

一から組み直したほうが早いような気もします。
クラス作っても、他の場所で仕様追加したら設計しなおし・・・の繰り返しです。

プログラムはセンスだって言う人もいますが・・・センス以前の問題にぶち当たったりなどなど。

学んだことといえば、
・インターフェースクラスの必要性ってナンジャラホイって状態だったのが、「なるほど、確かに、便利・・・だな?」
 レベルになったこと。
・ゲーム内に登場するオブジェクトには、そのオブジェクトクラスのコンストラクタで3Dデバイスポインタ渡したほうがいいね。

てことぐらいでしょうか。

なかなか難しいものですね。自分プログラマ無理なんじゃね?とかも思ったり・・・。
親に啖呵切った以上あきらめるつもりはありませんが・・・。


10月からインターンが始まります。1ヶ月間、実際に会社に行くことになります。
どこに行くかは、もうすぐ発表です。

不安と若干の期待を胸に頑張ります。

アバター
バグ
記事: 130
登録日時: 15年前

Re: お久しぶりです。愚痴。

投稿記事 by バグ » 12年前

個人的な意見ですが・・・。
期限を切って、一度完成させた方が良いと思います。
途中で「これはどうなのよ?」と思うことも多々あると思いますが、それでも最後まで作り上げる事が重要だと思いますよ。仮に途中でグッチャグチャなスパゲッティになってしまったとしても、それはそれで良い経験になると思います。

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

Re: お久しぶりです。愚痴。

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

>他の場所で仕様追加したら設計しなおし・・・
こういうことが起きてる時点でたぶん設計としては破綻してると思います。

実際にこういうことが起きた場合、
>一から組み直したほうが早いような気もします。
が本当にそうなります。
思い切って全部切り捨てて一から作り直したほうが早い場合はたくさんありますし。
時間がないならスパゲティになるのも仕方ないと開き直ってそのまま作り続けるのも手です。
次は失敗しないように、と今後の課題にすればいいのです。


>・ゲーム内に登場するオブジェクトには、そのオブジェクトクラスのコンストラクタで3Dデバイスポインタ渡したほうがいいね。
DirectXでの開発でしょうか?
たとえばDirectXのバージョンが今後変わったとして、かつ新しいバージョンでも動かしたいとして、そのときに上の作りを変えずに実装できますかね。
もしくはグラフィックがDirectXではなくOpenGLに変わったとき、アプリ部分の作りを変えないで対応できますかね。
デバイスポインタをオブジェクトが直接持ってるということはこの辺の辻褄が合わなくなりやすいのでちょっと心配です。
最後に編集したユーザー せんちゃ on 2013年8月27日(火) 10:23 [ 編集 2 回目 ]

atori
記事: 43
登録日時: 13年前

Re: お久しぶりです。愚痴。

投稿記事 by atori » 12年前

バグ さんが書きました:個人的な意見ですが・・・。
期限を切って、一度完成させた方が良いと思います。
途中で「これはどうなのよ?」と思うことも多々あると思いますが、それでも最後まで作り上げる事が重要だと思いますよ。仮に途中でグッチャグチャなスパゲッティになってしまったとしても、それはそれで良い経験になると思います。
確かにその通りです。いくらきれいな設計をしたからといって、ゲームができてないなんてことになったら、まさに本末転倒ですね。
今回の設計でどこがダメだったかを見直し、次に繋げたいと思います。
せんちゃ さんが書きました: >・ゲーム内に登場するオブジェクトには、そのオブジェクトクラスのコンストラクタで3Dデバイスポインタ渡したほうがいいね。
DirectXでの開発でしょうか?
たとえばDirectXのバージョンが今後変わったとして、かつ新しいバージョンでも動かしたいとして、そのときに上の作りを変えずに実装できますかね。
もしくはグラフィックがDirectXではなくOpenGLに変わったとき、アプリ部分の作りを変えないで対応できますかね。
デバイスポインタをオブジェクトが直接持ってるということはこの辺の辻褄が合わなくなりやすいのでちょっと心配です。
今のままでは対処出来ません。DirectX9での開発を前提に設計をスタートしていので、行列計算などでDirectXのヘルパー関数を使いまくっています。
なので、次の設計時は使用するライブラリも考慮できるように尽力したいです。

ぼずお
記事: 1
登録日時: 14年前

Re: お久しぶりです。愚痴。

投稿記事 by ぼずお » 12年前

わりと前提から覆すようなことを言って恐縮です・・

経験上なのですが、「エンジンやライブラリを作ること」自体を主眼に置いた開発は、なかなか成功しません。
失敗例は周りに数多ありますし、私個人も経験があります。

また「設計」や「汎用性」というワードにとらわれ過ぎるのもまずいです。
それらが最初から満足にできる人は世の中にはいません。
設計にこだわっているうちに何度も作り直しになり、最終的にアウトプットがなにもない
ということになりがちなのです。

ゲームエンジンやフレームワークというものは、数多の人がたくさんのゲームを開発しているうちに、
共通する部分や、効率的に開発できる構造を見出し、それらを結集して作り出されてきたものです。
そんな大層なものを、ゲームそのものの開発経験に乏しい個人が一から作れるでしょうか。


ゲームライブラリやエンジンを鍛えたければ、あえて何か「ゲームを完成させる」ということを主目標にもってきてみてはいかがでしょう?
ゲーム側の需要に合わせて、ライブラリ側の機能を拡張するのです。それが自然な流れです。
たいそうなゲームでなくても、技術をアピールするデモのようなものでもよいと思います。
自分興味があるものに集中したものの方が効率が良いでしょう。


さてこれまでの流れをあまり見ていないので、すでにゲーム制作を主眼としているものであれば申し訳ないです。
よく見てきた例なので口を出してしまいました・・

ごく個人的な意見として捉えていただければと思います。(無責任ですが・・)
最後に編集したユーザー ぼずお on 2013年8月28日(水) 10:01 [ 編集 2 回目 ]

atori
記事: 43
登録日時: 13年前

Re: お久しぶりです。愚痴。

投稿記事 by atori » 12年前

>>ぼずおさん

返信有難うございます。
まさにその通りです。気づくのが遅かったような気もします。学生のうちに気づけてよかったとも思います。
学生のうちは、とにかく完成させることが重要だと思います。

これからは、ゲーム制作を主にしたプログラミングを心がけたいです。