- 1 名前:じっち [04/11/23 07:14:50 ID:CCsv+84e.net]
- 少し前まではHSPで作ろうと思っていたのですが、HSPでRPGゲームを作るのは難しいらしいので、C++で作ろうと思います。
C++のプログラミングは初めてですので、みんなの力が必要です。 お願いします。 あと質問ですが、C++ってMMORPGつくれますか?
- 867 名前:名前は開発中のものです。 mailto:sage [2011/03/29(火) 23:19:08.33 ID:W0uoKekZ.net]
- これだ!っていうデータ構造なんて無いんじゃないかな
ゲームごとにチューニングする必要があるわけで パフォーマンスに余裕があればリレーショナルデータベースとか使っちゃうのかな
- 868 名前:名前は開発中のものです。 mailto:sage [2011/03/30(水) 00:26:46.80 ID:jEpUZgct.net]
- アイテムのインスタンスに持たせた方がいいんじゃないかなぁ
手持ちの装備を強化できるようなシステムが追加したくなった場合とかやりやすいし
- 869 名前:名前は開発中のものです。 mailto:sage [2011/03/30(水) 01:14:37.31 ID:fixmLHL7.net]
- >>865
仕様に沿って素直なコードを組むのが最強。 リソース制約が顔を出しにくくなった「今時」ならこれでいいでしょ。 "Premature optimization is the root of all evil."
- 870 名前: ◆MBbNHCnf2M mailto:sage [2011/03/30(水) 20:18:14.12 ID:eH7gPhm2.net]
- >>867-869
やっぱりデータが変化するようなものだと、インデックスだけで 管理は無理ですね。よく考えたら当たり前の事だった。 まあ、今ならアイテム程度のバイナリデータいくつ持ってても 問題無いか。携帯とかモバイル環境だと制限あるかもしれないけど そんな環境だと、そもそもそれ程大規模のゲームも作らないだろうし。
- 871 名前:名前は開発中のものです。 mailto:sage [2011/04/03(日) 21:06:06.82 ID:t0UP3s0y.net]
- しーん
- 872 名前: ◆MBbNHCnf2M mailto:sage [2011/04/03(日) 21:10:34.12 ID:wtGWHPRo.net]
- >>871
ちょうど今書こうと思ってた所です 今週は、風邪をひいてあまり集中して出来なかったので とりあえず、ポリゴン出したりテクスチャ貼ったりというのは理解したと思う これで音を出す以外の大体の事は何とかなるような気がする
- 873 名前: ◆MBbNHCnf2M mailto:sage [2011/04/03(日) 21:17:09.28 ID:wtGWHPRo.net]
- で、マップスクロールについて考えていたんですけど
d.hatena.ne.jp/aidiary/20040918/1251373370 上記のサイトのRPGの項目にあるような、マップ全体を裏画面に描画して そこから表示画面分だけ切り出すという方法が結構検索していると 見つかるのに驚いたわけです これって結構スタンダードな方法なのかな? いくらメモリを気にしなくてもいいPC環境とはいえ、マップ全体を描画って あり得るのだろうか、少なくとも市販作品では無いような気がする
- 874 名前: ◆MBbNHCnf2M mailto:sage [2011/04/03(日) 21:23:57.58 ID:wtGWHPRo.net]
- 昔はマップスクロールというと、RPG作成において一番の難所で
これが出来たらもうRPGは出来たも同然というような感じだった 特に私が使っていたMSXなんかだと、ハードウェアスクロール機能が 縦方向しかなかったので、1ドットスクロールは厳しかった 本当に最初の頃は、レイヤという概念も無くて(知らなかっただけかも) そもそもレイヤをいくつも重ね合わせられるほどの処理速度もメモリも無かった
- 875 名前:名前は開発中のものです。 mailto:sage [2011/04/03(日) 21:27:16.75 ID:/2gPwasz.net]
- 昔とかどうでもいい話してないでDirectX使えよ。
無理ならDXライブラリでも使え
- 876 名前: ◆MBbNHCnf2M mailto:sage [2011/04/03(日) 21:32:21.82 ID:wtGWHPRo.net]
- そこで、どういう風にマップスクロールを実装していたかと言うと
裏画面に表示画面より、縦・横共にマップチップ1個分大きいマップを描画し そこから1ドットずつずらしてコピーするという方法だった ページフリッピングも出来ないわけではなかったけど、VRAM容量を考えると そんなもったいない方法は許されなかった 今でも縦・横でマップチップ一個分だけの裏画面からコピーするのが 定番だと思っていたけれど、マップ全体からコピーするという方法が 多く見つかるというのは、そっちの方が定番のかな
- 877 名前:名前は開発中のものです。 mailto:sage [2011/04/03(日) 21:34:32.01 ID:t0UP3s0y.net]
- >>873
256*256のマップだけで256MB消費ってのは普通じゃないと思う
- 878 名前: ◆MBbNHCnf2M mailto:sage [2011/04/03(日) 22:04:18.84 ID:wtGWHPRo.net]
- >>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ドットずつコピーするのが難しそうな気が もっとテクスチャについて勉強する必要がありそう
- 879 名前:名前は開発中のものです。 mailto:sage [2011/04/03(日) 22:06:51.98 ID:/2gPwasz.net]
- あのさ?座標にマイナスを指定できるの知ってる?
- 880 名前: ◆MBbNHCnf2M mailto:sage [2011/04/03(日) 22:36:46.84 ID:wtGWHPRo.net]
- >>879
失礼、連続で5回以上書き込めないようで テクスチャ座標に負の値が使えるのは知ってます それをどこに使うんですか? まだ勉強中なので教えてください
- 881 名前:名前は開発中のものです。 mailto:sage [2011/04/03(日) 23:07:20.50 ID:mqRgK4Gz.net]
- あなたの文章を読んでいて思ったのだが。
まさか、一枚のテクスチャに複数のレイヤーを重ねて最終的に 画面に描画しようとしている? DirectXのバージョンをいくつ使うか知らないけど いくらなんでも概念が古すぎるよ。 (DirectDrawとか使おうとしてる?) WindiwsXPターゲットのDirectX9ならポリゴンまたはスプライト使えば解決できることを わざわざ難しい方法でやろうとしているように見える。 ここで説明するのは無理があるからいくつかサイトのURL貼っとく DirectX8の解説サイト rina.jpn.ph/~rance/directx8/index.html Microsoft本家のゲームプログラミング入門資料(数学の知識必須) msdn.microsoft.com/ja-jp/academic/cc998598 まさかとは思うがDirectX7ならこの辺り rina.jpn.ph/~rance/directx7/directx7study/index.html 入門者ならDirectXと言わずDXライブラリを使うのもありだと思う。 DXライブラリを使った解説サイト dixq.net/g/ あと、ネットの情報は色々不足な部分や整理されていないから 一冊、入門書を買うことをお勧めする。
- 882 名前:879 mailto:sage [2011/04/03(日) 23:08:21.00 ID:mqRgK4Gz.net]
- あれID変ったw
- 883 名前: ◆MBbNHCnf2M mailto:sage [2011/04/03(日) 23:49:00.27 ID:wtGWHPRo.net]
- 全然連続で書き込めない、この板人が少な過ぎるのか・・・
>>881 DirectX 9.0c でやろうと思ってます つまり、DirectDrawでなくて、DirectX Graphicsですね そのサイトも読んだんですけど、多分ポリゴンにテクスチャに貼り付けて 2Dの処理をするのがよく理解できてないんですね 特にテクスチャの扱いが多分よく分かってないので、勉強しときます ポリゴンに単純にテクスチャ貼るところまでは理解できてる(と思う)んですが
- 884 名前:名前は開発中のものです。 mailto:sage [2011/04/04(月) 00:57:26.26 ID:EfnOmkqq.net]
- だったら素直にD3DXのSprite使えばいいよ
表示範囲内のタイルを毎フレーム全て描画しなおせばいいだけ 一見効率悪そうだけど>>878よりは遥かに効率が良い
- 885 名前:名前は開発中のものです。 mailto:sage [2011/04/04(月) 01:16:24.28 ID:EfnOmkqq.net]
- 一つのレイヤ内で使われるタイルを一つの大きなテクスチャにまとめておいて
レイヤ全体を一つの図形とみなしてテクスチャ座標でマッピングするのが 多分一番速くて効率の良い方法 スプライトはそれと同じようなことを自動でやってくれるから 毎フレーム大量の描画を行ってもわりと速い
- 886 名前:名前は開発中のものです。 [2011/04/23(土) 16:35:48.28 ID:CvPk8hGJ.net]
- ゲーム制作メンバーを募集しています。
yuzuru.2ch.net/test/read.cgi/ff/1298538064/l50 www31.atwiki.jp/fftsukurou/ ・最近のFFが嫌い ・昔のFFが好き どちらかに当てはまれば誰でも結構です。 昔ながらのFFをみんなで作りましょう。
- 887 名前:名前は開発中のものです。 mailto:sage [2011/04/28(木) 16:06:00.10 ID:odTXZLNY.net]
- 募集要項の大雑把さにフイタ
- 888 名前: 忍法帖【Lv=18,xxxPT】 mailto:sage [2011/05/05(木) 11:29:11.77 ID:Zs6VE70C.net]
- うん?
- 889 名前:名前は開発中のものです。 [2011/07/08(金) 21:16:59.44 ID:nxuNDnA1.net]
- マップ画面から事ある事に戦闘画面に行くよくあるRPGを作ろうと思うんだけど、
戦闘画面を呼び出すのはマップ画面の中で関数呼び出す感じにするもんなの? それともデータ保存してマップ画面終了してから戦闘画面に行くもんなの? 作る時は前者が楽だけど、メモリがちょっと心配。
- 890 名前:名前は開発中のものです。 mailto:sage [2011/07/08(金) 21:29:25.17 ID:TDxk0CvB.net]
- メッセージループ内でシーン分岐
- 891 名前:名前は開発中のものです。 mailto:sage [2011/07/08(金) 21:34:45.63 ID:nxuNDnA1.net]
- ああ、やっぱそれか……ありがとう。
- 892 名前:名前は開発中のものです。 mailto:sage [2011/07/13(水) 17:30:26.96 ID:7GbeQNs3.net]
- > それともデータ保存してマップ画面終了してから戦闘画面に行くもんなの?
毎回状態を記憶した一時セーブデータみたいなの書き出して読み込んで、 オブジェクトの生成と破棄とリソースの読み込みと開放してまた再現するって事? その処理を作ってテストするのが大変そうだなぁ… 所謂普通のセーブデータと共用できればマシそうだけど… 仕様にもよるけど、マップ画面でのbgmを元の位置から再生したい時とかも少し面倒だね。 イベントなんかの途中で戦闘が始まるようなのは復元するの大変そうだなぁ… どんなゲームなのか判らないから一概には言えないけど、 メモリなんてせいぜい該当マップで利用する敵グラや音のリソースが+されるだけなんだし、 そこまで気にする程でも無いような。 昨今のPC事情で考えたらCPUやメモリの容量は異常だよね。 10万満たない簡素なPCでも凄い積んでる。 ところがHDアクセスはまだまだ遅いんだよね。 だから前者でいいんでね? > 戦闘画面を呼び出すのはマップ画面の中で関数呼び出す感じにするもんなの? ↓ > メッセージループ内でシーン分岐 要するにマップ画面に戦闘画面への遷移を固定化するコードを持たさないで部品化した方がいいよねって話かと。 方法はいろいろあって、FSM(有限オートマトン)やstateパターンでシーン単位で切り替えるのが有名だけど、 遷移を管理する側にごちゃごちゃさせたくないなら、マップと戦闘を保持したクラスを用意してやれば済む話だよね。 つーか別に仕様が完全固定化されてるなら戦闘からマップ直接呼んでもいいと思うよ。 あの手の技法なんて納期とか変更とかに厳しい世界の人たちが使ってる苦肉の策なんだしw 難しい事や汎用的な事は手段であって、それが目的化するよりはゲームが動くほうがいいよね。 それからこれも仕様によるけど、 所謂シーン単位での完全切り替えだとマップの上に戦闘を描くスタイルできないけどいいの? あとエンカウントのアニメーションなんか必要な場合、マップ画面側にその処理だけが残るとかキモクない?
- 893 名前:名前は開発中のものです。 mailto:sage [2011/07/14(木) 16:32:39.19 ID:0xB3ByY3.net]
- ふぅ…
- 894 名前:名前は開発中のものです。 [2011/12/06(火) 13:22:55.40 ID:oDkZLgbY.net]
- あげ
- 895 名前:名前は開発中のものです。 mailto:sage [2012/03/26(月) 23:19:50.12 ID:q+Fv8Yng.net]
- >>889
グラフィック関連はさすがに解放すると思う でもドラクエみたいな2Dロープレなら何をどう作ってもメモリ不足なんてありえない もう1つの質問の意図はマップ画面の下位に戦闘画面が来るか それともマップ画面と戦闘画面を同じ立場において別途切り替える機構を作るかっていう問題だと思うけど 何らかのイベントやミニゲームなどで戦闘シーンを使う場合に上下関係が密接に関係してると 後で再利用しづらいのにで戦闘画面は独立させておいたほうがいいと思う。
- 896 名前:名前は開発中のものです。 mailto:sage [2012/05/10(木) 12:17:40.31 ID:CvbrCj71.net]
- FFよりダンマスみたいなの作ってよ
いっとくけどMSX版の方じゃないよw
- 897 名前:名前は開発中のものです。 mailto:sage [2012/08/23(木) 21:04:32.49 ID:8Fyjiw0F.net]
- MSXのダンジョンマスターをオンライン対応でリメイクして欲しいけど
スレ違いだし他力本願だねw
- 898 名前:名前は開発中のものです。 mailto:age [2012/09/07(金) 19:10:16.76 ID:M4WerZHY.net]
- あげ
- 899 名前:名前は開発中のものです。 mailto:sage [2012/09/16(日) 21:05:26.04 ID:3z6vfuIt.net]
- ダンマスならRTC版じゃいかんのか?
- 900 名前:あずにゃん ◆PaaSYgVvtw [2012/11/29(木) 18:47:56.93 ID:T/exNI7l.net]
- 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+はまだ先のことですが^^; ゲ制作も遠い道のりです。。。
- 901 名前:名前は開発中のものです。 mailto:sage [2012/11/29(木) 19:15:49.60 ID:f6gZcj+t.net]
- paのアドレスじゃん
- 902 名前:名前は開発中のものです。 mailto:sage [2012/12/01(土) 19:58:04.77 ID:CrVsmJCK.net]
- >>900
codepad.org/qZh2vLXf
- 903 名前:名前は開発中のものです。 mailto:sage [2012/12/01(土) 20:18:25.61 ID:CrVsmJCK.net]
- >>900
ごめん、やっぱこっちで codepad.org/UB5JFPnU
- 904 名前:名前は開発中のものです。 [2012/12/28(金) 09:37:26.68 ID:8KDAkRIs.net]
- ズルするならマップでエンカウント直前のスクリーンを保持しておいて、戦闘画面の背景にあてれば出来るね。
動くマップチップで戦闘中も動かしたいなら見えてる部分をきちんとしたデータで渡して戦闘シーンで再構築しないといけないけどたぶん難しくないか。 やっぱマップと戦闘だと載せるUI違うから分けた方が見やすくなるんじゃないかと思ってる。 背景がマップだと戦闘場面が戦闘UIという意識でマップにのっかってるって感覚が強くなりそうだから一緒に書くのが自然に思えなくもないけど、 ほかのシーンは分けてるのにマップと戦闘はくっついてるというのは汎用的ではないような気がする。 でも面倒になったら分けない。
- 905 名前:名前は開発中のものです。 [2015/10/16(金) 10:06:10.59 ID:c5lx3m67.net]
- >>1は消息不明?
DXライブラリだけど 俺もアクション、シューティングと何作か作って来たので そろそろRPG作ってみたいんだけど、 膨大になるゲーム中の台詞を合理的に管理する方法が思い付かないんだよね。 それが解決するなら重い腰あげられそうなんだけど。。
- 906 名前:名前は開発中のものです。 mailto:sage [2015/10/23(金) 21:15:34.15 ID:yK+GV+yo.net]
- あえて一度ツクールなりウディタなり触ってみればいい
- 907 名前:名前は開発中のものです。 [2017/01/31(火) 20:51:48.28 ID:D6yECHIX.net]
- age
|

|