C/C++言語でRPGを作ってみるスレ2
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2005/07/09(土) 15:12:42まとめサイト
http://himatanuki.hp.infoseek.co.jp/
まとめサイト(Wiki)
http://gamdev.org/w/?%5B%5BC%2FC%2B%2B%B8%C0%B8%EC%A4%C7%A3%D2%A3%D0%A3%C7%A4%F2%BA%EE%A4%C3%A4%C6%A4%DF%A4%EB%A5%B9%A5%EC%5D%5D
前スレ
C/C++言語でRPGを作ってみるスレ
http://pc8.2ch.net/test/read.cgi/tech/1114834076/
0002デフォルトの名無しさん
2005/07/09(土) 15:17:310003デフォルトの名無しさん
2005/07/09(土) 15:17:59乙カレチャーン
0004デフォルトの名無しさん
2005/07/09(土) 15:18:22ゲーム製作技術板でやれよ クズ
0005デフォルトの名無しさん
2005/07/09(土) 15:22:15ゲーム製作技術板に逝け。
0006デフォルトの名無しさん
2005/07/09(土) 15:23:15乙
0007デフォルトの名無しさん
2005/07/09(土) 15:33:260008デフォルトの名無しさん
2005/07/09(土) 15:39:000009デフォルトの名無しさん
2005/07/09(土) 15:43:15でじゃぶー?
0010デフォルトの名無しさん
2005/07/09(土) 15:45:13C++でRPGゲームを作成する
ttp://pc8.2ch.net/test/read.cgi/gamedev/1101161690/
0011デフォルトの名無しさん
2005/07/09(土) 16:32:45注意書きくらい読もうねw
0012デフォルトの名無しさん
2005/07/09(土) 17:13:380013デフォルトの名無しさん
2005/07/09(土) 18:30:080014武家諸法度@co.jp
2005/07/09(土) 18:45:50つくってみたーよさん来てるかな。
0015デフォルトの名無しさん
2005/07/09(土) 19:02:37お、前スレ1さん。
お勉強の方はどうっすか?
0016デフォルトの名無しさん
2005/07/09(土) 19:55:08キテルーヨ
0017デフォルトの名無しさん
2005/07/09(土) 21:13:170018デフォルトの名無しさん
2005/07/09(土) 22:08:07RPGを作るためのシステムを作る
にしたほうがいいかもな。
で、実際にゲーム作るのはゲ製板でやればいいし。
0019デフォルトの名無しさん
2005/07/09(土) 22:21:34・クラス
Object
├Controler - 一階層かます(なくても良いかも)
|├GameControler - ゲームの進行を管理
|├GraphicControler - 表示を管理
|├SoundControler - 音の管理をする。
|├ButtleControler - 戦いを管理。
|| 行動の順や、「この人が"戦う"選んでるからこの人にダメージ」なジャッジをする
|└MapControler - マップを管理(町、ダンジョンの切り替えなどをつかさどる)
|
└GameObject - 一階層かます(ゲーム内登場物という共通特性がある場合に。Nameとか)
├Actor - 演者。主に有生物。
|├People - 町の人とか、戦わないマップキャラで終わる人々。
|├Enemy(Monster?) - 敵。Battleable実装
||└[性格を持った敵] - 振る舞いが特化されていて、個々に実装必要な奴。ボスなど。Battleable実装
|└MainActor(Player?) - 主人公とその仲間。Battleable実装。
| └[性格を持った仲間] - それぞれ実装を必要とする場合のキャラ。
| NPCを含むためControlable実装は任意。
0020デフォルトの名無しさん
2005/07/09(土) 22:22:45OOとしてはイマイチだな。
コントローラーて・・・
0021デフォルトの名無しさん
2005/07/09(土) 22:26:01├MapChip - マップの特性を持った構造体(構造定義せずに配列とかでも良い?)
├Item - アイテム共通の性格。
|└[個々のアイテム] - 性格を持ったアイテム。振る舞いは個々に違うため別個に記述。
├Magic
|└[個々の魔法] - 性格を持った魔法。振る舞いは個々に違うため別個に記述。
└Skill(Action?) - スキル。プレイヤーごとにインスタンスを4つまで保持し、戦闘時コマンドとして表示。
├Spel - 呪文をとなえる。(PlayerのMagicリストを参照したい)。
├Fight - たたかう。
├UseItem - アイテムを使う。(Playerのアイテムリストを参照したい)
├Defence - 防御
├Escape - 逃げる。(隊列先頭の奴に強制的に付加されるって、なぁ)
└[その他] - 昨今のドラクエの"とくぎ"など。
さっきの続き
0022デフォルトの名無しさん
2005/07/09(土) 22:32:400023デフォルトの名無しさん
2005/07/09(土) 23:13:36昔ム板でRPGのクラス設計のスレがあって、そんときもそんな感じだったな
0024デフォルトの名無しさん
2005/07/10(日) 00:17:050025デフォルトの名無しさん
2005/07/10(日) 00:30:530026デフォルトの名無しさん
2005/07/10(日) 00:47:04「防御」はダメージを与えないで防御力一時アップとか、あとはナレーションの辻褄だけだし
0027デフォルトの名無しさん
2005/07/10(日) 00:49:42逆にアイテムはクラスのほうが柔軟性が増す
0028デフォルトの名無しさん
2005/07/10(日) 01:17:180029デフォルトの名無しさん
2005/07/10(日) 01:33:00ノウハウ貯めるためのスレじゃないんだねスマソ(^^;
0030デフォルトの名無しさん
2005/07/10(日) 01:40:100031デフォルトの名無しさん
2005/07/10(日) 02:01:30そういうのは自治スレでやってくれ
0032デフォルトの名無しさん
2005/07/10(日) 02:15:23ゲーム関係の話題はゲーム製作板へどうぞ。
この注意書きが読めない基地外でつか?
誰が見ても100%板違い。議論の余地は無い。OK?
0033デフォルトの名無しさん
2005/07/10(日) 02:22:17そんな板はありません。
で、なんかコンソールベースのRPG見てああなるほどって思ったけど
グラフィック使ってるとこ見ると、やっぱゲ製作のがいいんじゃないかと思った。
荒れるからさここらへんで定義を見直そう。
プログラム板でRPGを作ってみるということは
ようするにプログラムの勉強のためだよね?よくわからんが・・・
それならライブラリなど使わずにテキストベースかGDIでアルゴリズムの勉強としてなら
ここでもいいんジャマイカ?
で、openglとかdirectxとか使うともうゲームの勉強になっちまうから、ゲ製作のほうが適している。
荒れないですむと思う。
そもそも作ってみるスレというのがあまりよくわからない。
作って何がしたいのか。
それでおれは作って勉強してみるスレと解釈したがまあわからんもんねる
0035デフォルトの名無しさん
2005/07/10(日) 03:05:59SDL=Simple DirectMedia Layerでゲームだ
http://pc8.2ch.net/test/read.cgi/tech/1103655588/
Irrlicht初心者質問スレ
http://pc8.2ch.net/test/read.cgi/tech/1104179696/
【C++】 DirectX初心者質問スレ Part4【C++】
http://pc8.2ch.net/test/read.cgi/tech/1115484821/
OpenGLスレ Part7
http://pc8.2ch.net/test/read.cgi/tech/1118151979/
各板対抗 RPGツクールでゲームinム板
http://pc8.2ch.net/test/read.cgi/tech/1059441167/
0036デフォルトの名無しさん
2005/07/10(日) 03:27:56んなーこたーないw
0037デフォルトの名無しさん
2005/07/10(日) 03:34:22そういう不確定な話やごたごたをこのスレに持ち込まないで欲しい
ローカルルールの揚げ足を取るのイクナイ
0038デフォルトの名無しさん
2005/07/10(日) 06:49:050039デフォルトの名無しさん
2005/07/10(日) 07:07:130040武家諸法度@co.jp
2005/07/10(日) 07:07:40その前の過程でここに載せて、この先どうやって作ったらいいかとか聞いてもいいし、(それだったら、その専用スレのほうがいいかも)
初心者のために、>>19、>>21みたいなことを書いてもいいし、
まっ、とりあえずRPG関連で、C/C++なら、何だっていいわけ。
楽しく書いて、楽しく学ぶ。
これが一番かな。
そろそろデフォルトの名無しさんにもどろ。
0041デフォルトの名無しさん
2005/07/10(日) 07:32:44で、今どのヘンまで進んでるん?
0042デフォルトの名無しさん
2005/07/10(日) 09:04:42いいんじゃない。
0043デフォルトの名無しさん
2005/07/10(日) 09:10:170044デフォルトの名無しさん
2005/07/10(日) 09:21:14なんかそんな本でてそーw
0045デフォルトの名無しさん
2005/07/10(日) 09:33:350046デフォルトの名無しさん
2005/07/10(日) 09:36:40作るスレにすべきでしょ? ゲームの話をする所じゃないんだから。
0047デフォルトの名無しさん
2005/07/10(日) 10:16:09プログラムの話ばっかだったかと。
0048デフォルトの名無しさん
2005/07/10(日) 10:26:190049デフォルトの名無しさん
2005/07/10(日) 11:06:30>>19>>21ぐらいからやっとそういう話になってきたけど
本題に入る前に話がそれていくw
0050デフォルトの名無しさん
2005/07/10(日) 11:54:23それいいな。ゲ製板からは歓迎されそうな気がする。
[ マ板 ]
システム提供↓↑ゲーム本編作成。システム要望
[ ゲ製板 ]
0051デフォルトの名無しさん
2005/07/10(日) 12:12:09大間違い。ここは「ム板」。
0052デフォルトの名無しさん
2005/07/10(日) 12:24:110053デフォルトの名無しさん
2005/07/10(日) 12:52:270054デフォルトの名無しさん
2005/07/10(日) 13:44:220055デフォルトの名無しさん
2005/07/10(日) 14:11:29C/C++言語でRPGシステムを作ってみるスレ
RPGシステムに関するC/C++プログラミングの話題。アルゴリズム・
データ構造・処理の効率化・ライブラリ等など、プログラミング
の話題限定で語りませう。ゲーム製作の話はゲ製板で。
でOK?
0056デフォルトの名無しさん
2005/07/10(日) 14:53:430057デフォルトの名無しさん
2005/07/10(日) 15:08:170058デフォルトの名無しさん
2005/07/10(日) 15:20:160059デフォルトの名無しさん
2005/07/10(日) 16:29:25ム板なんだから、前スレにあったように「作ることを楽しむ」スレであって欲しい。
一番の問題は「実際に作ってる人」が少ないってことだな。
0060デフォルトの名無しさん
2005/07/10(日) 16:44:510061デフォルトの名無しさん
2005/07/10(日) 18:15:200062デフォルトの名無しさん
2005/07/10(日) 18:16:340063デフォルトの名無しさん
2005/07/10(日) 20:09:48そか。がんがれ。
0064デフォルトの名無しさん
2005/07/10(日) 20:49:17ですわ。。
汎用性とか考え出すとキリが無いよ orz
0065デフォルトの名無しさん
2005/07/10(日) 20:58:150066デフォルトの名無しさん
2005/07/10(日) 20:58:330067デフォルトの名無しさん
2005/07/10(日) 21:04:11orz
0068デフォルトの名無しさん
2005/07/10(日) 21:43:34コーディングしている時間なんて全然大したことない。むしろ楽な部分。
一人で延々とテストプレイを繰り返してるとイヤになること請け合い。
まじでテストプレイヤーが欲しくなるよ。
006964
2005/07/10(日) 23:08:42ゲームを本格的に作るの初めて+クラスを本格的に使うの初めてなので。
勢いで始めましたけど、やぱちょっと無謀だったか。。
>>68
超小規模なのになる予定なので、
そこは一番心配してないです ^^
0070デフォルトの名無しさん
2005/07/11(月) 00:43:03まあ頑張って。実際に作ってる人が少ないから期待してるよ。
0071デフォルトの名無しさん
2005/07/11(月) 02:33:08自分もそうなりがち。頭でっかちというか。
だから、初心者の頃の、とにかくコーディング
という気持ちも忘れないようにしてる。
0072デフォルトの名無しさん
2005/07/11(月) 13:38:510073デフォルトの名無しさん
2005/07/11(月) 13:45:470074デフォルトの名無しさん
2005/07/11(月) 20:52:31ム板的な視点で見ると、バランス調整自体をコーディングしたい。
インターフェイスをカットしたモードでAIが超高速でレベル上げする。
その統計を収集して、ここら辺で詰まるみたいなグラフを描くとかね。
進化するAI(GAとかか)ならFF6のバニシュデスみたいな穴も発見可。
つかプロのコンシューマのRPGでは既にそういうことやってんのか?知らないけど。
0075デフォルトの名無しさん
2005/07/11(月) 20:56:26プレーヤーがどこで迷って、その分どれだけ歩いてどれだけ敵に遭遇してレベルが上がるか
ってのはやっぱり人間がテストしないと分からん気がする。
0076デフォルトの名無しさん
2005/07/11(月) 21:01:22ROMに焼いた時点で進化を止めるのかい?
0077デフォルトの名無しさん
2005/07/11(月) 21:13:41デバッグとかバランス調整に使うだけなんだからゲーム本体には含めないだろ。
0078デフォルトの名無しさん
2005/07/11(月) 21:20:34それは1つ楽するために10倍ぐらい苦労するアプローチだな(w
俺的には>>75に同意。やっぱ実際にプレイしてみないことには
バランスの善し悪しは分からん気がする。
0079デフォルトの名無しさん
2005/07/11(月) 21:31:49ゲーマーもさまざまなんだし。
FF4なんかは2バージョンあったよね、普通のとムズいのと。
0080デフォルトの名無しさん
2005/07/11(月) 21:32:57AI(に満たちないほどの単純作業のルーチンだが)で発見できるといいかもしれん。
総当りだとものすごい時間かかりそうだが。
0081デフォルトの名無しさん
2005/07/11(月) 21:52:46最初はシンプルでいいから、なるべく後から構成要素の追加拡張が容易なフレームワークを設計するのが先だな。
0082デフォルトの名無しさん
2005/07/11(月) 22:09:300084デフォルトの名無しさん
2005/07/12(火) 01:49:22イベントの到達不能バグの自動検出は
未踏ソフトなんとかでどっかの学生が題材にしていた
なんつーか、微妙だったけど。
0085シープラ勉強中 ◆ryjMYLsfPA
2005/07/12(火) 15:08:54途中経過です。
前回のと動きはあんま変わってません。
キャラが動くだけです。
中身はメチャクチャかき混ぜたので、いまいち把握できてません。
メモリリークとかあったらホントごめんなさい。
絵がでるオブジェクトに使うために、基本クラスを作ったのですが、
GetX() とか、SetWide() みたいなのが大量にできちゃっいました。
これは一般的なんでしょか?
ソースがいたずらに長くなってしまう・・。
町の人とPlayerのクラスも共通のとこがいっぱいあるから、
もう一個基本クラスを作ったほうがいいかもしんないし。
あー、基本クラスのことだけで、三日は費やしてるわ orz
0086デフォルトの名無しさん
2005/07/12(火) 15:47:30LoadImageとTransparentBltを適当に補ったら動いたんだけど、
ほとんど真っ暗だった(つд`
GetXとかはinlineするといいかも。
0087デフォルトの名無しさん
2005/07/12(火) 16:45:50設計次第でコーディング時間は短縮される。
0088シープラ勉強中 ◆ryjMYLsfPA
2005/07/12(火) 17:32:40あ、やぱしww
前スレでもそう言ってるの見ましたから、エラーがでると思ったんですが。
描画はあとで差し替える予定ですので、そのときまでは解決しないかもです。
前スレ821さんのような技術がないんで。。
ちなみに、実行ファイルは正常に動作するんでしょうか?
>>87
オブジェクト志向ってのがなんなのか全然わからない orz
そのクラスの中で自己完結的に動作すれば
オブジェクト志向を名乗っていいんでしょか?
(初期化→動作→表示→開放 みたいな・・)
ポリモーフィズムってのはあきらめました ^^
0089デフォルトの名無しさん
2005/07/12(火) 17:37:06いいたい事は色々あるが、
ttp://himatanuki.hp.infoseek.co.jp/cgi-bin/uploader/src/up0007.png
これで正常な動作なのかどうかだけ聞きたい。
009089
2005/07/12(火) 17:53:19パスにスペースが入ってるのが駄目だったのかもしれん。
移動したらちゃんと表示されるわ。
しかしなぜデバッグビルド?
0091デフォルトの名無しさん
2005/07/12(火) 18:01:01ひえ〜えぇ、
そんなんなっちゃったんすかww
↓が意図した絵です。だいじょぶでしょか。
http://49uper.com:8080/html/img-s/65914.jpg
ところで、質問ばかりですみませんが
デバッグビルドってなんですか?
ちなみにツールは VC++6.0 Standard です。
009289
2005/07/12(火) 18:09:08OK。ばっちりだ。
デバッグビルドっていうのはデバッグするためのビルド。
デバッガをつかってステップ実行したりできるように
ソースの情報が入っていたりする。
VC6なら
ビルド->アクティブな構成の設定->Win32Release
とかにすればReleaseビルドになるとおもう。多分。
あと、メモリリークしてると思う。
ベースクラスのデストラクタもvirtualじゃないし。
0093デフォルトの名無しさん
2005/07/12(火) 18:13:56オブジェクト指向って、要はメッセージの送受信だけでプログラムの
流れを表現しましょうとゆー考え方だと思う。
例えば、プレイヤーオブジェクト P と敵オブジェクト E があって、
PがEを攻撃して2ポイントのダメージを与えたとする。
このとき、オブジェクト指向では E に「体力を2ポイント減らしなさい」
というメッセージを送る。例えば E.hp_herase(2) という具合。
ここでのミソは、E の内部構造がどうであれ、.hp_herase() という
メッセージ(つまりメソッド)が分かっていればプログラムが書ける、
というところ。仮に体力が E.hp というメンバで表されているとしても、
その値を外部から変更するのは無しにして、体力を変更するメッセージ
(メソッド)を使いましょう、ということ。
ゲーム全体がオブジェクト間のメッセージのやりとりだけで破綻なく
記述できれば、オブジェクト指向の設計として成功しているといえる。
しかし実際は、往々にしてオブジェクトの関係(メッセージのやりとり)が
チョー煩雑になったり内部メンバを直接変更したくなったりする。
「それは設計が悪いから」とゆーのがオブジェクト指向設計の切り捨て方。
0094デフォルトの名無しさん
2005/07/12(火) 19:05:010095シープラ勉強中
2005/07/12(火) 19:05:44おお、役に立ちそうな情報をありがとうございます。
設定を変更したら、いつもより小さめな実行ファイルができました!
てゆか、デバッガ使ったことない、、今まで無駄なことしてたのかああぁ。
メモリリークはしてますか・・
実行しちゃった人、ごめんなさい m(__)m
仮想関数はちょっとやってみた程度なのでよくわからないです。
私のお勉強本には、デストラクタの virtual は乗ってないし。。
ちょっと研究してみます。
ホントありがとうございます。
>>93
こっちにも役にたちそうな情報が!
クラスを使いはじめて思ったんですが、
他のプログラマさんが作ったライブラリを使ってみないと、
自分ではうまく作れないような気がしてます。
(標準のやつ以外使ったことないww)
わかりやすくて安全で使いやすくて見やすい
プログラムを書けるようになるには、あと何年かかるんだろうか。
どもです。
0096デフォルトの名無しさん
2005/07/12(火) 22:32:27とりあえずデストラクタをvirtualにしないと継承したクラスを
ベースクラスに入れて使ったときにメモリリークする。
CPeopleとCPlayerにはどちらもDrawメンバ関数があるけど
こういうやつをベースクラスに落とし込む。
ついでに例えば
CPlayerのメンバ変数に
HBITMAP hBitmap;
とでもしておいてCreateでビットマップをLoadImage、
DeleteでDeleteObjectとしたりする。
DrawではHDCを渡すだけ。
とか。
0097デフォルトの名無しさん
2005/07/12(火) 22:41:07描画管理はここに任せて、派生クラスは継承したメンバ関数で、
なるべく描画処理の細かいロジックは気にしない。
0098デフォルトの名無しさん
2005/07/12(火) 22:47:58>とか。
デザパタのVisitorパターンもどきになるな。
描画オブジェクトはデバイスコンテキストを受け取って、自分自身を描画する。
systemの描画イベントが発生したら、リストアップされている描画オブジェクトに
順にdraw要求を出していけば、自動的に各オブジェクトが条件や状態に合わせ
た個別描画をしてくれる。
さらに複数の描画オブジェクトをまとめた集合を現すクラスにも同様のI/Fをつ
けることで、コンポジットパターンを活用できる。
0099デフォルトの名無しさん
2005/07/12(火) 23:21:380100デフォルトの名無しさん
2005/07/12(火) 23:29:200101デフォルトの名無しさん
2005/07/13(水) 00:10:25while (1) {
gijutsu--;
burando--;
kabuka--;
timer++;
}
}
■ このスレッドは過去ログ倉庫に格納されています