はじめまして、またみふです。よろしくお願いします。
早速ですが、
先日、DXライブラリを使ったオセロが完成しました。
バグはたぶん残っていると思いますが、ほとんどAIなど自力で作り、初めてにしてはいい出来なので、自分は今とても満足しています。
(面白いのかわかりませんが、一応ZIPをあげときます。ソースはひどいので貼りません(笑))
ここで質問なんですが、この勢いでDirectXを勉強したほうがいいのか(2Dです。やる気はもちろんあります)、
DXライブラリを使ってもっといろんな種類のゲームを作成したほうがいいのか、今とても悩んでいます。
みなさんは、どちらのほうが今後いいと思いますか?
些細な質問ですが、よろしくお願いします。
一応↓
OS:Windows7
開発環境:Visual C++ 2010 Express
使える言語:C、C++、JAVA(C++は、クラスのコンストラクタ、デストラクタぐらいまでは使えます。JAVAはほとんど使わないと思って結構です)
知識:DXライブラリを使ってゲーム作れるぐらい
今後について
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: 今後について
オセロ、始めてとはとても思えません。よく出来ていると思います。ここで質問なんですが、この勢いでDirectXを勉強したほうがいいのか(2Dです。やる気はもちろんあります)、
DXライブラリを使ってもっといろんな種類のゲームを作成したほうがいいのか、今とても悩んでいます。
みなさんは、どちらのほうが今後いいと思いますか?
些細な質問ですが、よろしくお願いします。
演出としては、もう一工夫できるかも知れません。置いた時に点滅とかひっくり返るときにアニメーションするとか。
で、本題ですが2Dのゲームを作る分にはDXライブラリで十分だと思いますが、DirectXをどうしても使いた理由があるのでしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 今後について
うおおお、ありがとうございます!めっちゃうれしいです(笑)これからも頑張ります!オセロ、始めてとはとても思えません。よく出来ていると思います。
ゲームを作るならDXライブラリでも十分です。今後もずっと使っていきたいと思っています。2Dのゲームを作る分にはDXライブラリで十分だと思いますが、DirectXをどうしても使いた理由があるのでしょうか?
実は将来ゲームプログラマーになろうと思っています。
だから将来を考えるならやっぱりDirectXやWinAPIなどは高校生のうちに覚えておきたいです。(習得するのに数年かかるのは覚悟しています)
もちろん、最初にDirectXをやったら躓くのは知っていましたので、最初にDXライブラリでゲーム作成の基礎(入力→更新→描画など)を学んでから
DirectXを学ぼうと考えました。
そして、先日はじめてDXライブラリを使ってゲームを完成しました。
まだまだ物足りないものとかがありますが、とりあえずゲームとしては機能していると思います。
ですが、ゲームを1作ぐらい作っただけじゃ、DirectXにはまだ手を出さないほうがいいと思いますか?
ぜひ意見をお願いします。
あと、ゲームをしてもらうだけじゃ私の実力がわからないと思ったので、叩かれる覚悟でソースを貼ります。
※試行錯誤でゲームを作っていたので、とっっっっっっても汚いのです。かなり見づらいと思いますが、よろしくお願いします。
- 添付ファイル
-
- Main.cpp
- 最弱オセロ!のソースです。
- (11.18 KiB) ダウンロード数: 200 回
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: 今後について
ゲーム会社の場合、確かにDirectXが使えることは新卒採用時のアピールポイントではありますが、DirectXは使えるけど2Dゲームしか作れないよりは、3Dゲームが作れて色々なジャンルのゲームを作れ様々なライブラリを使えるほうがアピールポイントになる可能性があると思います。またみふ さんが書きました:実は将来ゲームプログラマーになろうと思っています。
だから将来を考えるならやっぱりDirectXやWinAPIなどは高校生のうちに覚えておきたいです。(習得するのに数年かかるのは覚悟しています)
もちろん、最初にDirectXをやったら躓くのは知っていましたので、最初にDXライブラリでゲーム作成の基礎(入力→更新→描画など)を学んでから
DirectXを学ぼうと考えました。
今の新卒応募条件としてC++と3Dの知識は必須なわけですが、DirectX直じゃなくても「SELENE」とか「Easy3D」など色々なライブラリを自在に使えのも十分アピールにはなると思います。最近のゲームは自社製・他社製のゲームエンジンを使うのが当たり前ですからね。
「ゲームエンジン - Wikipedia」
http://ja.wikipedia.org/wiki/%E3%82%B2% ... 8%E3%83%B3
ただし、3Dゲームに関する知識は身につける必要があります。
参考になるので古い方から読んでみてください。
「GAME-連載-3Dゲームファンのためのグラフィックス講座 バックナンバー」
http://game.watch.impress.co.jp/docs/series/3dcg/
そうですね。DirectXを覚えることとプログラミング・ゲームプログラミングの知識は別次元の問題ですので何時手を出すかはその人次第と行ったところでしょうか。あるいは、上に書いたとおりそれ以外のライブラリでゲーム作ることに専念するかです。またみふ さんが書きました: ですが、ゲームを1作ぐらい作っただけじゃ、DirectXにはまだ手を出さないほうがいいと思いますか?
ぜひ意見をお願いします。
ただし、DirectXに手を出すならC++での書籍・サイト・マイクロソフトのサンプルが多いのでC++のクラスの扱いなど身に付けられてからのほうが良いと思います。そういう意味でもC++の習得のためにC++でDXライブラリでゲーム作ることは良いんじゃないでしょうか?
始めてにしては、かなりきれいなソースだと思いますよ。またみふ さんが書きました: あと、ゲームをしてもらうだけじゃ私の実力がわからないと思ったので、叩かれる覚悟でソースを貼ります。
※試行錯誤でゲームを作っていたので、とっっっっっっても汚いのです。かなり見づらいと思いますが、よろしくお願いします。
こればかりは経験なので数をこなさないとうまくなりません。
中小のゲーム会社は、作品とソースコードの提出を求めることが多いのでソースコードを綺麗に分かりやすく書けることは必須スキルでも有りますので徐々に経験を積んでいきましょう。
今回のソースを見て感想です。
[良い点]
・定数を使っている。enumの使い方も良いです。
・ローカル変数、グルーバル変数の使い分け。
・関数の戻り値をちゃんと活用している。
[悪い点]
・サーチと裏返しは別関数が良かったかも。
・途中にあるProcessMessageは、使わないほうが良かったかも。
・コメントが少ない部分がある。
・i,jを安易に使い過ぎている。もっと意味のある名前を。
例として、for(int i=0; i<H; i++){ならfor(int h=0; h<H; h++){の方が意味の通りが良いと思いませんか?
・一部インデントに間違いがある。
[課題]
・もっと規模の大きなプログラムに挑戦する。
・ファイル分割を覚える。
・C++のクラス化を考える。
・Win32APIのMessageBoxではなく、DXライブラリだけで完結できなかってたでしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 今後について
わかりました!本当にありがとうございます!そうですね。DirectXを覚えることとプログラミング・ゲームプログラミングの知識は別次元の問題ですので何時手を出すかはその人次第と行ったところでしょうか。あるいは、上に書いたとおりそれ以外のライブラリでゲーム作ることに専念するかです。
ただし、DirectXに手を出すならC++での書籍・サイト・マイクロソフトのサンプルが多いのでC++のクラスの扱いなど身に付けられてからのほうが良いと思います。そういう意味でもC++の習得のためにC++でDXライブラリでゲーム作ることは良いんじゃないでしょうか?
自分はDirectXを早く覚えなきゃ!という変な焦りを持っていました。
softyaさんの言うとおりC++を使ってDXライブラリでたくさんゲームを作り、それからゲームエンジンや「Easy3D」などに手を出してみようとおもいます。
自分の良い点、悪い点は、どんな書籍にも載っていないので、とても参考になります!ありがとうございました![良い点]
・定数を使っている。enumの使い方も良いです。
・ローカル変数、グルーバル変数の使い分け。
・関数の戻り値をちゃんと活用している。
[悪い点]
・サーチと裏返しは別関数が良かったかも。
・途中にあるProcessMessageは、使わないほうが良かったかも。
・コメントが少ない部分がある。
・i,jを安易に使い過ぎている。もっと意味のある名前を。
例として、for(int i=0; i<H; i++){ならfor(int h=0; h<H; h++){の方が意味の通りが良いと思いませんか?
・一部インデントに間違いがある。
[課題]
・もっと規模の大きなプログラムに挑戦する。
・ファイル分割を覚える。
・C++のクラス化を考える。
・Win32APIのMessageBoxではなく、DXライブラリだけで完結できなかってたでしょうか?
課題については、
最初は小規模のオセロゲームを作ったので、次はRPG,STGといった大規模ゲームをつくってみようと思います。
他の課題も頑張ってクリアしたいと思います。
softyaさん、本当にありがとうございました!
- Dixq (管理人)
- 管理人
- 記事: 1661
- 登録日時: 13年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: 今後について
「最弱オセロ」というタイトルに騙されました。
ポンポンと置いていくと普通に負けて思わず感嘆の声を上げそうになりました。
とても初めてとは思えません。素晴らしい出来映えですね。
しかもこれだけAIが搭載されていて600ステップ強というのもスマートで良いですね。
ところで、よく質問で「ゲームプログラマーになるならDirectXを知っていなければ」という記述を見かけますが、
私が思う範囲ではそんなにDirectXに固執する必要はないと思います。
私はゲームプログラマーではないので、内部的なことは知りませんが、PS2の内部は OpenGL ES だと聞きますし(もちろん独自カスタマイズでしょうが)、
softyaさんが仰るように各社ライブラリを持っていると思います。
マイクロソフトに就職するのであれば DirectX ばかりになるかもしれませんが・・。
DXライブラリでも3Dが扱えます。とりあえずDXライブラリが使いこなせるようになってからでも良いのではないでしょうか。
扱いが簡単なライブラリで一通りのジャンルの関数を使ってみて、慣れてみるのも良いことだと思います。
私も突然 OpenGL を学ぼうとして大変な思いをした人間の一人です。
難しい事が突然増えると躓きやすいですし、まだ高校生であれば今やりたいことを追及してモチベーションを上げながら学んで行っても良いのではないかと思います。
p.s.
オセロやってて、この画面で「パスです」のメッセージボックスが無限ループで出現し、消せなくなりました。
ポンポンと置いていくと普通に負けて思わず感嘆の声を上げそうになりました。
とても初めてとは思えません。素晴らしい出来映えですね。
しかもこれだけAIが搭載されていて600ステップ強というのもスマートで良いですね。
ところで、よく質問で「ゲームプログラマーになるならDirectXを知っていなければ」という記述を見かけますが、
私が思う範囲ではそんなにDirectXに固執する必要はないと思います。
私はゲームプログラマーではないので、内部的なことは知りませんが、PS2の内部は OpenGL ES だと聞きますし(もちろん独自カスタマイズでしょうが)、
softyaさんが仰るように各社ライブラリを持っていると思います。
マイクロソフトに就職するのであれば DirectX ばかりになるかもしれませんが・・。
DXライブラリでも3Dが扱えます。とりあえずDXライブラリが使いこなせるようになってからでも良いのではないでしょうか。
扱いが簡単なライブラリで一通りのジャンルの関数を使ってみて、慣れてみるのも良いことだと思います。
私も突然 OpenGL を学ぼうとして大変な思いをした人間の一人です。
難しい事が突然増えると躓きやすいですし、まだ高校生であれば今やりたいことを追及してモチベーションを上げながら学んで行っても良いのではないかと思います。
p.s.
オセロやってて、この画面で「パスです」のメッセージボックスが無限ループで出現し、消せなくなりました。
- 添付ファイル
-
- osero.png (38.58 KiB) 閲覧数: 4491 回
- Dixq (管理人)
- 管理人
- 記事: 1661
- 登録日時: 13年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: 今後について
結構無限ループで「パスです」ウィンドウが出ますね・・。
4回中4回無限ループになりました。
明らかに置けるのに「パスです」になることもありますが、
お互いに置けなかったらドローにならないといけませんね。
4回中4回無限ループになりました。
明らかに置けるのに「パスです」になることもありますが、
お互いに置けなかったらドローにならないといけませんね。
Re: 今後について
Dixqさん、ありがとうございます!「最弱オセロ」というタイトルに騙されました。
ポンポンと置いていくと普通に負けて思わず感嘆の声を上げそうになりました。
とても初めてとは思えません。素晴らしい出来映えですね。
しかもこれだけAIが搭載されていて600ステップ強というのもスマートで良いですね。
もう、今狂喜乱舞中です(笑)
そうですよね。ちょっと焦ってたのかもしれません。ところで、よく質問で「ゲームプログラマーになるならDirectXを知っていなければ」という記述を見かけますが、
私が思う範囲ではそんなにDirectXに固執する必要はないと思います。
私はゲームプログラマーではないので、内部的なことは知りませんが、PS2の内部は OpenGL ES だと聞きますし(もちろん独自カスタマイズでしょうが)、
softyaさんが仰るように各社ライブラリを持っていると思います。
マイクロソフトに就職するのであれば DirectX ばかりになるかもしれませんが・・。
DXライブラリでも3Dが扱えます。とりあえずDXライブラリが使いこなせるようになってからでも良いのではないでしょうか。
扱いが簡単なライブラリで一通りのジャンルの関数を使ってみて、慣れてみるのも良いことだと思います。
私も突然 OpenGL を学ぼうとして大変な思いをした人間の一人です。
難しい事が突然増えると躓きやすいですし、まだ高校生であれば今やりたいことを追及してモチベーションを上げながら学んで行っても良いのではないかと思います。
それにDirectXを覚えるとなんでも作れる!と思っていただので、尚更です。
DXライブラリを使いこなせるまでがんばります。
やはりですか・・・。友達もやってみたんですが、無限ループが発生しPCを再起動させたと聞きました(笑)p.s.
オセロやってて、この画面で「パスです」のメッセージボックスが無限ループで出現し、消せなくなりました。
ちなみに、無限ループが発生した場合ESCキーを押すと終了します。
自分はサーチ関数、チェックパス関数はかなり自信がないので、当然といえば当然ですが・・・
今RPG作成と並行しながら、デバックを行っているので、バグを駆除次第、日記またはここに再うpします。
Dixqさん、ありがとうございました!
Re: 今後について
四隅取らせて勝ちました。
オセロのつづりは Othello。
#勝ったときの画像をアップロードしようとしたのだけども、やりかたがわからん。
# HDD 上のファイルをアップロードするには、どうしたらいいんだ ?
# web 上に置いてみたが、ウェブサイトのほうでブロックされたようだ。
VTuber:
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。
中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。
中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。
- Dixq (管理人)
- 管理人
- 記事: 1661
- 登録日時: 13年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: 今後について
> #勝ったときの画像をアップロードしようとしたのだけども、やりかたがわからん。
> # HDD 上のファイルをアップロードするには、どうしたらいいんだ ?
コメント投稿欄の下にある「ファイル添付」を選択して頂ければ添付出来ます。
> # HDD 上のファイルをアップロードするには、どうしたらいいんだ ?
コメント投稿欄の下にある「ファイル添付」を選択して頂ければ添付出来ます。
Re: 今後について
オプション ファイル添付
となっているところか。気がつかなかった。
ファイル添付、うまくいくかな ?
となっているところか。気がつかなかった。
ファイル添付、うまくいくかな ?
- 添付ファイル
-
- othello.png (35.17 KiB) 閲覧数: 4349 回
VTuber:
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。
中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。
中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。