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