C++でRPGゲームを作成する

レス数が900を超えています。1000を超えると表示できなくなるよ。
1じっち
垢版 |
04/11/23 07:14:50ID:CCsv+84e
少し前まではHSPで作ろうと思っていたのですが、HSPでRPGゲームを作るのは難しいらしいので、C++で作ろうと思います。
C++のプログラミングは初めてですので、みんなの力が必要です。
お願いします。
あと質問ですが、C++ってMMORPGつくれますか?
2011/04/03(日) 22:04:18.84ID:wtGWHPRo
>>877
そうですか、やはり普通じゃないのか
説明しやすいからそうしているのが多いのかな

今考えている方法は
用意すべき画面
1. 表示画面分の表・裏のサーフェイス(DirectX初期標準)
2. 最終的に合成する画面、ここから1ドットずつすらして裏サーフェイスにコピー
(表示画面より縦・横1チップだけ大きい画面を確保)
3. レイヤを3つ使うとして、各レイヤ分の裏画面(これも表示画面より1チップ分だけ大きい)
4. マップチップ・キャラやNPC等のグラフィック

処理
1. まず、方向キーが押されたら、3の各レイヤ用の画面にマップ描画
2. 最下層のレイヤ分を2に画面にコピー
3. 最下層上にいるキャラクタ・NPCを2に描画
4. 2-3をレイヤ分処理
5. 2の画面から1の裏画面にコピーして裏画面を表に
6. 2-5までを1ドットずらして1チップ分処理

無駄がありそうだけれど、これでいけそうな気がする
でもテクスチャって座標指定でコピーできないから
1ドットずつコピーするのが難しそうな気が
もっとテクスチャについて勉強する必要がありそう
2011/04/03(日) 22:06:51.98ID:/2gPwasz
あのさ?座標にマイナスを指定できるの知ってる?
2011/04/03(日) 22:36:46.84ID:wtGWHPRo
>>879
失礼、連続で5回以上書き込めないようで

テクスチャ座標に負の値が使えるのは知ってます
それをどこに使うんですか?
まだ勉強中なので教えてください
2011/04/03(日) 23:07:20.50ID:mqRgK4Gz
あなたの文章を読んでいて思ったのだが。
まさか、一枚のテクスチャに複数のレイヤーを重ねて最終的に
画面に描画しようとしている?

DirectXのバージョンをいくつ使うか知らないけど
いくらなんでも概念が古すぎるよ。
(DirectDrawとか使おうとしてる?)

WindiwsXPターゲットのDirectX9ならポリゴンまたはスプライト使えば解決できることを
わざわざ難しい方法でやろうとしているように見える。

ここで説明するのは無理があるからいくつかサイトのURL貼っとく

DirectX8の解説サイト
http://rina.jpn.ph/~rance/directx8/index.html
Microsoft本家のゲームプログラミング入門資料(数学の知識必須)
http://msdn.microsoft.com/ja-jp/academic/cc998598

まさかとは思うがDirectX7ならこの辺り
http://rina.jpn.ph/~rance/directx7/directx7study/index.html

入門者ならDirectXと言わずDXライブラリを使うのもありだと思う。
DXライブラリを使った解説サイト
http://dixq.net/g/

あと、ネットの情報は色々不足な部分や整理されていないから
一冊、入門書を買うことをお勧めする。
882879
垢版 |
2011/04/03(日) 23:08:21.00ID:mqRgK4Gz
あれID変ったw
2011/04/03(日) 23:49:00.27ID:wtGWHPRo
全然連続で書き込めない、この板人が少な過ぎるのか・・・


>>881
DirectX 9.0c でやろうと思ってます
つまり、DirectDrawでなくて、DirectX Graphicsですね

そのサイトも読んだんですけど、多分ポリゴンにテクスチャに貼り付けて
2Dの処理をするのがよく理解できてないんですね
特にテクスチャの扱いが多分よく分かってないので、勉強しときます
ポリゴンに単純にテクスチャ貼るところまでは理解できてる(と思う)んですが
2011/04/04(月) 00:57:26.26ID:EfnOmkqq
だったら素直にD3DXのSprite使えばいいよ
表示範囲内のタイルを毎フレーム全て描画しなおせばいいだけ
一見効率悪そうだけど>>878よりは遥かに効率が良い
2011/04/04(月) 01:16:24.28ID:EfnOmkqq
一つのレイヤ内で使われるタイルを一つの大きなテクスチャにまとめておいて
レイヤ全体を一つの図形とみなしてテクスチャ座標でマッピングするのが
多分一番速くて効率の良い方法
スプライトはそれと同じようなことを自動でやってくれるから
毎フレーム大量の描画を行ってもわりと速い
886名前は開発中のものです。
垢版 |
2011/04/23(土) 16:35:48.28ID:CvPk8hGJ
ゲーム制作メンバーを募集しています。

http://yuzuru.2ch.net/test/read.cgi/ff/1298538064/l50
http://www31.atwiki.jp/fftsukurou/

・最近のFFが嫌い
・昔のFFが好き

どちらかに当てはまれば誰でも結構です。
昔ながらのFFをみんなで作りましょう。
2011/04/28(木) 16:06:00.10ID:odTXZLNY
募集要項の大雑把さにフイタ
2011/05/05(木) 11:29:11.77ID:Zs6VE70C
うん?
889名前は開発中のものです。
垢版 |
2011/07/08(金) 21:16:59.44ID:nxuNDnA1
マップ画面から事ある事に戦闘画面に行くよくあるRPGを作ろうと思うんだけど、
戦闘画面を呼び出すのはマップ画面の中で関数呼び出す感じにするもんなの?
それともデータ保存してマップ画面終了してから戦闘画面に行くもんなの?
作る時は前者が楽だけど、メモリがちょっと心配。
2011/07/08(金) 21:29:25.17ID:TDxk0CvB
メッセージループ内でシーン分岐
2011/07/08(金) 21:34:45.63ID:nxuNDnA1
ああ、やっぱそれか……ありがとう。
2011/07/13(水) 17:30:26.96ID:7GbeQNs3
> それともデータ保存してマップ画面終了してから戦闘画面に行くもんなの?

毎回状態を記憶した一時セーブデータみたいなの書き出して読み込んで、
オブジェクトの生成と破棄とリソースの読み込みと開放してまた再現するって事?
その処理を作ってテストするのが大変そうだなぁ…
所謂普通のセーブデータと共用できればマシそうだけど…
仕様にもよるけど、マップ画面でのbgmを元の位置から再生したい時とかも少し面倒だね。
イベントなんかの途中で戦闘が始まるようなのは復元するの大変そうだなぁ…

どんなゲームなのか判らないから一概には言えないけど、
メモリなんてせいぜい該当マップで利用する敵グラや音のリソースが+されるだけなんだし、
そこまで気にする程でも無いような。

昨今のPC事情で考えたらCPUやメモリの容量は異常だよね。
10万満たない簡素なPCでも凄い積んでる。
ところがHDアクセスはまだまだ遅いんだよね。
だから前者でいいんでね?

> 戦闘画面を呼び出すのはマップ画面の中で関数呼び出す感じにするもんなの?

> メッセージループ内でシーン分岐

要するにマップ画面に戦闘画面への遷移を固定化するコードを持たさないで部品化した方がいいよねって話かと。
方法はいろいろあって、FSM(有限オートマトン)やstateパターンでシーン単位で切り替えるのが有名だけど、
遷移を管理する側にごちゃごちゃさせたくないなら、マップと戦闘を保持したクラスを用意してやれば済む話だよね。
つーか別に仕様が完全固定化されてるなら戦闘からマップ直接呼んでもいいと思うよ。
あの手の技法なんて納期とか変更とかに厳しい世界の人たちが使ってる苦肉の策なんだしw
難しい事や汎用的な事は手段であって、それが目的化するよりはゲームが動くほうがいいよね。

それからこれも仕様によるけど、
所謂シーン単位での完全切り替えだとマップの上に戦闘を描くスタイルできないけどいいの?
あとエンカウントのアニメーションなんか必要な場合、マップ画面側にその処理だけが残るとかキモクない?
2011/07/14(木) 16:32:39.19ID:0xB3ByY3
ふぅ…
894名前は開発中のものです。
垢版 |
2011/12/06(火) 13:22:55.40ID:oDkZLgbY
あげ
2012/03/26(月) 23:19:50.12ID:q+Fv8Yng
>>889
グラフィック関連はさすがに解放すると思う
でもドラクエみたいな2Dロープレなら何をどう作ってもメモリ不足なんてありえない

もう1つの質問の意図はマップ画面の下位に戦闘画面が来るか
それともマップ画面と戦闘画面を同じ立場において別途切り替える機構を作るかっていう問題だと思うけど
何らかのイベントやミニゲームなどで戦闘シーンを使う場合に上下関係が密接に関係してると
後で再利用しづらいのにで戦闘画面は独立させておいたほうがいいと思う。

2012/05/10(木) 12:17:40.31ID:CvbrCj71
FFよりダンマスみたいなの作ってよ
いっとくけどMSX版の方じゃないよw
2012/08/23(木) 21:04:32.49ID:8Fyjiw0F
MSXのダンジョンマスターをオンライン対応でリメイクして欲しいけど

スレ違いだし他力本願だねw
2012/09/07(金) 19:10:16.76ID:M4WerZHY
あげ
2012/09/16(日) 21:05:26.04ID:3z6vfuIt
ダンマスならRTC版じゃいかんのか?
900あずにゃん ◆PaaSYgVvtw
垢版 |
2012/11/29(木) 18:47:56.93ID:T/exNI7l
c始めたばかりなのですが質問です。

tp//codepad.org/WsNDfYIs

これをビルドしたら実行結果が
a = 1
&a = 18ff44
*pa = 1
&pa = 18ff3c
b = 1

と表示されたんですが&aと&paが何故こう表示されるのか分かりません
16進数で表示される事は分かるんですが
printf("&pa = %04x\n",&pa); 
実行結果が18ff3c
これが特に分かりません^^;
数学的に考えるとpa=&a;でアドレスがaに代入されるからaの16進数表示に
ならないんですか?
仕組みはよく分からなくてどなたか教えて下さい。

まずは基礎から勉強してるので宜しくです。
まずはcからなのでc+はまだ先のことですが^^;
ゲ制作も遠い道のりです。。。
2012/11/29(木) 19:15:49.60ID:f6gZcj+t
paのアドレスじゃん
2012/12/01(土) 19:58:04.77ID:CrVsmJCK
>>900

codepad.org/qZh2vLXf
2012/12/01(土) 20:18:25.61ID:CrVsmJCK
>>900
ごめん、やっぱこっちで
codepad.org/UB5JFPnU
904名前は開発中のものです。
垢版 |
2012/12/28(金) 09:37:26.68ID:8KDAkRIs
ズルするならマップでエンカウント直前のスクリーンを保持しておいて、戦闘画面の背景にあてれば出来るね。
動くマップチップで戦闘中も動かしたいなら見えてる部分をきちんとしたデータで渡して戦闘シーンで再構築しないといけないけどたぶん難しくないか。
やっぱマップと戦闘だと載せるUI違うから分けた方が見やすくなるんじゃないかと思ってる。
背景がマップだと戦闘場面が戦闘UIという意識でマップにのっかってるって感覚が強くなりそうだから一緒に書くのが自然に思えなくもないけど、
ほかのシーンは分けてるのにマップと戦闘はくっついてるというのは汎用的ではないような気がする。
でも面倒になったら分けない。
905名前は開発中のものです。
垢版 |
2015/10/16(金) 10:06:10.59ID:c5lx3m67
>>1は消息不明?

DXライブラリだけど
俺もアクション、シューティングと何作か作って来たので
そろそろRPG作ってみたいんだけど、
膨大になるゲーム中の台詞を合理的に管理する方法が思い付かないんだよね。
それが解決するなら重い腰あげられそうなんだけど。。
2015/10/23(金) 21:15:34.15ID:yK+GV+yo
あえて一度ツクールなりウディタなり触ってみればいい
907名前は開発中のものです。
垢版 |
2017/01/31(火) 20:51:48.28ID:D6yECHIX
age
908名前は開発中のものです。
垢版 |
2017/12/31(日) 22:42:19.20ID:/rN76OKL
簡単にお金が稼げる方法興味ある人だけ見てください。

グーグル検索⇒『来島のモノノリウエ』

LWCSBVOCMR
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況