- 1 名前:名前は開発中のものです。 [2007/11/02(金) 01:53:08 ID:M/fkomaJ]
- C++の勉強をかねてFCのドラクエっぽい感じのRPGを作りたいんです。
しょっぱなからつまずいています、知恵を貸してください。 <<使用しているもの>> BorlandC++ DXライブラリ ドラクエフォント DXライブラリはここ ttp://homepage2.nifty.com/natupaji/DxLib/index.html ドラクエフォントはここ ttp://slime4.hp.infoseek.co.jp/font/font.html
- 624 名前:名前は開発中のものです。 mailto:sage [2008/03/07(金) 21:53:13 ID:hQbuz1ma]
- >621
>static constじゃないのにクラス定義で初期化は不可能。 constは関係ねーだろ。 静的オブジェクトが生成されるタイミングほんとにわかってんのかよ。
- 625 名前:1 [2008/03/08(土) 00:44:08 ID:D+4Cnx/D]
- 言いたいことはなんとなく伝わってきたので大丈夫です。
たしかにシングルトンパターンをイメージしてました。 全部staticでできてるクラスってシングルトンパターンと変わらない気がしませんか? 仮にインスタンス化しても全てのメンバ変数はどのインスタンスから見ても同じものになるから。 メモリの無駄遣いになりそうな感じはありますが。 やっちゃいけないstaticの使い方をしているところは確かにあります。 FieldMapクラスのms_xとms_yです。 いけない理由も分かってるつもりです。 どうやってstaticじゃないメンバ変数に変えようか悩んでて、そのまま忘れて放置プレイになってました。 今、手をつけてる箇所の実装終わったらそこ修正してみます。
- 626 名前:名前は開発中のものです。 [2008/03/08(土) 01:36:29 ID:0CP0oXDr]
- 1の熱情に感動した。
こまめにソースアップしてるとこも好感度高いよ高いよー。
- 627 名前:名前は開発中のものです。 mailto:sage [2008/03/08(土) 09:21:15 ID:U6M1Sa0y]
- 619の言うように、staticメンバ変数の多用はよくない。シングルトンパターンも多用しないほうがよいよ。
理由は分かってると思うけど。581も参照のこと。 まずはstaticじゃなきゃ実現できないのかよく考えること。 おそらくstaticじゃなきゃいけない場合はほとんどないはず。 自分はC++職業プログラマだけど、staticメンバ変数を使うことはまずない。 面倒くさいけど、まだまだ規模が大きくなるんだから しっかりやっといたほうがいいよ。 大きくなればなるほど痛い目みるから。
- 628 名前:名前は開発中のものです。 mailto:sage [2008/03/08(土) 09:41:50 ID:U6M1Sa0y]
- VisualEffectsクラスについてアドパイス(提案)
1.まずメンバ変数、メンバ関数を全て非staticにする メンバ変数の初期化はコンストラクタで行う。 2.VisualEffectsクラスのインスタンスをどこで作成するか考える。 プログラムの保守性の観点からは以下の順が良い。 (1)VisualEffectsのメンバ関数を呼び出してる部分で毎回作成する。 (2)VisualEffectsを使用するクラスのメンバ変数とする (3)WinMain()で作成して、VisualEffectsを使用するクラスに参照orポインタで渡す (4)singletonパターンを使う。(詳しくは後述) インスタンスの生成回数は以下のとおり (1) >= (2) >= (3) = (4) =1 まず(1)から順に試してみて処理速度に問題があれば(3)か(4)にすればいい。
- 629 名前:名前は開発中のものです。 mailto:sage [2008/03/08(土) 09:51:02 ID:U6M1Sa0y]
- Singletonパターンを使ったVisualEffectsクラスの例
VisualEffects.h// ヘッダファイル作った方がいいよ。 class VisualEffects{ int GrHandle1; int hBlendGraph; // コンストラクタをprivateに VisualEffects(); public: void CaptureScreen(); void BlackOut(); void SpellFlash(); void EffectErase(); static VisualEffects& GetInstance(); // ここがポイント };
- 630 名前:名前は開発中のものです。 mailto:sage [2008/03/08(土) 09:51:58 ID:U6M1Sa0y]
-
--VisualEffects.cpp--- // コンストラクタで変数を初期化 VisualEffects::VisualEffects(void) : GrHandle1(-1), hBlendGraph(LoadBlendGraph("GameData/EffectData/BlendGraph.bmp")) { } // 他のメンバ関数はそのまま。 VisualEffects& VisualEffec::GetInstance() { static VisualEffects instance; return instance; } 呼び出し方はこんな感じ VisualEffects::GetInstace().BlackOut(); 詳しくはググってみて。
- 631 名前:名前は開発中のものです。 mailto:sage [2008/03/08(土) 09:56:59 ID:U6M1Sa0y]
- 念のためだが、620やメンバ変数/関数が全部staticのクラスは
singletonパターンとは呼ばない。やりたいことは似てるけど。
- 632 名前:名前は開発中のものです。 mailto:sage [2008/03/08(土) 11:23:41 ID:e3SgUCNB]
- private:を書かないなんてキモいな。
あとコンストラクタでファイル読み込みなんてしない方がいいのでは
- 633 名前:名前は開発中のものです。 mailto:sage [2008/03/08(土) 11:37:13 ID:d+vrDc9c]
- どっからでも使いたいからシングルトンにするんだったらグローバル変数と一緒
- 634 名前:名前は開発中のものです。 mailto:sage [2008/03/08(土) 14:26:33 ID:eQ2FMe8O]
- >>624
タイミングの話じゃない そんなものハナから指定できないからな constならそこで初期値を与えてもコンパイルできるという話。
- 635 名前:名前は開発中のものです。 mailto:sage [2008/03/08(土) 16:01:25 ID:njb2fD55]
- さすがにVisualEffectクラスにシングルトンパターンに適用するのは
やりすぎかと。 要件としては、 1)VisualEffectのインスタンスは複数あってよい。 2)ただし、複数のVisualEffectのインスタンスから 参照されるhBlendGraphは必ずひとつ 3)hBlendGraphは外部からアクセスできない な感じとして、 hBlendGraphを管理するクラスを a)VisualEffectのprivateな内部クラス(要件3) b)シングルトンパターン適用(要件1・2) として作るのがいいと思うがどうよ。
- 636 名前:名前は開発中のものです。 mailto:sage [2008/03/08(土) 16:40:27 ID:U6M1Sa0y]
- >>635
よく分からないな。 要件1の「VisualEffectのインスタンスは複数あってよい」であればSingletonにする必要がない。 この要件であれば620のやり方(Proxyパターンに近い)が自然と思うけど。 hBlendGraphを管理するクラスを作る方がやり過ぎに感じる。 >>632 >private:を書かないなんてキモいな。 好き嫌いの問題。よく見る。自分は書くが、なくても気にならない。 >あとコンストラクタでファイル読み込みなんてしない方がいいのでは 一概にそうは言えないけど、今回についてはそう思う。原型をなるべく変えないためにこうしたが、 もうちょっとやりようがあると思う。
- 637 名前:名前は開発中のものです。 mailto:sage [2008/03/08(土) 17:06:53 ID:U6M1Sa0y]
- FieldMapクラスのms_xとms_yをどう非staticにするかだけど、PlayerParty::DrawParty と PlayerParty::move で呼んでるFieldMap::getMsx()とFieldMap::getMsy()を引数で渡すようにすれば
解決すると思うよ。呼び出し側ではfm.getMsx(), fm.getMsy()を使えばいい。 とりあえず直して動かしたけど大丈夫っぽい。 FieldMapのコンストラクタでms_xとms_yを初期化するのを忘れないように。
- 638 名前:名前は開発中のものです。 mailto:sage [2008/03/08(土) 17:44:56 ID:U6M1Sa0y]
- >>635,636
よく分からないこともなかった。b)に要件1が書いてあったので勘違いした。 そのやり方でも別にいいと思う。 自分ならVisualEffects::BlackOut()のループの前で毎回LoadBlendGraphする。 でSingletonは使わないで毎回インスタンス生成する。(628の2(1)の少し変形) ダンジョンや城から出るときに呼ぶ関数で、そんなに頻繁に使うわけじゃないからファイル読み込み時間はそんなに問題じゃなさそうだから。 問題になったらそのときにリファクタリングすればいいし。 まあ正解はないので ハカセは今まで出てきた中から、自分がいいと思う方法でやればいいかと。
- 639 名前:名前は開発中のものです。 mailto:sage [2008/03/08(土) 22:39:15 ID:b0Kr/BOB]
- また>1未満の屑がネット弁慶かよ
- 640 名前:1 [2008/03/09(日) 01:21:21 ID:ZtBr13OB]
- みんないろいろありがとう。
VisualEffectクラスはシングルトンで行くことにします。 ちなみにSpellFlashはじゅもんを使ったときのあの光です。 他にもいろいろな場面で使うことが予想されるので インスタンスを複数作る必要もないし ファイルの読み込みは一回で済ませるようにしたほうがよさそうだからです。 効果音担当のSoundEffectクラスを作ろうとかも思ってるんですが この二クラスを集約するEffectクラスとかにまとめたほうがいいのかな? 音関連もそろそろ実装してみたいと思う今日この頃。 効果音のファイルを用意するとしたら… 肉声しかないか!?
- 641 名前:名前は開発中のものです。 mailto:sage [2008/03/09(日) 03:38:41 ID:detWKevS]
- ttp://www.soundsnap.com/
ここなんかどうでしょう? ソース参考にさせてもらいます。 初心者なんで。
- 642 名前:名前は開発中のものです。 mailto:sage [2008/03/09(日) 07:06:58 ID:ijlbToFV]
- 単豚
- 643 名前:名前は開発中のものです。 mailto:sage [2008/03/09(日) 09:45:32 ID:jKvtfIDT]
- ソース流用させてもらいます。初心者なんで。
- 644 名前:名前は開発中のものです。 mailto:sage [2008/03/09(日) 13:24:24 ID:tApCcfwl]
- ソース拝借させてもらいます。貧乏なんで。
- 645 名前:名前は開発中のものです。 mailto:sage [2008/03/09(日) 14:24:40 ID:HWkAMpo4]
- ソースかけさせてもらいます。トンカツなんで。
- 646 名前:名前は開発中のものです。 mailto:sage [2008/03/09(日) 16:53:37 ID:bez1/1Bt]
- 単屯のほうがいいな
- 647 名前:名前は開発中のものです。 mailto:sage [2008/03/09(日) 17:26:03 ID:llJV2/qF]
- you,ドラクエオンラインにしちゃいなよ!!
- 648 名前:1 [2008/03/10(月) 22:47:54 ID:h96LME7o]
- なんかとんかつ食べたくなってきた。
明日はとんかつにしよう。 カツ丼大好きだけど、明日はカツとキャベツを皿によそって、ソースとマヨネーズとレモン汁かけて食べる。 とりあえずソースうp tp://sakuratan.ddo.jp/uploader/source/date73642.lzh >>629-630のソースだとinstanceがローカル変数だから、 BlackOut()とかの変数からからinstanceが見れないっぽかったのでちょっと直して使ってます。 staticなローカル変数は関数が最初に呼び出された時にだけコンストラクタが呼び出される。 って言うのは勉強になりますた。 getInstance()されるたびに条件分岐が呼ばれるので効率がいいとはいえないかもしれませんが 気にならない程度だと思うのでよしとします。(これよりひどい条件分岐とかたくさん使ってるし) こういうのって関数ポインタ使えば条件分岐無しでいけるのか、といまさらながら思いつきました。 サーバーサイドプログラムだとこういうの使って無駄を削らなくちゃいけないんでしょうね、きっと。 >>647 MOも興味ありますが、コマンド式のRPGを複数でやるのにそれほど魅力が感じられないので いろいろ仕様も煮詰めなくちゃだし。 これが終わったら僕なりのオンラインドラクエを作ってみたいって思ってたりはします。 そういえばここの↓前スレの88さんは元気だろうか? tp://pc11.2ch.net/test/read.cgi/gamedev/1198652802/l50
- 649 名前:名前は開発中のものです。 mailto:sage [2008/03/11(火) 03:13:27 ID:fYlzNlBT]
- 有能だが頑固な>>1だなw
でもまあ、今は完成させることを目標にした方がいいのかもね がんばれ〜
- 650 名前:名前は開発中のものです。 mailto:sage [2008/03/11(火) 04:30:41 ID:tDxIwUFw]
- >>1の成長っぷりはすごいなぁ
始めた頃は「自分より初心者かな!」と思ってたんだが 今じゃすっぱり追い抜かれてるわ
- 651 名前:名前は開発中のものです。 [2008/03/11(火) 11:52:00 ID:bjWYhTwI]
- そうだお! 完成させるのえらいのだお!
>>1はようやるわー。 ソースの定期的なうpも好感度たかいよねー。
- 652 名前:名前は開発中のものです。 mailto:sage [2008/03/11(火) 15:12:26 ID:eMM3dXjR]
- >>648 getInstance() の分岐が嫌なら createInstance() のようなメソッド用意してはどうでしょ。
- 653 名前:名前は開発中のものです。 mailto:sage [2008/03/11(火) 20:05:38 ID:Tpg7o3iz]
- >>BlackOut()とかの変数からからinstanceが見れないっぽかったのでちょっと直して使ってます。
BlackOut()とかの変数からからinstanceを見る必要はないのでは? staticなローカル変数を勘違いしてないかな? ローカル変数だけど、一度生成したらプログラム終了まで生き続ける。 ハカセの書いてるように最初に通ったときに一度しか生成されないので、 bmp読み込みは1度ですむ。 多分629,630で問題ないと思うよ。 デバッグしたらわかるかも。
- 654 名前:名前は開発中のものです。 mailto:sage [2008/03/11(火) 20:19:22 ID:Tpg7o3iz]
- う〜ん。やっぱりなぜ629,630で問題があったのか分からないので教えて。
- 655 名前:名前は開発中のものです。 mailto:sage [2008/03/12(水) 01:06:46 ID:dycjFj7Y]
- >>1の言っている問題点は俺も理解できんが、
問題のあるソースなのは間違いない
- 656 名前:名前は開発中のものです。 mailto:sage [2008/03/12(水) 06:08:02 ID:6+05uqkx]
- Visual C++で開けないんじゃ論外だろ
エラーでまくり
- 657 名前:名前は開発中のものです。 mailto:sage [2008/03/12(水) 07:15:12 ID:s7+SbL9p]
- 656 「パクリたいけど俺の環境じゃ使えないよぉ(´;ω;`) 無能だからどうしていいかもわかんねえし(´;ω;`)」
- 658 名前:1 [2008/03/12(水) 08:02:25 ID:YbQGwFh7]
- BlackOut関数ではhBlendGraph変数を使いたいんですが、
hBlendGraphは普通のメンバ変数なので呼び出すにはインスタンスから呼び出す必要がありますよね? hBlendGraphがstaticなメンバ変数なら大丈夫だと思うのですが、 全プログラムを通して生成されるVisualEffectsクラスはstaticなinstance変数のみなので VisualEffects内のどの関数からもhBlendGraph変数が見れる必要があるのです。(使わない関数もあるけど) ここまで書いて気がついたけど、BlackOut関数内でgetInstance()を呼び出せばよかったのかOrz すまそ、吊ってくる。
- 659 名前:名前は開発中のものです。 mailto:sage [2008/03/12(水) 08:14:18 ID:5RY0OFRn]
- 悪いが658は意味不明だ。根本的な勘違いをしてる。でもうまく説明できる自信はないな。
とりあえず 655 の言うように問題のあるソースになってるので何とかしたほうがいい。 singletonはやめて、こうしたらどうだろう。 変更前の全てstaticな状態に戻し、今回追加した初期化関数を追加する。 WinMain など、適当な箇所で1回だけ初期化関数を呼ぶ。 ハカセの要望を満たせるし、理解しやすいと思うけど。
- 660 名前:名前は開発中のものです。 mailto:sage [2008/03/12(水) 08:29:14 ID:5RY0OFRn]
- >全プログラムを通して生成されるVisualEffectsクラスはstaticなinstance変数のみなので
インスタンスが生成されるか、またstatic/非staticか、とは無関係に、 VisualEffectsクラスからメンバ変数のhBlendGraphは見れる。 hBlendGraphのstatic/非staticに関わらずね。 インスタンス(オブジェクト)とクラスの関係を誤解してるんじゃないのかな。
- 661 名前:名前は開発中のものです。 mailto:sage [2008/03/12(水) 08:43:56 ID:5RY0OFRn]
- ×VisualEffectsクラスからメンバ変数のhBlendGraphは見れる。
○VisualEffectsクラスのメンバ関数からメンバ変数のhBlendGraphは見れる。
- 662 名前:名前は開発中のものです。 mailto:sage [2008/03/12(水) 10:47:50 ID:GnKR/8yc]
- 勉強になる流れですね。
シングルトンは結構、難しい話で >>630 氏の手法はシングルスレッドでは 上手く働きますが、マルチスレッドでどうかという話を効いた覚えがあります。 www.fides.dti.ne.jp/~oka-t/cpplab-singleton-1.html スレッドを考え始めると途端に複雑になるし、そもそも排他制御もしないと まともに使えないだろうと、、あまり考えたくない部分ではありますが。 僕としては、生成だけではなく解放タイミングの制御方法も明確ではないので static やシングルトンは、あまり好きではないですね…。
- 663 名前:名前は開発中のものです。 mailto:sage [2008/03/12(水) 15:41:42 ID:5RY0OFRn]
- >>662
まあ630以外でSingletonを実装したとしても、またSingletonじゃなくてもマルチスレッドで同一オブジェクトを参照すると、 色々考えないといけないことが出てくるので面倒だね。 今まで幾つかSingletonを使ったり見てきたりしたけど、適切だと思う場合は少ないな。 楽だからって理由がほとんど。自分は使わないようにしようと思ってる。 660を補足すると、BlackOut()内のhBlendGraphは、thisという自分自身の持つメンバ変数であり、veなどの特定のインスタンスの メンバ変数ではない。だからインスタンスがstaticか、とか一個しかない、とかは関係ない。 別にインスタンス一個もなくてもコンパイルできるでしょ。 これで分かるかな?
- 664 名前:662 mailto:sage [2008/03/12(水) 16:44:05 ID:GnKR/8yc]
- >>663
どうもです。通常はシングルスレッドで組んでいるでしょうし 手早く済ませる手段として十分ありではないかと思います。 スレッドのことは、マルチスレッドで組む時に十分考えると いいことですよね。 興味深い流れだったので思わず口を挟んでしまいました。^^; すみません。通りすがりの者でした。
- 665 名前:名前は開発中のものです。 mailto:sage [2008/03/12(水) 18:02:31 ID:5RY0OFRn]
- なんか自分中心のスレみたいになってきてしまってちょっと気が引けるが。。。
>>664 Singletonを使わないようにしているというのは、マルチスレッドだけが理由だけじゃないよ。 どちらかというと、Singletonはグローバル変数に近いというのが問題と思ってるから。 どこかで読んだ本で、「Singletonにするということは、インスタンスに対するアクセス範囲を考える義務を プログラマが放棄したといえる」という趣旨のことが書いてあって、そのとおりだと思った。 まあ他人に使っちゃダメという気はぜんぜんないけど。データや状態を保持しないクラスの場合は問題は起きにくいと思うし。 あと、シングルスレッドで済めばいいけど、そこそこの規模になるとマルチスレッドを避けられないことが多い。 このDQでも、時間がかかる処理があれば、部分的であれマルチスレッドが必要になると思うよ。
- 666 名前:1 [2008/03/12(水) 23:42:49 ID:YbQGwFh7]
- とりあえず自分が間違っていたことを謝罪します。すみませんでした。
>>629-630で、問題はなかったのです。 なかったのになぜかコンパイルが通らなかったのです。 どこか他の箇所に問題があったのだと思います。 なのに何か勘違いしてました。 昼ごろトイレで携帯でここ見ながら冷静に脳内コンパイルしたらどこが悪いかわからなかった。 …なんで問題があると思ったんだろう? とりあえず三つの案をまとめてみた tp://sakuratan.ddo.jp/uploader/source/date73735.lzh で、>>628さんの案でいかせてもらおうと思いました。 僕の案だとif文を使う分若干負荷がかかるし、 フルstaticだとinit()関数を呼び出すのがきれいじゃないような気がするからです。 でも、マルチスレッドだと問題が生じる可能性がある、というのは勉強になりました。 今回のDQもどきではマルチスレッド化するならファイル読み込みを裏でやるくらいだと思いますが、 次回考えてるMOではどうしてもマルチスレッドは必要になると思うので。 もしマルチスレッドで使うならフルstatic案で、メイン関数でinit()関数を呼び出す方法が安全。 …でいいんですかね?
- 667 名前:名前は開発中のものです。 [2008/03/13(木) 01:18:07 ID:dKf8037F]
- 628案がいいよね、というか、それ以外選択肢ないよね。
- 668 名前:1 [2008/03/14(金) 02:22:18 ID:nm4je3x/]
- ここ数日忙しくて、手をつけられませんでした。
もうちょっと忙しい日が続きそうです。 大規模なりファクタリングを考えてますが、時間が取れない時になるとめちゃくちゃになりそうだからやめておこうかな。 ちなみにリファクタリングのテーマはMVCモデリングです。 いままで全部ごっちゃにしていて、メインループが何箇所かに分かれている形になっています。 そのループの先々でFlipScreenをしていたりしています。 最低でもFlipScreenは三箇所以内に納める、というのを目指してやっていきたいと思います。 ちなみに三箇所というのは オープニング画面 フィールド時 戦闘時 です。 ちなみに、今のままいくと、NPCを歩かせたりする時に壁にぶつかります。というかぶつかってます。 ちゃんとした時間を取れるまではエディター部分を造ってみたいと思います。 いまできてるのはこんな感じ。 tp://sakuratan.ddo.jp/uploader/source/date73970.lzh エディターはWinAPIで作ろうと思ってます。 サイズが64*64で固定とか <- わりとなんとかなりそう 、読み書きできるファイル名が固定とか <- OS側で標準装備してるアレを使いたい。 っていうのはひとまずおいておいて エクセルとかのように、メインウインドがあって、たとえば三つのファイルを開くとします。 そうすると三つのサブウインドウができ、それぞれにキャプションバーがあり、最小化などをサポートしてます。 この辺をエディターで実装したいのですが、どこかにいいサンプルがあったら教えていただけませんか?
- 669 名前:名前は開発中のものです。 mailto:sage [2008/03/14(金) 09:38:57 ID:KQLj6NoK]
- >>668
今時C++でゲーム用ツール作るのは正直馬鹿げてるように思うが… MDIで調べたら出てくるんじゃないか? 過去資産の無い人が本格的なマルチウィンドウのアプリ作るのはかなりリスクが高い
- 670 名前:1 [2008/03/14(金) 17:08:05 ID:jA7ObYp+]
- MDIで調べたら「猫でもわかる〜」で該当のページを見つけました。ありがとです。
過去の資産がないので、これから作って行こうとか思ってます。 でもこの辺のってvistaになると使えなくなっちゃうんですかね?
- 671 名前:名前は開発中のものです。 mailto:sage [2008/03/14(金) 17:11:34 ID:/l3l2Hmf]
- ツールならC#とかQt使うほうが楽だと思うよ
Qt なら C++ でいけるし。
- 672 名前:名前は開発中のものです。 mailto:sage [2008/03/14(金) 17:55:11 ID:gWW3WsZU]
- API直書きでMDIは荊杉だろw
EEだとATLやMFCないし。 スレ的にはC++/CLIか。
- 673 名前:名前は開発中のものです。 mailto:sage [2008/03/14(金) 18:00:14 ID:uWexiA8m]
- C++/CLIは化け物w
.NETならC#覚えた方が早い
- 674 名前:名前は開発中のものです。 mailto:sage [2008/03/15(土) 00:08:38 ID:B2Fh06BF]
- >>673
同意 C++/CLIはC++アプリからドトネトへのスタブ作るための言語程度に考えておくべき(むしろよほどの理由が無ければ使うべきでない) メインに使うとカオスなことになる。
- 675 名前:名前は開発中のものです。 mailto:sage [2008/03/15(土) 07:07:37 ID:XyBKRgw3]
- っ /clr:pure
- 676 名前:1 [2008/03/15(土) 07:35:23 ID:kfxJ0YQU]
- C++/CLIとか managed C++ とか MFC とかいろいろ新語が出てきて収拾つかなくなってる1です。
マップエディタやキャラクタエディタを作るにあたって 今までに作ったFieldMapクラスとか Characterクラスとかを流用しようと考えてました。 そうすると C# と C++/CLI を使った方向でやるべきですか? それともあの程度のクラスなら流用などを考えずにやったほうが良いですか?
- 677 名前:名前は開発中のものです。 mailto:sage [2008/03/15(土) 08:33:15 ID:Tt8o4zXb]
- はかせタンの気持ちが揺らいでますな
- 678 名前:名前は開発中のものです。 mailto:sage [2008/03/15(土) 09:59:24 ID:cUAdrkpt]
- >>>629-630で、問題はなかったのです。
>なかったのになぜかコンパイルが通らなかったのです。 ごめん。細かい部分で間違ってたかも。(スペルミスはあるけど、そのせいじゃないよね?) >>もしマルチスレッドで使うならフルstatic案で、メイン関数でinit()関数を呼び出す方法が安全。 >>…でいいんですかね? staticメンバ変数に同時アクセスすることになるから安全とはいえないかな。やっぱり排他処理が安全かな。 >今までに作ったFieldMapクラスとか Characterクラスとかを流用しようと考えてました。 >そうすると C# と C++/CLI を使った方向でやるべきですか? >それともあの程度のクラスなら流用などを考えずにやったほうが良いですか? フリーソフトで使えそうなのないの?下手すると今までより大変な作業になるような気が。ちなみにエディタではどこまでやりたいの?ただ画像作るだけじゃないんだよね?
- 679 名前:名前は開発中のものです。 [2008/03/15(土) 11:49:06 ID:jofMxJus]
- マップエディタならここのを使った方がいいぜー
www.hyperdevice.net/ DQ3レベルなら、イベントを手作業でやってもなんとかなる気がするし。
- 680 名前:名前は開発中のものです。 mailto:sage [2008/03/15(土) 13:05:17 ID:B2Fh06BF]
- >>675
ネイティブとの混在だけが問題じゃないんだけど、本当に触ったことある?
- 681 名前:名前は開発中のものです。 mailto:sage [2008/03/15(土) 14:30:38 ID:bTNjkoWT]
- >>679
エディタは優れていると思うのだが、出力形式がcsvと独自バイナリなのが微妙・・・ ttp://www.vector.co.jp/soft/dl/winnt/game/se442396.html 俺はこっちをお勧めする。 しょうもないバグ(負数チェック忘れで、マイナス座標編集で落ちる)があるが、 XMLなので使うテクスチャ名やレイヤサイズ、チップサイズ等を格納できる。 俺はこれで吐かせてからバイナリにして使ってる。
- 682 名前:名前は開発中のものです。 mailto:sage [2008/03/15(土) 18:11:34 ID:uFlsWkiu]
- >>681
プラグイン対応してるから、自分の好きな形式で保存できたはずだけど。
- 683 名前:名前は開発中のものです。 mailto:sage [2008/03/15(土) 19:00:19 ID:fKb93Sld]
- >>682
別に無理に進める気はないが、 普通はあのサンプルを見てプラグイン作る気なんかおきない XML解析するほうが絶対に楽とだけ言っておく
- 684 名前:名前は開発中のものです。 mailto:sage [2008/03/15(土) 19:47:41 ID:B2Fh06BF]
- 抽象化ゼロ、ネイティブとなると互換性のことが心配だなw
- 685 名前:名前は開発中のものです。 mailto:sage [2008/03/16(日) 00:17:28 ID:hR3dUdLZ]
- マップエディタって結局自前の方が早いと思うのだが
- 686 名前:名前は開発中のものです。 mailto:sage [2008/03/16(日) 00:21:17 ID:YYl25oBQ]
- 要求仕様が確定する前にこういうこと言うやつって
RPG作ったことないと思うんだけど
- 687 名前:名前は開発中のものです。 mailto:sage [2008/03/16(日) 01:27:03 ID:FviUyMQ5]
- 勉強がてら作ってみんのもいいんじゃね
自分なりにカスタマイズできるし、ふぁふぁふぁ
- 688 名前:名前は開発中のものです。 mailto:sage [2008/03/16(日) 02:02:51 ID:hR3dUdLZ]
- >RPG作ったことないと
ばれたか でも1もまだ完成させてないんだ。同類だよ
- 689 名前:名前は開発中のものです。 mailto:sage [2008/03/16(日) 02:46:15 ID:paBA3rB/]
- >>1とか別にどうでもいいだろ
スレの意義保つだけの飾りだ
- 690 名前:名前は開発中のものです。 mailto:sage [2008/03/16(日) 09:15:56 ID:P7T70740]
- ベギラマもえ!
- 691 名前:1 [2008/03/17(月) 07:22:54 ID:FniSO1dY]
- エディタはRPGツクールみたいにマップエディットからイベントの設置まで全部、ですかね。
恐ろしく大変そうだなぁ…。 今考えたら、あえてマルチウィンドウにする必要もないのかな? ただ部分的にマルチウィンドウにしたほうが楽な気はする。 ウィンドウ間の連動、と言うよりは他のウィンドウを見ながら作業ができる、みたいな。
- 692 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 09:51:05 ID:C8pzDGvV]
- 正直ツクールのイベントエディタの出来はよくない
条件分岐の見通しが悪すぎる その点ではカドワスのイベントエディタはよくできてる まぁ俺ならスクリプトエンジン書いて終わりにするが…
- 693 名前:1 [2008/03/17(月) 14:09:13 ID:cE5AlQNt]
- カドワス?
調べてみたらカードワースの事っぽい。(違ったらごめんなさい 名前だけは聞いたことがあります。 ツクールを例に出したのはそれしか知らないからですし。それもSFC時代のやつしか知らないです。 カードワースか〜。ちょっとやってみようかな。
- 694 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 15:22:44 ID:63yXmlhQ]
- 1はあんまり周りに左右されずに作った方がいいよ。
カドワスのエディタはそこそこ良かったけれど、あれで巨大なアプリを作ろうとは思わない。 自分ならECMAScriptかPythonで書くことにするなー。 結局、マップとイベントを結びつけるのさえできれば、あとはテキストが楽っしょ。
- 695 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 16:38:48 ID:v7cy4Qil]
- WOLF RPGエディターのイベントエディタはどうよ?
www.silversecond.com/WolfRPGEditor/
- 696 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 17:52:33 ID:GTjqo1TD]
- 無意味でしょ
そんなの使うんだったら初めから全部それで作ればいい それに付いてるシナリオプレイヤーと同じものをわざわざ作るの?
- 697 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 18:15:52 ID:fwvcW2xY]
- boost.spiritでインタプリタ自作コース希望
- 698 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 20:43:31 ID:63yXmlhQ]
- はじめてきいたよWOLF。なんかダメポ感が漂うなあ。
- 699 名前:1 [2008/03/17(月) 22:07:24 ID:FniSO1dY]
- WOLF見てきました。
まだ使ってませんが、HP見た限りでは目指してるのはこんな感じかもしれません。 現状のDQIでは マップもイベントもtxt形式で保存してあります。 イベントはMapObjectMap.txtというファイルに入っていて、 一枚のマップのイベントが全部詰まってます。 イベントの位置や、グラフィック情報などが一マップ分全部入っているのでかなり分かりづらいんですよね。 あと条件分岐とかも見づらいと思います。 せめてTabでインデントできるようにすれば、2,3くらいのネストなら耐えられるかもしれません。 他のRPGエディタに触れて、こうしたほうが良いとか、参考にするのも大事だと思いますが、 とりあえず自力で作りたい、というのは変わりません。 完成したらWOLFみたいに公開したいとか思ってます。 誰かが使ってくれたとかあったらやっぱり嬉しいんだろうなー。なんてね。 まずはMDIを作るためのライブラリを作ってみようかしら? WinAPIをオブジェクト指向で使えるようにまとめてみよう、みたいな。 そのまえにシステム部をちゃんと作れって感じですね。すみませんでした Orz
- 700 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 23:39:44 ID:uc9emuNW]
- >>1的には全部ソースに書くべきだよね。
- 701 名前:名前は開発中のものです。 mailto:sage [2008/03/18(火) 00:16:52 ID:we9VjMxY]
- エディタについては考えないほうがいいよ‥‥。
ほかのプロジェクトも、エディタ作ろうとして終わってるのが多いしさ。 それ以外を煮詰めてからでも遅くないと思う。
- 702 名前:1 [2008/03/18(火) 00:34:55 ID:tLvykoAj]
- >>700
すみません、意味がいまいち分かりません。 ヘッダファイルにデータを書き込む、とかそういうことでしょうか? >>701 エディタってそんなに敷居が高いんですか… Orz 一回つくっちゃえば他のものにも流用できそうだなぁ、とか考えてました。 たしかに仕様の煮詰め方がまだ甘いですよね。
- 703 名前:名前は開発中のものです。 mailto:sage [2008/03/18(火) 02:13:06 ID:we9VjMxY]
- 700はハードコーディングを求めているんでは。
それでもいいとオモウヨー
- 704 名前:名前は開発中のものです。 mailto:sage [2008/03/18(火) 09:05:31 ID:imxPWJvy]
- 今どきハードコーディングは無いわ
何のメリットも無いのに。
- 705 名前:名前は開発中のものです。 mailto:sage [2008/03/18(火) 09:08:23 ID:udRHBHjL]
- いまどき1のスキルでゲーム作るのもないと思うが、
ツール作りで余計なパワー使うよりなら、ひどいゲームでも完成させるほうがマシだとおもう。
- 706 名前:695 mailto:sage [2008/03/18(火) 13:04:11 ID:eXu4sfw7]
- >>696
ごめん、エディタの例を提示しただけで、 これで作ったのを動かすなんて考えてもいなかった 俺の書き方が悪かった
- 707 名前:名前は開発中のものです。 mailto:sage [2008/03/18(火) 17:47:53 ID:fHRiDwUz]
- それをいうなら
今どきDQ3は無いわw
- 708 名前:名前は開発中のものです。 mailto:sage [2008/03/18(火) 18:12:52 ID:IDqS1m2K]
- >>707
"ゲーム内容"は今は関係無いだろ。 流れ読めないの?
- 709 名前:名前は開発中のものです。 mailto:sage [2008/03/19(水) 00:28:42 ID:8bBzkMpH]
- むー雲行きが怪しくなってきたね・・・
助言するのはいいけど、皆さんもちっと落ち着いたらどうっすか >>1が混乱するかもしれないから
- 710 名前:名前は開発中のものです。 mailto:sage [2008/03/19(水) 01:14:54 ID:jQIJ8hP1]
- 混乱してるくらいが1っぽい
- 711 名前:名前は開発中のものです。 mailto:sage [2008/03/19(水) 12:11:15 ID:PXO8nJOb]
- 2chで作ってるんだから、こんなもんっしょー。
- 712 名前:名前は開発中のものです。 mailto:sage [2008/03/19(水) 18:30:41 ID:10uW2HTi]
- 繰り返すがVisual C++で開けないのだが
- 713 名前:名前は開発中のものです。 mailto:sage [2008/03/19(水) 18:39:24 ID:Fef8Tt3V]
- 2005とか2003とかVC6で開こうとしてるんじゃないだろうな?
VC2008express英語版なら開けるぞ
- 714 名前:名前は開発中のものです。 mailto:sage [2008/03/19(水) 19:04:19 ID:10uW2HTi]
- 開けるのですが・・・
ビルドエラー多発ってことです;
- 715 名前:名前は開発中のものです。 mailto:sage [2008/03/19(水) 19:09:33 ID:jQIJ8hP1]
- うごくけど
- 716 名前:名前は開発中のものです。 mailto:sage [2008/03/19(水) 22:49:29 ID:R53zknEi]
- ビルドエラーに関してはこのスレで散々出てるから探してみー
- 717 名前:1 [2008/03/20(木) 10:37:57 ID:JEXP2UTm]
- 1は イオナズ…
しまった じゅもんを どわすれしている! 混乱中の1です。 エディタは無謀すぎる、の声が多いのでリファクタリングをぼちぼちはじめてる次第です。 ソースを読み返して、改善項目を挙げていって、 とりあえずぼうけんのしょ選択するところまで直すことを目標にします。 対象になるのはCommand.cpp CommandOpening.cppです。 …Commands.cppもかな? ビルドエラーに関してですが、どんなエラーかを上げないと対処しようがないです。 僕で分かることなら答えますがなにぶん初心者なので。 Orz
- 718 名前:名前は開発中のものです。 [2008/03/20(木) 11:10:04 ID:0oFFocan]
- ソースについて、つっこんでいいなら、
次にうpされたときにかくよー。
- 719 名前:名前は開発中のものです。 mailto:sage [2008/03/20(木) 18:52:31 ID:s06tjzSq]
- 1以下のカスが粋がっているスレはここですね
- 720 名前:名前は開発中のものです。 mailto:sage [2008/03/21(金) 12:48:58 ID:CeS4EBvN]
- >>670
遅レスすまんが、 VistaでもWin32APIは動作するぞ。 だからこの経験は無駄にはならない。 俺がVista使ってるから間違いない。 ただ、Microsoftが最近.Netアプリを宣伝しているのは確か。 (だからVisual C++ 2008のインテリセンスはまだしょぼいのかもしれない) C++/CLIやC#をやるのは悪くはないが、 せっかくここまで来たのだからC++でやり遂げたほうが力がつくと思う。 俺は.Netは重いから好きじゃないな。
- 721 名前:名前は開発中のものです。 mailto:sage [2008/03/21(金) 16:32:28 ID:KdAXHskp]
- ATLがEEには入ってたらベストなんだがなー
- 722 名前:名前は開発中のものです。 mailto:sage [2008/03/21(金) 16:34:49 ID:VJcncGIK]
- >>720
.NETが重いのは起動時だけでしょ 複雑な処理になればなるほど軽いように思うが・・
- 723 名前:名前は開発中のものです。 mailto:sage [2008/03/21(金) 16:45:15 ID:VJcncGIK]
- ちなみに.NETは今でもパソコン向け2大OSのWindowsとLinuxのGUIで使え、
結構スキルとして幅もある。 Win32APIはどうなるんだろ。Vistaではまだ大丈夫だが Vistaで大分過去のデータを削ったから、この方針でいくとなると 次のバージョンではどうなるかな・・・ .NETだともうほとんどAPIは使わないからな・・・ 今重かったとしても後々を考えると・・・あ、別に止めませんよ^^;
- 724 名前:名前は開発中のものです。 mailto:sage [2008/03/21(金) 16:50:16 ID:VJcncGIK]
- ソースのうpをお待ちしておりますm(_ _ )m
私は.NETしかしないけど、頑張ってね〜
- 725 名前:名前は開発中のものです。 mailto:sage [2008/03/21(金) 19:44:22 ID:HtvAYGuV]
- 起動時に重いってのはそうとうなペナルティだと思うけどね。
起動するのが面倒ってのは、ゲームやる気がそがれるし。
- 726 名前:名前は開発中のものです。 mailto:sage [2008/03/21(金) 19:46:35 ID:+eVwtV9C]
- ロード時間に比べたらJITコンパイルなんか一瞬
- 727 名前:名前は開発中のものです。 mailto:sage [2008/03/22(土) 00:38:31 ID:Vi3jYo1m]
- .NETの内部でAPIは使われていないのですか?
- 728 名前:名前は開発中のものです。 mailto:sage [2008/03/22(土) 10:27:17 ID:pw13zKJ/]
- それをいうならJavaだって何だって一緒だろ
WPFなんかはDirect3Dで全部自前で描画してるよ
- 729 名前:名前は開発中のものです。 mailto:sage [2008/03/22(土) 21:25:27 ID:JwNiN2jV]
- ネイティブコードが動かなくなったら既存の多くのソフトが動かなくなるんだから
いくらMSでもそんなアフォなことしないと思うよ
- 730 名前:名前は開発中のものです。 mailto:sage [2008/03/22(土) 21:56:22 ID:TCAQZ409]
- >>729
そうですかぁ・・ でも、.NETの4割弱の処理はWDMドライバを直接バインドしていますが・・ 旧DLL依存の処理をメジャーなハードに限ってサポートして、 汎用のWin32APIはエントリごと削除・・とか まぁ分かりませんが
- 731 名前:名前は開発中のものです。 mailto:sage [2008/03/22(土) 22:00:48 ID:ClqOup2B]
- ここって何のスレだったっけ?
まーいいんだけどさ。
- 732 名前:名前は開発中のものです。 mailto:sage [2008/03/22(土) 22:10:20 ID:mH0qBa6J]
- .NETのスレだろ
- 733 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 16:06:19 ID:mbuFy+X7]
- 1はこないな
まぁこの流れでは書き込みづらいか
- 734 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 23:29:24 ID:0Xpai305]
- ゲーム作るにはGCがうざい
- 735 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 01:11:50 ID:gvHecZUo]
- .NETのGCがうざいくらいのPCなら、
ネイティブで作っても色々問題が出る
- 736 名前:1 [2008/03/25(火) 00:13:44 ID:d/l8/X39]
- いまいち体調がすぐれません、1です。
とりあえず、ぼうけんのしょ選択の画面だけControlとDrawを分離してみました。 ここはこうすべき、とか助言があったらおねがいします。 CommandOpening.cppのDraw()とcontrol()らへんでしょうか。 とりあえずブレークポイントになっているClearDrawScreenまでが今回いじったところです。 ごめん、なんかものすごく頭痛くなってきたから寝るぽ Orz tp://sakuratan.ddo.jp/uploader/source/date75410.lzh
- 737 名前:名前は開発中のものです。 mailto:sage [2008/03/25(火) 01:25:28 ID:MXDSjbqf]
- ドラクエ風オンラインを作りたい。
- 738 名前:名前は開発中のものです。 mailto:sage [2008/03/25(火) 02:16:24 ID:0moXVCDf]
- >>736
お疲れ様です。
- 739 名前:名前は開発中のものです。 mailto:sage [2008/03/25(火) 18:48:07 ID:rn3HuzuP]
- ゲーム作りは長丁場だからな。具合悪い時はゆっくりしっかり休んだ方がいいよ。お大事に。
- 740 名前:名前は開発中のものです。 mailto:sage [2008/03/25(火) 20:10:43 ID:eTbgK7ic]
- >>736
お大事に
- 741 名前:名前は開発中のものです。 mailto:sage [2008/03/25(火) 21:03:27 ID:5tSXFDb5]
- バージョンだけど、このペースで上げると3桁になりかねないから、最上位桁はあまりあげないほうがいいよ。
通常は開発中は0にして完成時に1にする。それ以降は大きく変わる都度上げると思う。
- 742 名前:名前は開発中のものです。 mailto:sage [2008/03/25(火) 21:18:53 ID:wK46SZCn]
- あっそ
- 743 名前:名前は開発中のものです。 mailto:sage [2008/03/25(火) 21:54:34 ID:q/mEJ5Ip]
- 正 なるほど
愚 あっそ
- 744 名前:名前は開発中のものです。 [2008/03/26(水) 01:18:53 ID:sdjpaEOL]
- 1以下のカス乙
- 745 名前:名前は開発中のものです。 mailto:sage [2008/03/26(水) 08:50:17 ID:u6Y2rZcM]
- 天皇 あっそぅ
- 746 名前:名前は開発中のものです。 [2008/03/26(水) 10:52:29 ID:Rq8x/nQl]
- いいじゃん3桁メジャーバージョンナンバー
VersionControlSystemのリビジョンナンバーみたいなもんだと思えば
- 747 名前:名前は開発中のものです。 mailto:sage [2008/03/26(水) 11:26:46 ID:G9STw5Lx]
- 3桁まってるぜ。
なおすのが簡単そうなとこだけ報告。 ・パーティアタックで人がしんだときにも「やっつけた」になる ・スライムAは 52のダメージを「うけた」→「あたえた」だとおもう ・ベホマを敵に使っても、点滅してダメージぽい(原作はどうだっけ) ・死んでいてもレベルアップしちゃう。
- 748 名前:1 [2008/03/27(木) 21:22:58 ID:G2bfhNCv]
- せっかくバグレポートもらったのにごめんなさい。
今週は一年で一番忙しいのでなかなか作業ができないでいます。 来週から少しずつ暇になってくるはずなので、それまで暖かい目で見守ってください。
- 749 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 23:05:17 ID:qUMyRRdt]
- マップスクロールがかくかくしてね
1チップ移動して次の1チップ移動始まるとき一瞬止まる感じがする俺だけかな
- 750 名前:名前は開発中のものです。 mailto:sage [2008/03/28(金) 05:22:03 ID:He3mBasw]
- DXライブラリなんだからティアリングは許してやり
- 751 名前:名前は開発中のものです。 mailto:sage [2008/03/29(土) 00:33:04 ID:sFO0h1By]
- ゆるさねえ
- 752 名前:名前は開発中のものです。 mailto:sage [2008/03/29(土) 08:27:31 ID:jf/sHOqZ]
- そこをなんとか
- 753 名前:名前は開発中のものです。 mailto:sage [2008/03/29(土) 10:02:12 ID:0c8vvFTD]
- 液晶ディスプレイでもティアリングって起こるの?
- 754 名前:名前は開発中のものです。 mailto:sage [2008/03/29(土) 11:41:28 ID:8amvAVh+]
- 俺LCD使ってるけどDirectXでVSYNC同期をとらずに描画したら
ティアリング(ちらつき)おきてるよ 同期とるように設定するとおきなくなる 普通のゲームでは操作に気を取られるのかあまり気にならないけど ムービー流したりするとかなり目につくことあるね
- 755 名前:名前は開発中のものです。 [2008/03/29(土) 15:55:20 ID:6TzdtqhV]
- 戦闘に入るとき
○○○Aのむれがあらわれた ってでるけど、 A いらなくね?
- 756 名前:名前は開発中のものです。 mailto:sage [2008/03/30(日) 08:27:08 ID:G5htl8bw]
- DXライブラリでもVSYNC待ちできるからティアリング無くすことは可能
- 757 名前:名前は開発中のものです。 mailto:sage [2008/03/30(日) 09:39:55 ID:jmEGsf14]
- Windowモードで?
サポートされてないはずだが…
- 758 名前:名前は開発中のものです。 mailto:sage [2008/03/30(日) 09:42:46 ID:IYzvYNfh]
- フルスクリーンモードにしてWaitTimerを使わずにWaitVSYNCで待てばいいんだっけ
- 759 名前:名前は開発中のものです。 mailto:sage [2008/03/30(日) 19:10:35 ID:qPL7U36j]
- そもそもそれ関数じゃだめなのか?
- 760 名前:名前は開発中のものです。 mailto:sage [2008/03/30(日) 22:36:27 ID:G5htl8bw]
- WindowモードでもVSYNC待ちはできるけどフリップはできないから…
バックバッファからフロントバッファへのイメージ転送が間に合わないとティアリングが発生する
- 761 名前:名前は開発中のものです。 mailto:sage [2008/03/31(月) 00:13:01 ID:SAeJDNuc]
- DXライブラリは糞でFA?
- 762 名前:名前は開発中のものです。 mailto:sage [2008/03/31(月) 00:42:26 ID:5/kcqqdW]
- Vista買え
- 763 名前:名前は開発中のものです。 [2008/03/31(月) 00:50:46 ID:2OdtDSBt]
- www.nicovideo.jp/watch/sm2201772
ダイの大冒険 ドラクエ3 サントラ
- 764 名前:名前は開発中のものです。 mailto:sage [2008/03/31(月) 01:41:23 ID:ibJyBCz7]
- >761
なんで? まあ3Dできないから糞というのなら同感だが… 因みに760で言ってる制限は別にDXライブラリだからというわけではないぞ
- 765 名前:名前は開発中のものです。 mailto:sage [2008/04/01(火) 00:48:48 ID:mfwNWqKR]
- マップスクロールって結構むずいな
ディスプレイによってリフレッシュレートが違うとかフレームスキップとか、めんどい。
- 766 名前:名前は開発中のものです。 mailto:sage [2008/04/01(火) 07:09:14 ID:Q9ncM2Ox]
- >>765
いや、スクロールにリフレッシュレートは関係ないだろw 一度バックバッファに描くんだから。
- 767 名前:名前は開発中のものです。 mailto:sage [2008/04/01(火) 18:52:51 ID:uP3qRyUu]
- ゲーム全体のスピードがリフレッシュレートに依存している?
- 768 名前:名前は開発中のものです。 mailto:sage [2008/04/01(火) 21:14:06 ID:MlAT2BTP]
- >>767
誰に言ってるんだ?
- 769 名前:名前は開発中のものです。 mailto:sage [2008/04/02(水) 00:34:43 ID:ZHzbgFtM]
- プログラム的に60分の1秒毎にフリップさせてても
表示のタイミングはリフレッシュレートできまるんじゃないの 例えば16ピクセルを16/60秒でスクロールさせたいとする。 1/60秒毎にバックバッファをフロントバッファにフリップさせる。 ディスプレイのリフレッシュレートが60の場合1/60秒毎に画面表示が更新され、 1ピクセルずつスクロールしていく。 ディスプレイのリフレッシュレートが50の場合1/50秒毎に画面表示が更新され、 16/60秒で16ピクセル移動させようとすると、フレームスキップの結果 1ピクセル移動するときと2ピクセル移動するときが出てくるので画面表示がカクカクする。 つーかFPSの設定とかどうなってんの。ぱっとソース見て見当たらないんだけど。 もしかして実行環境によって動作速度が変わるプログラムなのかな。
- 770 名前:1 [2008/04/02(水) 11:32:13 ID:icfWdBaa]
- みなさま久しぶりです。
段々落ち着いてきましたが、どうやら今週いっぱいはまだ忙しそうです。 マップのスクロールは確かvsyncだかの関数を使っていたと思います。 一回描写が終わるまでプログラムを待機させる関数の筈なので リフレッシュレートが高いほど高速で移動する筈です。 RPGの特性上、あまり気にしなくてもいいかもとか思ってたんですが、 やっぱりリフレッシュレートに依存してゲームのスピードが変わるのはまずいですよね。 ちょっと考えてみます。
- 771 名前:名前は開発中のものです。 mailto:sage [2008/04/02(水) 14:39:02 ID:FLqMU4Qp]
- がんばれい〜
- 772 名前:名前は開発中のものです。 mailto:sage [2008/04/02(水) 16:10:00 ID:3aNwpVIW]
- 初期のドラクエ程度ならタイマーやWM_PAINTでも十分でふぁ
- 773 名前:名前は開発中のものです。 mailto:sage [2008/04/02(水) 16:30:21 ID:/ysQLNfc]
- でも、色数やアニメーションパターンが少ないから
ちらつきが余計目立つのはあるよな。 オプションでリフレッシュレート依存にするか、 タイマーにするかを選択できるようにするのが無難か。 フルスクリーン専用にするのが一番楽だけど。 てか、この問題って誰もが通る道だw
- 774 名前:名前は開発中のものです。 mailto:sage [2008/04/02(水) 19:25:30 ID:ZHzbgFtM]
- フルスクリーン専用だと何で楽ですか
- 775 名前:名前は開発中のものです。 mailto:sage [2008/04/02(水) 21:49:42 ID:sTFd26ZY]
- 普通タイマーなんか使わねぇし、リフレッシュレート依存にもしないだろ…
フルスクリーン専用はデメリットのほうが遥かにに大きい。 デバッガの利用に制限を設けることになる。
- 776 名前:名前は開発中のものです。 mailto:sage [2008/04/02(水) 22:49:42 ID:vOGkGlGc]
- >>775
じゃあどうやってゲームのスピードを一定に保つの?
- 777 名前:名前は開発中のものです。 mailto:sage [2008/04/02(水) 23:00:36 ID:gv5wPfz/]
- 俺はまず、メッセージがあるときはメッセージ処理して、それ以外はとりあえずゲーム処理のほうに回させる。
そんで自前で時間測っといて既定の時間より早く来た場合はリターンて感じだよ
- 778 名前:名前は開発中のものです。 mailto:sage [2008/04/03(木) 11:30:50 ID:IvPVRnw6]
- ちょ
- 779 名前:名前は開発中のものです。 mailto:sage [2008/04/03(木) 13:32:37 ID:3qnHDRDt]
- あえてチラつきを抑制しないでレトロ感を演出するとかしないとか
- 780 名前:名前は開発中のものです。 mailto:sage [2008/04/03(木) 21:50:54 ID:lRvENcun]
- ファミコンはテレビだからリフレッシュレート一定でwindows向けゲームよりそういう部分に関しては楽ただしアセンブラ
GBAはC言語で開発できるが画面解像度がファミコンと違う困った
- 781 名前:名前は開発中のものです。 mailto:sage [2008/04/03(木) 22:12:40 ID:6VmzbDE/]
- 一番楽なのは、携帯(MIDP2.0)だけどなw
- 782 名前:名前は開発中のものです。 mailto:sage [2008/04/03(木) 22:27:49 ID:0WE0DNgq]
- XNA@箱とか
- 783 名前:1 [2008/04/03(木) 23:32:42 ID:jLeoN1c3]
- とりあえず>>747 と >>755 を修正しました。
tp://sakuratan.ddo.jp/uploader/source/date76901.lzh ティアリングとかフレームスキップとかの問題ですが リフレッシュレートが統一されていない限りフレームスキップは仕方が無いのかもしれないとか思いました。 回避する方法はちゃんと用意されてるのかも知れませんが。 とりあえず60Hzを想定して作っていこうかと思います ただしそれ以外のレートでもティアリングはおこるけどゲーム進行のスピードは変わらないように作りたいと思います。 ちなみに、みなさんのリフレッシュレートはいくつですか?
- 784 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 00:21:09 ID:jScH7d4P]
- >>774
解像度、リフレッシュレートを固定できて、 さらにフリップでちらつきは完全に無くせる。 >>775 フルスクリーン専用はむしろ製作者側にメリットがあると思う。 デバッグ用のウィンドウモードを作っておけばいいだけだし。 プレイヤー側からは、勝手にフルスクリーンにされてウザイっていうのがあるだろうがw
- 785 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 11:56:52 ID:Lo4Duy5S]
- >解像度、リフレッシュレートを固定できて
え、あー… 馬鹿ですか
- 786 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 17:36:03 ID:dUrCV8U+]
- 1280*960@32-120Hz
- 787 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 18:52:40 ID://HCO2hz]
- フルスクリーンだと解像度は指定できるけど、
リフレッシュレートはそれぞれの環境に依存してると思う。 プログラム側でリフレッシュレートを変更するのも不可能ではないけど、 作法としてあまり推奨はされてないみたいだし。 これはSTGやアクションを作るときのやり方になるけど、自分の場合は コンフィグでウェイトをvsyncで取るかタイマーで取るか選べるようにして リフレッシュレートが60hzならvsync選択でティアリングなし、 それ以外の場合はタイマーで我慢して貰う、というやり方をしてました。
- 788 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 18:57:51 ID:rRY9qtvx]
- >>783
俺はアクションだけど50ヘルツで作ってるよ。テリアリング上等!視力低下上等!だよ♪
- 789 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 20:49:00 ID:dUrCV8U+]
- 関東の電気は糞
- 790 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 22:43:54 ID:ngSh6GZX]
- 俺のノートPCは50固定だな
- 791 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 01:50:46 ID:xsNgK89F]
- うちのデスクトップは59か60を選べるな。60にしてある。
あと、ワイドなんで、フルスクリーンだとアスペクト比がおかしくなってウザイ。
- 792 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 01:58:37 ID:xsNgK89F]
- 微妙に報告。
・戦闘で死んでいるキャラの操作ができる(動かないけど)。 ・スライム君たちが、かたわれしか攻撃しないので、かたわれが死んだら何もしなくなる。 ・ホイミを死んでいるかたわれにかけても、「しかし死んでいる」とかがでない(仕様通りかもしれない)。 ・死んでいるキャラが、フィールド上では死んでいない(棺桶用意するの面倒やねー)。
- 793 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 07:25:07 ID:dhcGdK0W]
- 自分の使っているやり方。
フィールド待機時(キャラが足踏みする)は描画は1秒間に4回のみ。 3つの視界サイズのメモリBMPに、 マップと足踏みの違うキャラを表示させておき、 それらを0, 1, 2, 1と1/4秒毎にWinタイマーで表示させる。 表示するチップセットは各ステージ(○○の町など) で使う分をステージ初めにLoadImageでロード、 そのステージが終わるまでHBITMAPはDeleteしないで、 表示する時は、ロードされているHBITMAPをBitbltでコピーする。 (毎回のLoadImageは重くなる)
- 794 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 07:13:36 ID:6CvCSi7n]
- ↑うまん、誤爆だった・・
内容は180度は違っていないのでよけいにややこしかった。
- 795 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 14:57:02 ID:7hSmasOs]
- >787
>作法としてあまり推奨はされてないみたいだし。 推奨されてないの? 確かにWin32APIの解像度、リフレッシュレート変更機能を使う方法は非推奨というのはみたことあるけど (デスクトップ画面に戻った時にゲーム中の設定のままになる可能性があるから) DirectXの解像度、リフレッシュレート変更機能について非推奨という記述は見たことがないんだが・・・・ 因みに95カーネル系OSではDirectXのリフレッシュレート変更機能は機能しないけど 2000以降のNTカーネル系OSでは機能するから 95系カーネルでもリフレッシュレートを変更したいソフトがWin32APIを使って変更してたソフトが 「あまり良い方法じゃない」と言われてたのは見たことがある
- 796 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 16:09:43 ID:0jIMLCEg]
- 85Hz以下は目にくる
- 797 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 03:31:46 ID:V2Suu5FZ]
- ttp://sakuratan.ddo.jp/uploader/source/date77335.jpg
液晶でOK
- 798 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 11:46:23 ID:91S+flSj]
- >>795
デバイスがサポートしていない事のほうが多々あるわけで リフレッシュレートの気にならない見せ方を重視したほうがよろし ↓お茶噴いた ttp://www.vector.co.jp/soft/win95/game/se160875.html >■ゲームスピードについて(重要) >画面のフレームレートは、リフレッシュレートに影響されますので、フルスクリーンでプレイする場合は、解像度:640×480のリフレッシュレートを60Hzに設定すると、ゲームに最適な速度になります。 >(やり方は、画面のプロパティで、画面の領域を、640×480に変更し、詳細のアダプタで、リフレッシュレートを60Hzに変更してください。その後、画面の領域を元に戻しておきましょう。) >なるべくこの設定でプレイしましょう。
- 799 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 12:23:32 ID:Q0+s7XLA]
- >>798
デバイスがサポートされている場合はいいんだよね? だったら切り替えできるようにしておけば何ら問題はないわけだ。 自分がプレイヤーとして見ても、その方が嬉しいんだが。 ところで、その例は論外だと思う。 まあ、ただのネタとして出したのかもしれないけど。
- 800 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 12:39:35 ID:VgKmZ/3D]
- >>799
環境依存のコードを入れたくない場合やメンテの手間等を総合的に評価すると推奨はできないなという話だろう > まあ、ただのネタとして出したのかもしれないけど。 ネタじゃないと微塵でも考えられるのがすごい
- 801 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 19:28:04 ID:xRDNoxL9]
- >>797
エイちゃんとARIAいいねww
- 802 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 20:00:36 ID:Yqs5rlhg]
- >800
ダウンロードしてみた? ネタにしては気合入りすぎてる気がするんだけど・・・ 曲はちゃんとしたMIDI機器で聞くとそれなりに良い。
- 803 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 20:55:56 ID:w1+BmLz2]
- 800と802が若干噛み合ってないな
- 804 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 21:34:59 ID:o5vIjWgB]
- >>802
いやいや 作品自体がネタという訳ではなくw
- 805 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 22:31:15 ID:Yqs5rlhg]
- >>804
勘違い申し訳ない、785の言葉足らずと787の非推奨発言に反応して暴走した >>783 60Hz、やっぱりTVターゲットにしてるゲーム業界の標準だし・・・ (携帯ゲーム機もそれに習って60Hzだし) ただ有名なフリーソフトの洞窟物語はVSYNC待ち無しの50Hz なんでそうしたのかPixel氏ご本人に聞いたところVSYNCが綺麗に取れない環境がどうしてもあって、その対応策として 「逆にどんな環境でもティアリングが発生するような仕様にしてプレーヤーに慣れさせる方向に持っていくことにした」的なご返答を頂いた なんでVSYNC無しの60Hzではなく50Hzなのかについては 「60HzVSYNC待ち無しだと毎回同じ様な高さにティアリングが発生して気になる、でも50Hzだとティアリングの位置も毎フレーム変わってあんまり気にならない」とのこと
- 806 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 22:37:53 ID:Yqs5rlhg]
- 補足
・毎回同じ高さにティアリングが発生するのはVSYNCが60HzでVSYNC待ちをしなかった場合 ・50Hzの理由としてこれ以外に「60Hzだとキーボードでプレイするには動きが速すぎた」というのがあったかもしれない なにぶんお聞きしたのが数年前なので間違ってるかも、特に後者についての「パラメータ調整で速度は変更できるだろう」という突っ込みは無しで
- 807 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 23:37:39 ID:jWrDXnrl]
- 作者としてはVSYNC待ちでリフレッシュレート60Hzを想定しています、
と断りを入れたうえで、リフレッシュレートがうまく変わらない環境or変えたくない人のために オプションでタイマーも選べるようにしておく、あたりが無難なところでしょうか? リフレッシュレート変更も設定項目として入れるかどうかは作者次第。
- 808 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 23:50:17 ID:/vZj0Lvx]
- 山を描くために葉だけを見る、そんなスレはここですか?
- 809 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 00:17:21 ID:mMsb1yHl]
- それも散々いろんな人が見てきた葉っぱをな。
- 810 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 00:26:26 ID:QeCWOWiG]
- VSYNCと動作速度とティアリングの話が持ち上がったからちょっと寄り道してるだけですよ?
なんだかんだで確実に進んでます
- 811 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 06:59:14 ID:o0XdnuIu]
- 遭難する時って、「前」に進んでいると思ってもとんでもない方向に迷い込んでいたりするんだよね・・・。
- 812 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 08:41:33 ID:5cGUzr7L]
- 更新処理と表示は非同期が主流
- 813 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 11:22:45 ID:D77oObig]
- 2Dで主流かどうかはともかく、妥当かもね
- 814 名前:1 [2008/04/09(水) 01:43:24 ID:mQLX2XWn]
- >>792 修正版です
tp://sakuratan.ddo.jp/uploader/source/date77631.lzh とりあえずFCDQ3では死んでいる仲間にホイミを使うと 戦闘時は「ホイミをとなえた!」だけで終わり 移動時は「しかしなにもおこらなかった!」といわれる仕様です。 でも、そういえば移動時にホイミを使ったときのメッセージを直してなかったのに気がつきました。(ぁ 他にも Lv:しに にするべきとか いろいろ直すところはあるんですが、とりあえずうp。 FlipScreenの一箇所化のためにコメントアウトしてるソースでかなり散らかってます。ごめんなさい。 リフレッシュレートに関して、いろいろありがとうございます。 特に50Hz用に作ってわざとランダムにフレームスキップを起こす、とかは興味深かったです。 個人的にフルスクリーンは好きじゃないんですが DirectXはフルスクリーンで使うべきとかどっかで見たような気がします。 今回のドラクエはウィンドウモードでやるつもりですが ゲーム作るならフルスクリーンのほうがいいのかなぁ?
- 815 名前:名前は開発中のものです。 mailto:sage [2008/04/14(月) 00:00:55 ID:YO91oNda]
- 切り替えられるようにしたらどうかな。
- 816 名前:名前は開発中のものです。 mailto:sage [2008/04/14(月) 00:17:58 ID:j7xbhEgC]
- ここて1専用?
- 817 名前:名前は開発中のものです。 mailto:sage [2008/04/14(月) 16:24:46 ID:q/WaNzFV]
- どうぞご自由に
- 818 名前:名前は開発中のものです。 mailto:sage [2008/04/14(月) 16:47:43 ID:TO0aQykk]
- 自由に貼ればいいよ
無視するだけだからね。
- 819 名前:名前は開発中のものです。 mailto:sage [2008/04/14(月) 18:28:34 ID:TKIa58Zt]
- 個人的には>>1が来てる間は
>>1専用のが分りやすいなぁ 話題が分散するだろうし
- 820 名前:1 [2008/04/14(月) 21:35:51 ID:iWKUUWl9]
- 僕としては他にもやってる人がいると対抗意識とかで燃えるので上げて貰えると嬉しいです。
今現在の作業が難航しているのでなかなかソースあげられなくてすみません。 更に規制入りました orz
- 821 名前:名前は開発中のものです。 mailto:sage [2008/04/14(月) 22:34:58 ID:McYGpCtB]
- C++じゃないとだめなの
- 822 名前:名前は開発中のものです。 mailto:sage [2008/04/14(月) 22:41:38 ID:PotJeDOD]
- 別にプログラミング環境は、何でも良いんでない?
JavaでもBASICでもRPGでも。
- 823 名前:名前は開発中のものです。 mailto:sage [2008/04/15(火) 00:32:29 ID:dJrDRyP2]
- まじすか
- 824 名前:名前は開発中のものです。 mailto:sage [2008/04/15(火) 00:46:38 ID:nXKEgxyo]
- アップした者勝ちか
- 825 名前:名前は開発中のものです。 mailto:sage [2008/04/15(火) 00:59:45 ID:KQqWxjaS]
- RPGでゲーム作れるの?
- 826 名前:名前は開発中のものです。 mailto:sage [2008/04/15(火) 18:31:10 ID:stjrlSie]
- RPGなんて言語あるんだな・・・
- 827 名前:名前は開発中のものです。 mailto:sage [2008/04/15(火) 21:57:43 ID:Sn7D9zFc]
- スレタイだけには従った方がw
>>1の勉強的にも
- 828 名前:名前は開発中のものです。 mailto:sage [2008/04/16(水) 16:08:59 ID:ec084lYU]
- java ok?
- 829 名前:名前は開発中のものです。 mailto:sage [2008/04/18(金) 15:17:05 ID:kfFivpRf]
- okok
- 830 名前:名前は開発中のものです。 mailto:sage [2008/04/18(金) 18:02:42 ID:dL4P4+YL]
- スレの住み分けとか考えると、C++以外はこっちの方がよくないかい?
まぁ、流れ的には、ここでやった方が、いいのかもしれないけど。 ドラゴンクエストクローンを作ろう pc11.2ch.net/test/read.cgi/gamedev/1046454251/
- 831 名前:名前は開発中のものです。 mailto:sage [2008/04/18(金) 19:07:18 ID:kMB4TaLW]
- 自治うぜえな
- 832 名前:名前は開発中のものです。 mailto:sage [2008/04/18(金) 20:34:21 ID:fAM6AEf7]
- そんなこと言ってたらC++だって
VCやBCCみたいな宗派とか ライブラリが無数にあるぞ。
- 833 名前:名前は開発中のものです。 mailto:sage [2008/04/19(土) 00:37:13 ID:liB737yT]
- まあ、次スレでC++つけなきゃいいだけか
- 834 名前:名前は開発中のものです。 mailto:sage [2008/04/19(土) 19:47:05 ID:rDKs0OU5]
- そう言えばファミコンの解像度って4:3じゃなくない?
- 835 名前:名前は開発中のものです。 mailto:sage [2008/04/19(土) 22:17:01 ID:vb1+VzZO]
- たしか256*240(224)くらいだったはず。
- 836 名前:名前は開発中のものです。 mailto:sage [2008/04/19(土) 22:54:24 ID:d7ns0HIM]
- テレビに映す前にハードで横を引き伸ばしてた様な希ガス
- 837 名前:名前は開発中のものです。 mailto:sage [2008/04/20(日) 03:34:27 ID:cDp8kH2M]
- >>830
なんでドラクエ縛りなんだよ
- 838 名前:名前は開発中のものです。 mailto:sage [2008/04/20(日) 06:17:00 ID:bz3vTO0M]
- じゃあ次スレタイトルは「RPGを作る」だねw
- 839 名前:1 [2008/04/20(日) 10:03:41 ID:+3DaT4Zq]
- なんか変な流れになっちゃってますね。
多分僕がなかなかソース上げられないからですね。みんなごめんなさい。 Orz ScreenFlip();を一箇所にしよう、って事で四苦八苦してますが、結構壁が高いです。 次のスレタイは別にこのままでいいとか思ってますが、ダメですか? わがままですが、自分のスレがある、というのでモチベーション維持してきたところがあるので 共用スレにして、100人の中の一人になったら多分ダメになると思う。 あくまで1のスレだ、と言う前提で「俺もこんなの作ってみたー」といってうpしてくれるのは なんか嬉しいので歓迎しますがその作品が軌道にのってきたら別スレ立てて、 お互いにスレ見合いながら競争意識もってやれたらな、とか思ってます。 と、言うわけでうpしてくれるのはjavaでも何でもおkですが、スレタイはそのままで行きたいです。 それにしてももう次スレか… 1スレで完成させるつもりだったのに… Orz
- 840 名前:名前は開発中のものです。 mailto:sage [2008/04/20(日) 10:06:25 ID:O0uxoZ+a]
- やっぱり>>1以外の人は別スレ立てたほうが良いと思うよ。
ここまでスレが盛り上がったのは>>1の功績なんだし、他の人が加わるとややこしい事になりかねない。 姉妹スレとして、例えば「javaでFFっぽいRPGをつくる」とかにしたらどうだろう。
- 841 名前:名前は開発中のものです。 mailto:sage [2008/04/20(日) 10:11:47 ID:o90XncpK]
- >>839じゃあ次スレで完成させるんだ!!
俺も今ゲーム作ってるけどマジすすまねぇ・・・
- 842 名前:名前は開発中のものです。 mailto:sage [2008/04/20(日) 10:59:10 ID:K1fI+EDm]
- >>837
C++でもないドラクエでもない、でもこのスレで出したいってのか? 賑わってるスレによってきてコメントねだる構って君ですか? 寂しい乞食だな。
- 843 名前:名前は開発中のものです。 [2008/04/20(日) 11:00:15 ID:VXM8VlaH]
- >>839
それでいいんじゃない? >>830で、共用でもいいと取れたからこういう流れになっただけだから
- 844 名前:名前は開発中のものです。 [2008/04/20(日) 11:03:33 ID:QqmfLAz5]
- ミス
2つめは>>820ね
- 845 名前:名前は開発中のものです。 mailto:sage [2008/04/20(日) 11:11:03 ID:cDp8kH2M]
- >>842
自治厨うざすぎ >>1のモチベーションUPになる他者のup法としては、 継続的,連続的なupをせず、>>1空気状態にしなければ何も問題にならないと思われるが? 俺は住人じゃなくて>>1に見てもらいたいな
- 846 名前:名前は開発中のものです。 mailto:sage [2008/04/20(日) 13:56:57 ID:YkrvaP70]
- >>845
>俺は住人じゃなくて>>1に見てもらいたいな スレタイ読めてる? うざいのは君では?
- 847 名前:名前は開発中のものです。 mailto:sage [2008/04/20(日) 17:11:32 ID:52CBKnOS]
- 別に大丈夫だろ。うpしたとしても1が見るとは思えんw
空気になって結局すぐやめるから好きにやらせとけ
- 848 名前:447(438) mailto:sage [2008/04/20(日) 17:12:32 ID:uS8kkKZs]
- 自治厨沸きすぎww
>>1の意向無視してるのお前らじゃん
- 849 名前:名前は開発中のものです。 mailto:sage [2008/04/20(日) 17:14:51 ID:tRRY7cv6]
- >>846顔が赤いお( ^ω^)どうしたのかおww?
- 850 名前:名前は開発中のものです。 mailto:sage [2008/04/20(日) 18:09:15 ID:yCsTqTd3]
- おまえら落ち着けw
- 851 名前:名前は開発中のものです。 mailto:sage [2008/04/20(日) 18:30:41 ID:lRNIG5/H]
- 大抵自治厨がわくと荒れる。
ほっとけば自然な流れで進行していくのに。 正義面しておせっかいやくからこういうことになる。 自治は荒らしの一種です。
- 852 名前:名前は開発中のものです。 mailto:sage [2008/04/20(日) 18:41:55 ID:tAGErLRt]
- 結論
>>818
- 853 名前:名前は開発中のものです。 mailto:sage [2008/04/20(日) 18:44:26 ID:ngUzn0rQ]
- 各種統一スレッド
単発質問、単発依頼、思いつき企画、メンバー募集、成果・作業報告等は各種統一スレへ 板案内・初心者質問、 〜作ってください(依頼・企画)、 〜作ろうぜ(メンバー募集)、 〜作ってます(共同製作・プロジェクト)、 〜作ってます(自主製作・作業報告)、 〜作りました(評価希望)
- 854 名前:846 mailto:sage [2008/04/20(日) 22:38:29 ID:YkrvaP70]
- ちょっと反省した
- 855 名前:名前は開発中のものです。 mailto:sage [2008/04/21(月) 00:02:23 ID:Rwokvt3K]
- 盛り上がると必ず自治が沸くな
- 856 名前:名前は開発中のものです。 mailto:sage [2008/04/21(月) 00:17:50 ID:csQBkj+d]
- いいスレには自治厨と便乗厨が憑くもんだ
- 857 名前:名前は開発中のものです。 mailto:sage [2008/04/21(月) 00:36:15 ID:9u3pWyQ1]
- その便乗厨ってのはいつ沸いたんだよ
見えない敵と戦って何が楽しいのやら
- 858 名前:名前は開発中のものです。 mailto:sage [2008/04/21(月) 01:05:45 ID:jgJnHj6j]
- ?
- 859 名前:名前は開発中のものです。 mailto:sage [2008/04/21(月) 02:43:26 ID:csQBkj+d]
- 戦ってるのはお前だろw誰と戦ってるんだよw
- 860 名前:名前は開発中のものです。 mailto:sage [2008/04/21(月) 06:00:10 ID:NF2gkPRe]
- 世界制服を目論む影の委員会と
- 861 名前:名前は開発中のものです。 mailto:sage [2008/04/21(月) 09:57:10 ID:XnARMmNt]
- ということにしたいのですね:)
- 862 名前:名前は開発中のものです。 mailto:sage [2008/04/21(月) 17:40:51 ID:BqqZA/4B]
- >>853
それは運営コストの都合
- 863 名前:1 [2008/04/21(月) 23:43:38 ID:i7JCjSVr]
- 【じゅもん】のコマンドでScreenFlip()を使わなくしたのでとりあえずうpします。
今のところゲームの進行速度が処理系依存になってます。 Flipを一つにする前の方が処理が軽かった気がしますが、それは仕方が無いと思うことにします。 あんまりひどかったらコマンド開く時にマップをSSで取り込んで表示とかにして負担を減らすとか考えてみようと思います。 僕のPcだとだいたいいい感じの速度ですが、無駄な処理が多すぎで問題なのかもしれません。 tp://sakuratan.ddo.jp/uploader/source/date79224.lzh まず関数ポインタを使って分岐を減らしてみようと思います。 あとgetMapObj()をfor文でX、Y二回囲ってやってるのもなんとかならないものでしょうか? こういう場合の常套手段とか、俺はこうやってるぜ、的なものを教えてくださる方がいたら嬉しいです。
- 864 名前:名前は開発中のものです。 mailto:sage [2008/04/22(火) 20:06:14 ID:z54J02Xc]
- 処理系依存ってそういうことじゃないよね
- 865 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 08:21:46 ID:4A0EvJdh]
- D3D使う以上そもそも窓と箱でしか動かないから気にすんな
- 866 名前:1 [2008/04/23(水) 09:39:06 ID:0QvkWPlZ]
- あ、すみません、処理系依存じゃなくて処理能力依存?
今のところスペックでゲーム速度が変わってしまうはずなんですが、そういうのってなんて言うんですか?
- 867 名前:名前は開発中のものです。 [2008/04/23(水) 10:33:39 ID:swO5vEUQ]
- DXライブラリは初期化に時間がかかるのがなんか嫌だ
ほかの良いライブラリ無い?
- 868 名前:みつけてきたよ [2008/04/23(水) 11:30:02 ID:swO5vEUQ]
- BREW C++
www.s-cradle.com/developer/sophiaframework/reversefaq/ DXライブラリ3Dとは 〜作者が明かす開発の様子 fatalita.sakura.ne.jp/3DLib/ Dark GDK - Home gdk.thegamecreators.com/ myhome.cururu.jp/kacom/blog/list/ct4 Simple DirectMedia Layer: Table Of Contents yun.cup.com/wingccsdl.html www.libsdl.org/intro.jp/toc.html DirectX9.0c用ライブラリ Luna luna.sumomo.ne.jp/ Selene/ Lue selene-lue.halfmoon.jp/ SimpleXとUDXのホームページ www.geocities.jp/yuetake/
- 869 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 13:10:06 ID:5p/xLUnT]
- つGLUT
- 870 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 13:36:44 ID:GxtbO+3R]
- >>866
処理系が何かまず理解しようぜ >>868 釣りにしか見えんがあえて突っ込む プレイする人全てにBREW SDKインスコさせるんか? 実機で動かせないのにBREWでやるメリットは? 標準ライブラリ禁止の環境を選ぶメリットは? なぜクァルコムでなくソフィアクレイドル?
- 871 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 14:51:23 ID:43r2j5ue]
- 適当に見つけてきただけでないかい?
- 872 名前:名前は開発中のものです。 [2008/04/23(水) 17:35:16 ID:swO5vEUQ]
- アドバイスを元に厳選した結果、この3つなりました GLUTはゲーム向きじゃないみたいで入れなかった
Dark GDKはマイクロソフト純正でDirectX9cをフルサポート。 マイクロソフトVS2008/VC++のオプションとして無料配布。 SDLはマルチプラットフォームで日本語サイトも多いみたい。 SimpleXとUDXは日本人製。 Dark GDK - Home gdk.thegamecreators.com/ myhome.cururu.jp/kacom/blog/list/ct4 Simple DirectMedia Layer: Table Of Contents yun.cup.com/wingccsdl.html www.libsdl.org/intro.jp/toc.html SimpleXとUDXのホームページ www.geocities.jp/yuetake/
- 873 名前:名前は開発中のものです。 [2008/04/23(水) 17:38:50 ID:swO5vEUQ]
- Dark GDKは、Micorosoftが紹介しているだけかもしれない
詳細不明 www.microsoft.com/express/samples/GameCreators/
- 874 名前:名前は開発中のものです。 [2008/04/23(水) 18:09:24 ID:TTpE0aSM]
- >>873
その通り紹介しているだけだ 純正じゃない
- 875 名前:名前は開発中のものです。 [2008/04/23(水) 18:29:30 ID:swO5vEUQ]
- Dark GDK って本体が220MあってVC2008専用っぽいですね。やってみようしたけど導入がめんどいな。
- 876 名前:名前は開発中のものです。 [2008/04/23(水) 20:13:08 ID:swO5vEUQ]
- ここのプログラマは質良かったが途中で計画倒れになった 動かせる実行プログラム置いてある
FrontPage - SaGe4開発公式Wiki f44.aaa.livedoor.jp/~sagadev/saga4wiki/pukiwiki.php
- 877 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 21:56:19 ID:YX93E4iV]
- >>873
有償サードパーティ製品の商用不可版だよそれ
- 878 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 22:51:05 ID:7u/w19vf]
- bbd)494d@fuetoeeyw@f
- 879 名前:名前は開発中のものです。 [2008/04/23(水) 23:24:57 ID:CuNq78kL]
- もうSDLでいいじゃん
簡単だし
- 880 名前:名前は開発中のものです。 mailto:sage [2008/04/24(木) 00:06:04 ID:Zc+98OBr]
- >>879
C++で使うと悪い癖が付くから俺的には非推奨だな…
- 881 名前:876 [2008/04/24(木) 01:24:31 ID:qFWKTgUR]
- 本家は消えたよ
こっちは動くの置いてある ソースコードもついてるけどグラフィックどうやってるのかわかる人いますか? www.geocities.jp/saga4project/
- 882 名前:876 [2008/04/24(木) 01:33:33 ID:qFWKTgUR]
- BitBltっていうwinAPIがあるんですね しらんかったよ
ほかに必要なものはなく動かせるのがいいですね
- 883 名前:名前は開発中のものです。 mailto:sage [2008/04/24(木) 02:27:44 ID:xwy2OfN/]
- BitBltは旧GDIのメインコード
今はDrawImageだっけ?
- 884 名前:名前は開発中のものです。 mailto:sage [2008/04/24(木) 02:29:08 ID:xwy2OfN/]
- ちなみにBitBlt=Bit Block Transfarの略だ
- 885 名前:名前は開発中のものです。 [2008/04/24(木) 03:00:50 ID:qFWKTgUR]
- ビットキャラ動かすだけなら、Windowsの標準だけで出来るって、初心者はなかなか知らないね
SaGa4のソースと画像を変更すれば簡単にできそう
- 886 名前:名前は開発中のものです。 mailto:sage [2008/04/24(木) 05:45:32 ID:YOUwEz7i]
- 直接メモリ内容をWindowへ描画できる、SetDIBitsToDeviceの方が使い勝手がいいよ。
- 887 名前:名前は開発中のものです。 mailto:sage [2008/04/24(木) 09:22:38 ID:x+WW2ER3]
- 描画が遅くてマップスクロールや半透明処理に難ありだけどな。
- 888 名前:名前は開発中のものです。 mailto:sage [2008/04/24(木) 11:31:38 ID:iYC7zBhe]
- >>884
Transf'e'r
- 889 名前:名前は開発中のものです。 mailto:sage [2008/04/24(木) 17:00:04 ID:3KtvzujD]
- (`e´)
- 890 名前:名前は開発中のものです。 mailto:sage [2008/04/24(木) 20:33:05 ID:6S7HGBZe]
- >>887
いや、そうでもない。 というか、むしろDirectGraphicsよりもDIBSectionの方が使いやすいし、安定する。 半透明処理って、今は携帯(iアプリ)でもソフトでできちゃうんだよね・・・。 冗談で20*20のキャラクタのRGBベース半透明処理をint配列上でやったら、50個(20*20*50=20000ピクセル)でも問題なかったw
- 891 名前:名前は開発中のものです。 mailto:sage [2008/04/24(木) 20:35:25 ID:DPr7DyyX]
- 俺もDIBSectionでやってたなぁ。直接いじりやすいし
- 892 名前:名前は開発中のものです。 mailto:sage [2008/04/24(木) 20:43:51 ID:xwy2OfN/]
- ケータイのCPUやメモリバンドは結構高性能ですよ
パソコンとの比較で圧倒的に劣るのは 容量関係でしょうねぇ
- 893 名前:名前は開発中のものです。 mailto:sage [2008/04/24(木) 21:15:28 ID:x+WW2ER3]
- 早いといってもハードウェア資源を活用できるDirectXやOpenGLの方が描画が早いわけだから要するに俺様の勝ちw
- 894 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 00:13:04 ID:zJzd1rCb]
- 何も考えず毎フレーム描画しまくった方が簡単だし
- 895 名前:名前は開発中のものです。 [2008/04/25(金) 07:00:49 ID:CbC63WhO]
- >>880
詳しく
- 896 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 09:55:28 ID:S01dxMay]
- >>895
設計、命名規約全てが古い思想のまま時間が止まっている。 おかげで可搬性(勿論Cに対する親和性も)は高いが、C++の勉強にはならず、知らず知らずのうちにベターCが癖になってしまう。 だからIrrlichtやOgreのような、C++にターゲットを絞ったライブラリがオススメ あくまでもC++の勉強と言う意味の話な 自分でラッパークラス作る人には関係ない。 あとライブラリならsourceforgeやGPWikiで探したほうが早そう
- 897 名前:名前は開発中のものです。 [2008/04/25(金) 10:49:15 ID:5EPDv8+U]
- 言わんとしてる事は分からなくもないが
ここで3Dメインのライブラリ奨められともな
- 898 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 11:09:29 ID:S01dxMay]
- >>897
今なら2Dも板ポリで描画するのが普通だと思うのだが、このスレ的には違うらしいな >C++にターゲットを絞ったライブラリがオススメ ここが主題なので気にしないでくれると助かる
- 899 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 11:28:24 ID:zJzd1rCb]
- Irrlichtみたいな3D向けのライブラリで2Dやろうとするとかなり面倒だよ
結局自分でその上にさらに2Dライブラリを書く破目になる
- 900 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 11:31:25 ID:DkNdWCpn]
- >>899
日本語理解できる・・・?
- 901 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 11:55:03 ID:zJzd1rCb]
- 言いたいことはわかるけど2D限定なら何選んだとしても
DrawTexture(image, pos)みたいな機能しかどうせ使わないでしょ
- 902 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 12:04:24 ID:DkNdWCpn]
- >>901
日本語でおk >>899と繋げるとなお意味不明になる
- 903 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 12:31:02 ID:GrqzlfQ5]
- いじめてやるなよ、彼は22なんだ。
- 904 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 12:39:41 ID:CbC63WhO]
- >>896
そういう意味ね C++でプラットフォームSDKを直に使うようなもんか
- 905 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 13:17:25 ID:S01dxMay]
- >>901
俺へのレス?違ったらごめんなさい。 機能が不足しているからSDLでは駄目と書いたつもりはないよ(実際書いてないし) >言いたいことはわかるけど 何が伝わったのやら不安です
- 906 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 13:52:26 ID:zJzd1rCb]
- 3Dだとシーンノードとか色々エンジンに枠を決められる形になるかもしれないけど,
2D限定ならC向けだろうがC++向けだろうがそんなに変わらないんじゃないのかと言いたかっただけ C++の勉強が目的なのに頂点触るような低レベルな処理を自分で書くことになるなら本末転倒だから 自分なら2Dの機能が充実してて余計な手間が少ない方を選ぶかな 言葉足らずですまん
- 907 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 14:19:34 ID:S01dxMay]
- >>906
やっぱり伝わってない >低レベルな処理を自分で書くことに なんで例に出したエンジン限定で考える? クラスライブラリを使うだけでも大きな違いになる C++のライブラリは皆3Dしか考えてないとでも言うのだろうか
- 908 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 14:40:51 ID:lEKC9FQk]
- >>906は>>898の2行目だけでなく>>896もしっかり読め
- 909 名前:名前は開発中のものです。 [2008/04/25(金) 23:08:19 ID:y04GeOWH]
- 自分でラッパークラスつくるのも勉強になるぞ
- 910 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 23:26:15 ID:Juw+qoZr]
- ラッパークラス作るくらいならDQ1じゃなく
人のラッパーでFF7作ってくれ
- 911 名前:名前は開発中のものです。 mailto:sage [2008/04/26(土) 02:03:09 ID:KYMBYF8v]
- DIBSectionはCreateDIBSectionで作成されるHBITMAP.
だから、DCも作れてBitBltが使える。 SetDIBitsToDeviceはいらないよ。
- 912 名前:名前は開発中のものです。 mailto:sage [2008/04/26(土) 02:29:04 ID:oRlt/XjJ]
- >>909
オブジェクト指向身についてからじゃないとゴミを量産することになるかとww
- 913 名前:名前は開発中のものです。 [2008/04/26(土) 09:18:44 ID:/H3NhDgZ]
- >912
誰もが通る道
- 914 名前:名前は開発中のものです。 mailto:sage [2008/04/26(土) 10:04:23 ID:kYLpue6d]
- >>898
板ポリの方が速度的にも有利っぽいね。 そういや、seleneは板ポリで楽に2D描画できたような。 2DなのにユーザーにDirectX9入れさせるのが心苦しくて、 結局SDL使ってるけどw
- 915 名前:名前は開発中のものです。 mailto:sage [2008/04/26(土) 10:19:58 ID:HD/ItWBW]
- >>914
directx9なら普通入れてるだろ・・・
- 916 名前:名前は開発中のものです。 mailto:sage [2008/04/26(土) 10:29:40 ID:Ty9eGfu0]
- DXライブラリも板ポリだよ
SDLは回転できないのがなあ
- 917 名前:名前は開発中のものです。 mailto:sage [2008/04/26(土) 10:35:14 ID:S1C7Q8xe]
- どうせならDQ8をドット絵で作り直そうぜ
- 918 名前:名前は開発中のものです。 [2008/04/26(土) 20:34:50 ID:/H3NhDgZ]
- SDL+OpenGL最強
- 919 名前:名前は開発中のものです。 mailto:sage [2008/04/26(土) 20:44:15 ID:oUGgudS+]
- OpenGL(プ
- 920 名前:名前は開発中のものです。 mailto:sage [2008/04/26(土) 21:38:33 ID:sRUsMPI7]
- GLUT最強
- 921 名前:名前は開発中のものです。 mailto:sage [2008/04/26(土) 22:49:28 ID:EWnb+tnm]
- もうそろそろスレたって半年になるのかぁ
- 922 名前:名前は開発中のものです。 [2008/04/27(日) 14:21:38 ID:BqPYtsIq]
- 不毛なゲーム機論争のようになってるところをみると
そろそろ飽きて来たようだな
- 923 名前:名前は開発中のものです。 mailto:sage [2008/04/27(日) 14:53:03 ID:Juz4fgvh]
- 住人がな
- 924 名前:名前は開発中のものです。 mailto:sage [2008/04/27(日) 15:55:39 ID:d8dn9eud]
- いやいや、色々勉強になってるよ
平行線でもなんでも色々なやり方が聞けるのはいい
- 925 名前:名前は開発中のものです。 mailto:sage [2008/04/28(月) 01:42:33 ID:XuEZuVtq]
- わたしゃ自前のゲームは仕様書を書き始めてから
2ヶ月半で作り終えたよ まぁC++なんてレガシー言語を使えって言われれば、 それ以上かかるかもしれんが 何せ出来上がったもの次第の世界だからねぇ
- 926 名前:名前は開発中のものです。 mailto:sage [2008/04/28(月) 03:29:04 ID:4e2Q4ZFn]
- ゲームプログラムで常に一昔前の言語が使われてきた理由は一重に「処理速度」だから
高性能なCPUが出回る昨今では確かにDQ1くらいの低負荷ゲームを敢えてC++で組む必要はないのかもしれない まあ今後も低・中負荷なゲームを作り続けるつもりだったらの話だけど
- 927 名前:名前は開発中のものです。 mailto:sage [2008/04/28(月) 03:53:11 ID:++Yg+mW/]
- 「常に」とか「一昔前」とか
何を言ってるん
- 928 名前:名前は開発中のものです。 mailto:sage [2008/04/28(月) 05:39:49 ID:PyUwQy1r]
- 今おすすめの言語は?
綾織?
- 929 名前:名前は開発中のものです。 mailto:sage [2008/04/28(月) 07:20:56 ID:4e2Q4ZFn]
- >>927
Cが盛んに使われてる頃にアセンブラをずっと使ってて C++やJAVAに移った頃にC言語をやっと使い始めた C++が古くなった頃にやっとC++(オブジェクト指向)化 そういう意味なんだけど「常に」とか「一昔前」がそんなに気になった? >>928 ゲーム業界目指すんなら未だにC++じゃないかな 次の世代ではメモリオーバーランやオーバーフローが発生し難い言語に移りそうだけど
- 930 名前:名前は開発中のものです。 mailto:sage [2008/04/28(月) 07:40:22 ID:Teb0uPLP]
- >>928
携帯の勢いが強いから、Javaかな
- 931 名前:名前は開発中のものです。 mailto:sage [2008/04/28(月) 08:24:39 ID:PyUwQy1r]
- >>930
なるほど・・・ PC限定では何でしょう?
- 932 名前:名前は開発中のものです。 mailto:sage [2008/04/28(月) 09:04:30 ID:XuEZuVtq]
- PC限定ならC#かVBじゃないですか
C++は性能は高いけど何せ煩雑
- 933 名前:名前は開発中のものです。 mailto:sage [2008/04/28(月) 09:13:34 ID:6/mav3Ok]
- >>930
ちょっと紛らわしいレスだと思う 携帯JavaとJavaは区別して考えたほうがいい 容量制限のおかげでまともにオブジェクト指向を駆使できない環境だから 重箱の隅つついてすまん >>931 どれくらいプログラム書ける人なのか示してくれないと…
- 934 名前:名前は開発中のものです。 [2008/04/28(月) 09:27:50 ID:1byUW4+2]
- 携帯はC言語だろ
- 935 名前:名前は開発中のものです。 mailto:sage [2008/04/28(月) 09:47:38 ID:+ItDL5tD]
- このスレも終焉を迎えているようだな
この板の流れはいつもこうだ
- 936 名前:名前は開発中のものです。 mailto:sage [2008/04/28(月) 10:23:22 ID:Teb0uPLP]
- >>933
おいおい。 いつの時代の話だw 今の携帯は、jarも100KBが最低線、MBアプリが標準の一角に入り込もうとしている状況だよ。 携帯/PC両用のJavaライブラリ(DoJa/MIDP2.0/Java2SE対象)だって、十分現実的(実際、やってみたことがある)。
- 937 名前:名前は開発中のものです。 mailto:sage [2008/04/28(月) 11:38:16 ID:6/mav3Ok]
- >>936
どんなしょぼいアプリなの? 仕事でやってたら普通にキツキツ
- 938 名前:名前は開発中のものです。 mailto:sage [2008/04/28(月) 11:58:42 ID:whTKnOvF]
- >>936
似非オブジェクト指向乙
- 939 名前:名前は開発中のものです。 mailto:sage [2008/04/28(月) 17:21:33 ID:hbTwTj/G]
- どんだけプログラムができる連中なのかは知らないが
スレ違いの話題で馬鹿みたいに盛り上がってるのを見ると 人間的には・・・だな 傍から見ててみっともない
- 940 名前:名前は開発中のものです。 mailto:sage [2008/04/28(月) 17:30:17 ID:whTKnOvF]
- >>939
まぁもちつけ。 スレの頭から読み直せ
- 941 名前:名前は開発中のものです。 mailto:sage [2008/04/28(月) 17:56:39 ID:9cIDDrog]
- 1ってもう一週間くらい来てないのか?俺もゲーム作るの遅いけど頑張ろうぜ!!
- 942 名前:名前は開発中のものです。 mailto:sage [2008/04/28(月) 18:26:31 ID:YSHpPx0n]
- はなす >>1
へんじがない。ただのしかばねのようだ。
- 943 名前:名前は開発中のものです。 [2008/04/28(月) 18:31:33 ID:4prTFfqn]
- 選ぶのはC++でいいんじゃない?
どのみち色んな言語渡り歩くんだろうし。 スレ違いとも言われないしなw
- 944 名前:1 [2008/04/29(火) 03:38:37 ID:+dE29e3P]
- なかなか修正が終わりません。
作業時間が減ったのも要因ですが、やっぱり力不足と作った関数の流れを忘れていて作業効率が落ちている感じです。 フィールドのFlipScreenを一つにまとめる、ということで修正してますが メッセージコマンドの扱いで悩んでます。 扱いというか、文字の表示の仕方、っていうんですかね? それとクラス構造で迷ってます。 シーンはオープニングと移動と戦闘の三つ。 FieldクラスとBattleFieldクラスの親クラスとして抽象的なクラスを作り、それを継承したOpeningFieldクラスを追加。 それぞれに対応したAgregateCommandクラスを持ち、 キー入力を受け付けるcontrol()関数と、描写を行うdraw()関数を実装する。 なんかよく分からない文章になってます。通訳が必要かもしれません。Orz 今までの今までの成果物上げておきます。 あと極端な脱線はスルーしますが、今まで位の脱線は好きです。 書き込みが無いのは分からない単語を少しずつ調べて飲み込もうとしてるからです。 へたれな1ですが、まだまだ続けます。よろしくです。 tp://sakuratan.ddo.jp/uploader/source/date80026.lzh
- 945 名前:931 mailto:sage [2008/04/29(火) 04:44:17 ID:Xk4jJJyO]
- >>932
thx >>933 これから趣味でやるなら何がいいかなと思っただけなので
- 946 名前:名前は開発中のものです。 mailto:sage [2008/04/29(火) 08:51:47 ID:/lmprzCX]
- タスクシステムやっとけ
- 947 名前:名前は開発中のものです。 mailto:sage [2008/04/29(火) 16:01:07 ID:jsqLnRsc]
- >>945
全くの初心者ならHSPでも便利と感じてしまうし、 初心者でないならかえって不便に感じるし… どの程度できるのか知りたいっていうのはそういう意味 旬は動的言語と.NETだけれども、初心者&ユーザー視点では抵抗あるだろうね
- 948 名前:名前は開発中のものです。 [2008/04/30(水) 00:35:27 ID:YVwxJ37t]
- >>944
なんか、ファイルが開けないと出て 遊べないんだよね 俺の環境のせい? ファイルパスのマルチバイト文字とか そこら辺が問題の予感
- 949 名前:名前は開発中のものです。 mailto:sage [2008/04/30(水) 02:14:25 ID:dm94fi1G]
- >>948
Cの直下に置いてみた?
- 950 名前:名前は開発中のものです。 mailto:sage [2008/04/30(水) 20:01:46 ID:m5kTmUDX]
- オブジェクト指向がよく分からん
1のコードをVBに移植しようと思うんだが クラスに入力情報を受ける関数をぽんと作ればいいのかな
- 951 名前:名前は開発中のものです。 mailto:sage [2008/04/30(水) 20:03:11 ID:m5kTmUDX]
- >>947
それはいえてる 俺たちおっさんは.NETすげーだけど 初心者は案外そうは思わないようだ
- 952 名前:名前は開発中のものです。 mailto:sage [2008/04/30(水) 22:26:32 ID:m5kTmUDX]
- まず冒険の書とか選ぶ部分は
バイトリード+コモンコントロール・・・を使うのがセオリーだって 僕なんかは思うんだが ↑のソースではループしながら入力を検知するみたいで なんか・・よく分からん 結局元のコードは無視して冒険の書は1から作り直した。 まぁVBだから早い。1日で出来た 他にもある 戦闘シーンが出てきて全体攻撃などでAI振り分け処理があるんだが そのもともとのデータをポインタ参照で取得しているが VBにはポインタがなくてよー分からんw だれかフォローおね
- 953 名前:名前は開発中のものです。 mailto:sage [2008/04/30(水) 22:52:28 ID:m5kTmUDX]
- まだまだある
キャラクターの基底クラス?とかあるけど、変数データが山のように だらだらと・・・パラメータをまとめるヘッダファイルとかもあるが VBだったらこれは多重継承に書き換えてOKだよね? 別に非難している訳じゃない Field.cppとかよく出来てる ここら辺は参考になった・・・けど、手元で別に開発している ゲームプログラムとそっくりだ 結局マップチップの処理は愚直に場合分けする しかないという結論になるのかな
- 954 名前:名前は開発中のものです。 mailto:sage [2008/04/30(水) 23:07:17 ID:tyYl+BZ6]
- >>949
ソース見てたら、ただ単に未実装なだけの気もしてきた すまん
- 955 名前:名前は開発中のものです。 mailto:sage [2008/04/30(水) 23:21:14 ID:V/TwBdKB]
- >>950-953
久々に触って熱くなってるのか知らんが少し落ち着いてくれ いじるのも設計見直すのも勝手だが、連4レスとかがっつきすぎだろう ポインタと同等な機能の実装はググったら参照渡しとか出てくるよ
- 956 名前:1 [2008/05/01(木) 23:14:17 ID:7qrsvu5o]
- >>950
僕ごときのソースを改変しようとか言われてちょっと嬉しかったりします。 冒険の書選択画面もフィールド移動も戦闘も、なるべく同じように扱おう、という考えでこんな感じになってます。 ちなみにバイトリードって何ですか?コモンコントロールはぐぐったらなんとなくは理解できました。 キャラクタの基底クラスの変数郡は… 今のところ力、素早さ… 等のパラメータはMetaStatusクラスとしてまとめて持たせてますが、 どうやってまとめたらすっきりしますか?アドバイスいただけたら嬉しいです。 そういえばそろそろ次スレ立てた方がいいのかしら?
- 957 名前:名前は開発中のものです。 mailto:sage [2008/05/02(金) 00:05:36 ID:0Fx+UNNq]
- >>956
VBですとクラスの多重継承の間にモジュール構造体をそのまま 取り込んだりも出来るんで、クラス数を抑えながら非常に複雑な プログラミングが出来るんです すいませんがC++は詳しくは知りません 多分お作りの内容で最善に近いまとめかたではないでしょうか
- 958 名前:名前は開発中のものです。 mailto:sage [2008/05/02(金) 00:07:22 ID:0Fx+UNNq]
- 要するに移植するにあたってのこっちの都合ってことです;
せっかく手間をかけて作業するんだから↑のようなVBの メリットを生かして、ついでに元のコード量を大幅に 削減したいなということです それだけです。すいません
- 959 名前:名前は開発中のものです。 mailto:sage [2008/05/02(金) 02:40:01 ID:+Vg7G+ZR]
- >>957
は?VBで多重継承なんかできないでしょ?
- 960 名前:名前は開発中のものです。 mailto:sage [2008/05/02(金) 04:53:59 ID:W+spjiUa]
- FCのドラクエなんてアセンブラでしょ。 多重継承は使ってませんよ。
- 961 名前:名前は開発中のものです。 mailto:sage [2008/05/02(金) 08:31:40 ID:+Vg7G+ZR]
- >>960
とりあえず黙っててくれないか
- 962 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 18:21:24 ID:mspxDfm7]
- 見事にスレを止めた>>961
- 963 名前:名前は開発中のものです。 [2008/05/05(月) 21:03:29 ID:bM7ttr2Y]
- 960gj
俺たちは1の動きを待ってるぜ。
- 964 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 23:34:41 ID:dnPAwGNu]
- FCのドラクエといえば会話中、ウインドウ表示中は一切他のオブジェクトが動いてないから
C言語+DXライブラリでいうところの for(i=0;i<60;i++)ScreenFlip(); みたいな処理がいたるところにあるんだろうな・・・ 色んな処理を各関数内で完結できそうで楽そう
- 965 名前:名前は開発中のものです。 [2008/05/06(火) 01:30:32 ID:EviW9RDm]
- モンスターの行動が【たたかう】以外もできるようになりました。
スライムべスがこうげきとメラを3:1の割合で使ってきます。 tp://sakuratan.ddo.jp/uploader/source/date80861.lzh Flipの一元化ですが、挫折しそうです。 Orz メッセージの表示で挫折。 イベント実行中で挫折、です。 よく考えたら、これってマルチスレッド処理にした方が楽なんじゃないか、というか マルチスレッドっぽいものを自力で実装をするのに他ならないんじゃないか、という事に気がつきました。 いままでちまちまやってきたことが無駄になりそうですが これはそのままにしておこうと思いました。 必要が出てきたら直します。 p.s. またもやアク禁です。 次スレ立てられないけど、過疎スレだしなんとかなりますよね、きっと。
- 966 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 02:39:06 ID:WOM/spyE]
- はじめてきたが、お前はだれだ?
- 967 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 02:43:10 ID:8rS0+5WG]
- 次スレは有志が立ててくれるさ
ところで、描画は一つのクラスに纏めた方がいいかもね Flip云々より、複数のクラスに描画処理があるのが問題だと思う 実際流れが把握できてないみたいだしw
- 968 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 02:43:43 ID:8rS0+5WG]
- はかせ名前名前ー!
- 969 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 02:53:26 ID:KlSvD65Q]
- 思うままにマルチスレッド使おうぜ
- 970 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 03:16:57 ID:KUBYYhJx]
- >>963
何がgjなのかわからん >>960って、詭弁の定義にモロあてはまってるから そもそも何を言いたいのか俺にはわからねえ…
- 971 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 08:02:43 ID:5MeL008e]
- >>967
最適の手法なんてものは時と共に変化するよ
- 972 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 09:22:43 ID:Mjb5jGkE]
- 俺なんかはウィンドウズプログラミング始めるときに描画処理とゲーム処理で完全に分けるスタイルに変更したから
エミュレータとかにあるようなターボモードとかスローモーションとかも実装できたよ。 おかげでめんどいとこは飛ばせるぜ
- 973 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 10:24:27 ID:GzFpALvZ]
- 描画処理はコールバックに、
ゲーム処理はメッセージループに書くとか?
- 974 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 10:32:39 ID:7NG3eqmK]
- ドット絵に足踏みさせないの?w
- 975 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 12:29:43 ID:o5unedUS]
- >>971
それはそうかもしれないが、 この場合は纏めるとこから始めた方がいいと思うんだよね 基礎勉強の意味でも
- 976 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 16:19:38 ID:KUBYYhJx]
- >>967
描画を1つのクラスまとめるってどういうこと? ゲーム内オブジェクトをPaintクラスが全て追跡して描画とか? そんな極悪な設計は考えられん…
- 977 名前:名前は開発中のものです。 [2008/05/06(火) 16:58:35 ID:GABAW0Yk]
- >>976
確かに一つのクラスてのは言い過ぎだったかも でも、描画を分離することに意味はあるはず
- 978 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 19:41:47 ID:IfzoUQfN]
- ゲームプログラミングにおいては>>972のやり方が普通だね
描画と状態の更新は分ける、コレ基本 で、全てのゲームオブジェクトに更新メソッドと描画メソッドを追加する そしてメインとなるクラスから メインループ { 更新(); if (フレームスキップするか?) { 描画(); ScreenFlip(); } } とするだけ、あとは各メソッドが芋づる式に呼ばれる。
- 979 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 20:38:09 ID:i9CaJWKJ]
- 愛はいつだっていもづる式さ
|

|