C++でFCのドラクエっぽいRPGを作るat GAMEDEV
C++でFCのドラクエっぽいRPGを作る - 暇つぶし2ch503:501
08/02/08 13:15:21 sAmmpMO4
>>502
すまん、間違えた。
クラスのstaticメンバだったんだな。
普通のグローバル変数と勘違いしていた。
クラス自体が宣言だ。
> extern char * global::c;
> extern std::string global::msg;
これはいらない。501で言ったことは忘れてくれ。

あと、確かに>>502の言うように
//* const.cpp
char global::c[64];
としたほうがいいな。

それで気づいたのだが、
char * global::c = 0;
はバグだな……。
ここで配列の初期化はできないぞ。
しかもポインタで代入してるし……。
>>1にはコンストラクタを使えといっておく。

504:名前は開発中のものです。
08/02/08 22:54:29 1LutvMl1
ぼ、ぼ、ぼくも、C++でゲーム作るんだお。
すーぱーマリおだお。
URLリンク(members2.tsukaeru.net)

さん、をつけて、ねっ。はずかしがりや、さんっ。
ぼ、ぼ、ぼくは、言語にふりまわされないんだからっ。えっへん、だお。
なんかー、言語名を冠につけるってはずかしいお。きゃっ。
すれちがっている。ミーンがすれちがっている。しゅーるだお。
ぼくね、IQ300なんだおって細君にいったら、絶対30だからっ!って言われたの。
1回転して、30になっちゃたんだね。って言ったら、ほんとに30だねって感心されたお。ぶぃっ!

なにがいいたいかってーと、まぁ、言語に振り回されんなや、ゲームなんて、たかだか、数値と画面を
更新してるだけのもんだで。まじでそんだけ。ぷっ。だよな。むずかしいことなんて、ひとつもないぜ。
まぁ、頑張れや。ぼ、ぼくは、いま、がんばれ屋さんです。がんばれ、1。
あんまりにも言語に振り回されている様が、恥ずかしかったので、まぁ、書き込んでしまた。

ぼくのオーバードライアブ(波紋)が、伝わっただろうか。夕陽のオレンジのオーバードライアブ(覚醒の波紋(あの裏側が目覚める!))

505:名前は開発中のものです。
08/02/09 00:26:46 41azRV47
C言語ぐらいわかってからゲーム作れよw

URLリンク(www.ascii.co.jp)
オススメ

506:名前は開発中のものです。
08/02/09 00:35:32 ucOS0Odn
スレリンク(gamedev板)
ここのオガワンってヤツだろ

507:名前は開発中のものです。
08/02/09 02:08:54 uWdwi6vy
ホームページに自分の画像を載せてるけどナルシストなのかな?

URLリンク(members2.tsukaeru.net)

508:名前は開発中のものです。
08/02/09 02:17:17 OEsnMtz3
>>504
あまりにも酷いソースでお茶噴いたww

509:名前は開発中のものです。
08/02/09 21:35:27 vKTa7a8F
>>504
宣言わろた

510:名前は開発中のものです。
08/02/10 00:36:09 Ze9YCxYS
>>504
> int TIME[3]; //基本的に、通番の変数は1番から使う。0番は無視。
クソワロタww


511:名前は開発中のものです。
08/02/10 07:51:48 DQWHtX5v
using namespace std; //?

512:1
08/02/11 00:04:10 vFv6OLzk
ろだの調子が悪いんじゃなくて、サイズオーバーでした Orz
VCに変えたとたんいきなり5倍くらいサイズが増えたみたいでびっくり。

コンパイル事態は通ったものの、会話するとエラーで落ちる。
どうやらhakase.hのStringクラスが悪さしてるみたいだけど、まだ原因の特定には至ってません。

IDEに慣れるまで少し時間はかかりそうだけど
とりあえずデバッグ機能は使いこなせるようになりたいな。

URLリンク(sakurachan.dip.jp)

513:名前は開発中のものです。
08/02/11 02:35:47 vFv6OLzk
あとなんか良く分からなくなってきたので質問なんですが

const.h
class global{
  public:
   static char c[64]; //これが宣言
};

const.cpp
char global::c[64] = ""; //これが定義

でいいんですよね?
ちなみにこのクラスはexternを知らなかったので
無理やりグローバル変数として使ってた。
グローバル変数って言っても、宣言無しで使いまわしてなるだけメモリを使わないように、って用途ですけど。
コンストラクタは一回も呼び出されないので、cppで定義しました。
もしクラスを生成するなら
const.cpp
char global::c[64];
global::global(){
 c="";
}
でいいのかな?
でもコンストラクタが呼び出されるたびに初期化されちゃう?




514:名前は開発中のものです。
08/02/11 04:10:20 pgtIh2EL
文字列と文字は違うからどちらもコンパイルできないよ

515:名前は開発中のものです。
08/02/11 08:30:36 aDsF8YDL
>>512
たぶん 拡張子 .ncb ってヤツが一番巨大だと思うんだけど、
.ncb は各々の環境で勝手に作られるから、配布時は不要っすね、
配布用からは消して圧縮すればいいよー。

あと、すごい昔から気になってたけど
はかせって何よ?

516:名前は開発中のものです。
08/02/11 14:28:47 UBlSMgHv
俺もそれが気になる。すげー気になるw>はかせ

517:名前は開発中のものです。
08/02/11 14:37:13 dALXccIV
>>481を見るとユーザ名みたいだけど
1の名前なのかな

518:名前は開発中のものです。
08/02/11 14:50:42 G+Qy0YvV
これからは>>1をはかせと呼ばせていただきます

519:名前は開発中のものです。
08/02/11 20:01:42 o0lcrIeV
NCBはインテリセンスのキーワードデータベースだな
STL使うと相当膨れる。

520:名前は開発中のものです。
08/02/11 22:31:24 ummcWhTi
余計なファイルを作らせない設定ってないんですか?

521:名前は開発中のものです。
08/02/11 23:57:52 HhQuAIPA
インテリ切れば?

522:1
08/02/12 00:22:15 tLRoXqiP
はかせ は僕のあだ名です。
もっとも今もそうやって呼ぶ人はいなくなったけど、気に入ってるから使ってます。かたわれも同様。
本名ってのもアレだし。
>>512のエラーですがデストラクタで
delete [] restr;
をする時にエラーになってるっぽい。
危険だけどコメントアウトすると動くんだけどなんで?
コンストラクタはそれぞれ引数に char* FILE* std::string を取る三種類しかなくて
それぞれで char str[] と char restr[] を new してて
strとrestrの配列は同じ長さをとってあるはずなのになんで?

でも、まったく違うところが原因かも。

523:名前は開発中のものです。
08/02/12 00:28:40 IKtCZVK3
>>520

ツール(&T)→オプション(&O)→テキストエディタ→C/C++→全般→入力候補
自動メンバ表示(&M) [OFF]
パラメータヒント [OFF]
→OK

524:はかせ
08/02/12 01:22:27 tLRoXqiP
バグの原因がわかりました。
Stringクラスを作る時の引数が、空の文字列だとエラーになるみたいです。
とりあえずMsgCmd::Draw() 側ではじくようにしたんですが
本来はStringの方で何らかの処理をすべきですよね。

さて、どうやって処理するのが一番いいんだろう?
ゆっくり考えてみます。
さて、ようやく前に進めそうなのでモチベーションあがってきました!

↓とりあえず動くようにしたバージョン↓
URLリンク(sakuratan.ddo.jp)


525:名前は開発中のものです。
08/02/12 04:46:08 XWB4jY1F
おー、久々にビルドしてみたら、スゴい進化してるではないか
ルーラとかまで実装されてんのな

画面上のウィンドウを生成するところは
装備ウィンドウやステータスウィンドウごとに力技で作ってるように見えるけど
ウィンドウ生成部分は、もっと部品化していいんじゃないっすかね?
基本的に # とか % で長方形を作ってるだけっしょ?
難しいんかな?

526:名前は開発中のものです。
08/02/12 18:37:02 oGlnsN82
解凍した中のDebugフォルダの中のtest.exeクリックしたら、
「デバッグ」
「GameData\Useable\SpellList.csvが開けませんでした。」
が出て、プログラム終了してもプロセス残っててCPU100%になるんだけど、なんで?
これこっちでVC入れてコンパイルしないと実行ファイル試せないの?

527:名前は開発中のものです。
08/02/12 19:09:02 fyhPt8Zk
.\GameData\Useable\SpellList.csv
を用意してやれば

528:はかせ
08/02/13 11:01:51 husK91Sv
>>526
解凍したフォルダにdebugフォルダとGameDataフォルダがあると思います。
GameDataフォルダをdebugフォルダに入れてからtest.exeを起動するとできると思います。
プロセスが残ってる件は、これからやっつけます orz

529:はかせ
08/02/15 08:08:59 Vnl/Si0U
城などの入り口の位置を修正しました。
大きい扉を実装しました。
移動中に【e】を押すとエンカウントを無効にできます。

URLリンク(sakuratan.ddo.jp)

岬の洞窟に入った時に二人目以降のグラがおかしいです。
原因は分かっているので、それを上手いこと修正したいと思います。

530:名前は開発中のものです。
08/02/15 09:04:54 5vT1hdTU
インテリoffってどこの馬鹿だよ…

531:名前は開発中のものです。
08/02/15 19:41:30 mWyYNOjz
本人が余計なものと認識しているんだから仕方ない。

532:名前は開発中のものです。
08/02/15 19:53:52 Rkucko5s
>>531
インテリ機能が邪魔なわけじゃなくて、.ncbを消したいだけなんだろ
バッチ書くとかビルドイベントいじるとかいくらでも方法はあるだろうに・・・

533:1
08/02/16 02:56:55 ArwSTL4u
ごめんなさい。インテリOffにした馬鹿です。
邪魔とかうざいとかそういうの以前に
nbcがなんなのか、インテリセンスが何なのかまだ理解してないので
その辺はご理解くださいませ。

がんばって勉強しなくちゃなー



534:1
08/02/16 03:58:26 ArwSTL4u
マップ切り替え時の二人目以降のキャラクタの描写をなんとかしました。
リレミトを使うと落ちるバグを修正しました。

URLリンク(sakuratan.ddo.jp)


まだVCになれない… Orz

535:名前は開発中のものです。
08/02/16 06:06:27 CcpxY//e
URLリンク(homepage1.nifty.com)
インテリセンスの機能はここに書いてある。
(C++の場合もうちょっとしょぼいけどw)

536:1
08/02/16 13:28:46 ArwSTL4u
>>535
ありがとうございます。
たしかにこれ切ったら馬鹿って言われるなー Orz

537:名前は開発中のものです。
08/02/16 21:32:02 CmBL2sVg
vsよりイクリプスの方がインテリ強くね?

538:名前は開発中のものです。
08/02/17 13:14:43 aHSAdthd
VCに比べてCDTがショボいのは定説
WindowsアプリでVS使わない奴は頭湧いてる

539:名前は開発中のものです。
08/02/17 14:23:07 Cg2VWlwZ
その辺の主張はム板でやればいいと思うよ

540:名前は開発中のものです。
08/02/17 17:20:33 rRXJwyg0
ム板にも持ち込まなくて結構。マ板でやれ。

541:名前は開発中のものです。
08/02/17 21:35:01 XOQbsCvL
補完使ってると馬鹿になるよ。

542:名前は開発中のものです。
08/02/18 00:28:07 BBbqDL5F
↑こういう奴に限ってコンパイル通らないソースをオープンソースのプロジェクトにコミットしたがるから困る

543:名前は開発中のものです。
08/02/18 00:36:07 08DD/JC7
有名な哲学者も文字なんか使うと脳が退化するとか言ってたからねw

544:名前は開発中のものです。
08/02/18 01:08:34 vUYQTiug
小説読まずに漫画ばかり見てると馬鹿になるとも言われてたなw

これについてだけは当たってなくもない気がするが

545:名前は開発中のものです。
08/02/18 01:14:50 UpTmLwcj
VCのインテリセンスはVBやVC#が神すぎるからしょぼく見えるんだよね

546:1
08/02/20 08:18:05 V7ld5O9y
現在新機能実装中なわけですが、作業が難航してます。
FieldMapのMapObj[i]をField.party->iventFlag[i]に対応させて表示/非表示を切り替えたかったのですが
FieldMapクラスで表示/非表示を切り替えさせようと思ったけど

check(PlayerParty *party)
として引数にポインタを取るか
あらかじめFieldMapクラスにポインタ変数を格納しておくか
PlayerPartyクラスをグローバル化してしまうか
悩んでます。
どっちにしてもFieldMapクラスにPlayerPartyクラスをヘッダを読み込ませないとだめですよね?


547:名前は開発中のものです。
08/02/20 10:01:13 eusdqHEV
iventじゃなくてeventにしたほうが

548:名前は開発中のものです。
08/02/20 18:18:28 a8QXZ2ge
いくらイージス艦のレーダーが凄いからって
戦時でもないのに常に最高の警戒レベルで巡航していることなんか有り得ないわけで…

549:名前は開発中のものです。
08/02/20 18:24:11 V7EDVY0P
そうは言ってもあれじゃ中国や朝鮮が船で攻めて来たら何もできずに沈められちゃうよ

550:名前は開発中のものです。
08/02/21 02:26:57 Wf5Zb2+X
漁船と衝突してイージス艦が沈んだら面白かったのにw

551:名前は開発中のものです。
08/02/21 04:48:12 vbUxjJ5P
最強の楯は殴るのにも最強でした

552:名前は開発中のものです。
08/02/21 07:03:01 R8XN2vkw
デュエル バスター ブリッツ

553:名前は開発中のものです。
08/02/21 20:21:58 fJ0DkPYJ
>>546
アクセサ書くってのはどうだい?
ソース見てないから最適解かどうかは知らんが。

554:名前は開発中のものです。
08/02/21 21:52:45 iy0K8pSX
class PlayerParty;
class FieldMap
{
 check(PlayerParty *party);
 いろいろ…
};

でいいんじゃないか。

555:名前は開発中のものです。
08/02/21 21:53:00 0C4L3kC+
マップオブジェクトの表示制御に必要なのは
パーティ情報じゃなくて、イベントの状態なんだから
わざわざパーティ情報の扱いを考慮するんじゃなくて
フィールドマップはイベント情報だけ受け取るべきじゃね?

そうでないと、
フィールドオブジェクトとパーティ情報の結合度が強くなり過ぎて
ちょっと気持ち悪い感じがする
(ドラクエだったら、パーティ情報 = フィールドの状態
 で構わないかもしれないけどね・・・)

556:1
08/02/21 23:28:46 9ZwlGJuJ
たしかに あんまり依存関係を強くしたくないのはありますね。
イメージ的にこうやってFieldクラスがFieldMapクラスとPlyartPartyクラスを見て仲介するようにしたかったのかも。

          Field class
    ┌───┴───┐
PlayerParty class      FieldMap class
                      │
                 MapObject class

ただしPlayerPartyクラスにイベントのフラグが入っていたため
FieldMapの中にあるMapObjectクラスから、何番のフラグがたっているかは見えない、っていうのが問題でした。

こうなると Fieldクラスで
if(PlayerParty.getIventFlag(FieldMap.MapObject.getEventFlag())){
 //以下普通に処理

みたいな感じに処理するふうになるのかな?


557:1
08/02/21 23:29:37 9ZwlGJuJ
あと
×
 ivent

 event

は、めっちゃ恥ずかしくて死にたくなった。


558:名前は開発中のものです。
08/02/22 00:45:22 /6yYYp4N
ええー

559:名前は開発中のものです。
08/02/22 12:19:02 gAchg6ey
>FieldMap.MapObject.getEventFlag()
POD型ではないのにpublicなメンバ変数があるのは変だと思う。
インスタンスの利用者が階層を深く掘るのが当たり前な実装はOOPじゃないし。
かといって、万能クラスを作るのもおかしい話だけど・・・
あとインスタンスがPascal記法ってどうなの?

とここまで書いてからソース読んでみた。
いくら擬似コードでも実態とかけ離れすぎだろww
publicになってないし、インスタンスは小文字始まりの名前になってるし・・・

むしろ気になったのは
・コンストラクタで初期化じゃなく代入をしてる
・あちこちにハードコーディングしてる
・継承しててもデストラクタがvirtualじゃない
・enumを使わず#define使ってる
・関数に対するコメントが無い(doxygenやxml code commentのような)
・ローカル変数にポインタか参照おけばいいのに"character[ci]->getDs()->"のような記述が沢山並んでいる
・あちこちで動的なメモリ確保を行っているにも関わらずスマートポインタを使っていない
・警告レベルが最大じゃない

こういうところ

560:名前は開発中のものです。
08/02/22 14:30:33 ik+aPlRF
>>559
まぁ、>>1はC++初心者のようだからな。
C++の標準記法を知らなくても不思議じゃない。

補足しておこう。
>・コンストラクタで初期化じゃなく代入をしてる
多分>>1は初期化リストを知らない。
初期化リストのほうが分かりやすいし、constな変数、参照は
これでしか初期化できない(代入できないため)。

>・継承しててもデストラクタがvirtualじゃない
デストラクタがvirtualじゃないと、
基底クラスのポインタに派生クラスのポインタを代入して
ポリモ-フィズムをしているとき、
オブジェクトを破棄するときに派生クラスのデストラクタが呼ばれない。

>・enumを使わず#define使ってる
#defineは時代遅れ。コンパイラが処理していないので。
できればenumやconstを使う。

>・ローカル変数にポインタか参照おけばいいのに"character[ci]->getDs()->"のような記述が沢山並んでいる
ローカル変数にポインタか参照を代入して、
hoge = character[ci]->getDs();
hoge->hoge();
のように呼び出したほうが読みやすい(し、関数を不必要に呼ばないので高速)
ということを言っている。

561:名前は開発中のものです。
08/02/22 14:33:59 ik+aPlRF
続き。
>・あちこちで動的なメモリ確保を行っているにも関わらずスマートポインタを使っていない
動的メモリ確保は解放し忘れてしまうので、
参照が無くなった時に自動的に解放してくれる
boost::smart_ptrのようなスマートポインタを使うのが基本。
標準のスマートポインタにはstd::auto_ptrがあるが、使い方が特殊でオススメしない。
使えるところなら、std::vectorを使うのも良い。

>・警告レベルが最大じゃない
警告を無視するのはバグの元。
むしろ、「もっと俺に警告をくれ!!」のような勢いで。

562:名前は開発中のものです。
08/02/22 20:29:49 zYdRz8UL
あんまり一気にダメ出ししちゃうと はかせタンが凹んじゃうから
週に1個ほど、ちょいダメ出しにしといてあげて
オレはそうしてる

まぁ、はかせタンの向上心なら幾らダメ出ししても学習しそうだけど

563:名前は開発中のものです。
08/02/22 20:38:44 HEZBKFdo
ダメ出しでも実力自慢じゃなくフォロー入ってるあたり良スレ

564:559
08/02/22 21:37:02 sRPpWiqL
ソースはそこそこ綺麗だったよ
このスレに載る疑似コードがいつもショボかったから、upされてるのも当然…と思ってたんで意外だった

>>562
この先原因不明のバグでモチベーションダウンさせるよりはいいかなと思った。
少し反省している。

565:1
08/02/22 22:55:08 OojD/ESp
みんなのヌクモリティで前がにじんで見えない…
みんなありがと

ダメだしが多いのは、へこまないのは嘘ですけど
消化しきるのに時間がかかるので、レスが遅くなっちゃって申し訳ない気持ちが強いです。Orz
ご飯食べてお風呂入って続きがんばります!

みんな ほんとに ありがとう!

追伸
またアク禁の食らいました。
なんでこんなに喰らうんだろう?
普通そんなもん?


566:名前は開発中のものです。
08/02/23 02:05:15 bnLD25M9
>>565
俺も最近くらった。一日でとけたけど。

567:名前は開発中のものです。
08/02/23 06:56:35 HSvKNA24
なんだ、DQIをつくってるのかと思ったらIIIか。
また大変なところを選んだなあ。

568:名前は開発中のものです。
08/02/23 08:37:01 N04xmAge
>>1 に影響されました
僕はDQIIをC#で作ろうと思います!

569:名前は開発中のものです。
08/02/23 12:16:38 OuVO6QWF
じゃ 俺はDQ4にするか

570:名前は開発中のものです。
08/02/23 12:57:51 x1Ouesp5
俺はMASMでFF11を作るぜ!!

571:名前は開発中のものです。
08/02/23 13:11:06 F+CAkEqg
じゃおれDQ1をC++で

572:名前は開発中のものです。
08/02/23 14:18:01 Oy3gPfcf
果たして何人生き残れるのか・・・

573:名前は開発中のものです。
08/02/23 14:39:52 CN8IHKwV
アセは死ねるだろw

574:名前は開発中のものです。
08/02/23 17:13:08 yJaKrN6D
FCのドラクエは殆どアセンブラだろうが…FF11と言う所に大物の器を感じるぜ。

575:名前は開発中のものです。
08/02/23 19:39:11 5sJEeE+q
俺は綾織で

576:名前は開発中のものです。
08/02/23 23:32:45 3EN2w25Y
C++から汗のソース作れるけどね。

577:名前は開発中のものです。
08/02/24 01:02:43 l0RmX92h
568です、2008は持ってないので、VS2005 C# Framework2.0でやります!
DirectDrawはとりあえず使わないで、やります
動くものが出来たら別スレを立て・・・るまでもないですね、
適当にうpしていきます

>>1さんに負けずにやっていきたいと思います

578:名前は開発中のものです。
08/02/24 03:56:21 nHWrFw/U
>>576
全然意味合いが異なるのに何故得意気になって言ってるんだ?
キモイヨー

579:名前は開発中のものです。
08/02/24 09:09:13 ATsuTWws
>>576
C++コンパイラの仕組みを理解して無いだろ。
作れないコンパイラがあったら教えて欲しいわ。

580:名前は開発中のものです。
08/02/24 09:55:26 lvcDUo5f
if(>>576)
{
 std::cout << "作れないコンパイラがないなら正しいだろ。" << std::endl;
}

581:名前は開発中のものです。
08/02/24 10:39:19 pf6g1kUn
ソース見たよ。
他の人が言うように、初心者にしては上出来。
動くとやっぱり感動するね。

>556
とりあえずそれがいいんじゃないかな。ベストな解かどうかわからないけど、
グローバルにするよりは確実にbetter。

全体に関していえるけど、変数のスコープをできるだけ狭くしたほうがいい。
理由はバグを減らすため。またデバッグを楽にするため。例えばある変数の値がおかしくなっていたとき、
スコープが狭いと調べる範囲が少なくてすむ。広いと大変。

なおローカル変数、非staticメンバ変数、staticメンパ変数、グローバル変数 の順にスコープが広くなる。
グローバル変数はよっぽどのことがなければ使わないこと。

class global{
public:
static std::string msg;
static char c[64];
};

これは使用している各クラスで定義できないの?

582:581
08/02/24 10:47:13 pf6g1kUn
あとデバッガはちゃんと使えてる?

以下のようにすると、VSでデバッグ時に画面下の「出力」欄に出力される。
要所要所で変数の値とかを出力すると楽だよ。

#ifdef _DEBUG // デバッグ時のみ出力
int value = 3;
char buf[128];
sprintf(buf, "値=%d\n", value);
OutputDebugString(buf); // デバッグ出力するWin32API
#endif

//出力欄
//値=3

583:581
08/02/24 10:54:51 pf6g1kUn
>これは使用している各クラスで定義できないの?

例えば以下の部分ではローカル変数で十分だよね。多分。

void BattleField::battleProcess()
{
global::msg = party->getMember(0)->getName();
global::msg += "たちは にげだした!";
coms.getMsgCmd()->setMsg(global::msg);
}

584:1
08/02/25 20:20:58 D9lkRrNk
土日は風邪で寝込んでました。
今日もこれから寝込むと思います。
目の前が見えなくなったのは涙じゃなくて熱の所為だったのかもしれません(ぁ

寝付けないときに少しずつ手をつけようと思ったんだけど
自分が何をやってるのかわからなくなってしまう感じで作業が進みませんでした。

一緒になにか作ってみるって名乗りを上げてくれた方、一緒にがんばりませう。
やっぱりライバルがいたほうがモチベーションあがるしね。

585:名前は開発中のものです。
08/02/25 23:38:57 sR23oxXi
>>584
お大事に!!

586:名前は開発中のものです。
08/02/25 23:57:44 8s3HJfM7
>>584
本当は、ロジックを真似した方が早いと思うんですが、
まったく同じじゃ意味がないですし、言語も違うことですから、
まずは C#でどれだけ出来るのか、ってことを意識しつつ、やっていこうかなと思ってます
物理層がやることって同じなんですけど、今は、FC DQII をプレイして、動きを調べています
主に、ビルダーとC#で、VC++はわかりませんが、よろしくお願いします

587:名前は開発中のものです。
08/02/26 02:39:50 4hK7dCf/
>>584
お体お大事に
僕も今年の初めごろインフルエンザにかかって数日寝込みましてね
体調がすぐれないときは難しいことを考えるとgdgdになるので
回復に努めたほうがいいと思う…

寝付けないときは僕はようつべやニコ動を見てましたね
最近はゲームのプレイ画面などをキャプチャしてる人も多くて
検索すると同人ゲームや自作ゲーム、制作講座、開発過程なども
ちらほらとアップロードされてるみたいです
手軽に見られてなかなか興味深いです

588:名前は開発中のものです。
08/02/26 14:11:57 aeOOlTFX
やばい、俺スレ違いすぎる・・・
二年間学校でcとjavaを習って中途半端に覚えて
RPG作ろうと思った俺が馬鹿だったぜ。
あとapiのサイト見てウィンドウの出し方とか
ちょっとづつ勉強してるが大半イミフだぜ。

589:名前は開発中のものです。
08/02/26 15:41:39 DQfrVq4A
プラットフォームAPI使うより、簡単なライブラリ探して作ったら?

590:名前は開発中のものです。
08/02/26 16:20:44 MEOj2U2m
>>589
ID:DQおめ

591:名前は開発中のものです。
08/02/26 20:10:21 DQfrVq4A
あり
記念に俺もDQ作るかなw

592:名前は開発中のものです。
08/02/26 22:07:55 HLcSYJXY
MDXあぼーんされたしGDI+だとBitBltすらないからなー。
XNAに逃げるか、DllImport連呼か、C++/CLIか。

593:名前は開発中のものです。
08/02/26 22:57:31 gUk7N6wJ
それでもまだ非C/C++の中では恵まれてるけどな
自分でラッパー書かなくてもSlimDX(非公式MDX)とかSDL.NETとか探せばいろいろあるし

594:オワンワン
08/02/26 23:02:50 CncrBCpj
ライバルがきましたよ。
ぼくはね、関数とかクラスとかポインタとか構造体とか
仮想関数とかローカル変数とかを一切使わないでゲームを作ります。
必要不可欠でないことをがんばっている1さんとは好対照ですね。
ま、さ、に、ライボー。
更新してないんでリンクは貼りませんが、進展したら貼りにきますよ。
よろしこっ。ぼく、おじさんだけど、、、なかよくしてね。ぶちゅー。
おれの、おれの屍をこえていけよ、わかうどよ。ふっふっふ。
「未来の人よ 僕を思い出してくれ 僕は 王者の滅びる時代に生きていた」
「未来の人よ 僕を崇めたたえよ 僕は あなたたちよりも未来の時代を生きていた」
だれだ!?
タキシードのロングハットのコケティッシュな、、、ぼく!?
「不可思議という点において、この世界の不可解という点において、みな平等ではないかね」
、、、
「形而上の話をしてるわけではありません。形而下において、、、ふふふ、
僕は何百年先を生きているんだろう!ふあははー」
、、、
「ぼくはぼくはぼくは、、いや、結果がすべてか、結果をだせてない僕は、
まだ、天才ではないか、、、」
、、、
「はぁ、遠いね、境地は遠いね。凡人とは違って僕には見えているが、遠い」


595:名前は開発中のものです。
08/02/26 23:22:32 oa0uM2zA
>>594ふむふむ、なるほど、ほほぉ~。それでそれで!?

596:名前は開発中のものです。
08/02/28 19:08:36 SwMCkkQw
いちはにげだした。
しかし(ry

597:1
08/02/29 00:27:49 PbvqMElj
まだ全部直ったわけじゃないけど報告age

とりあえずdefineはconstに直しました。
デストラクタも仮想関数に変えました。(なんか上手く動かないって悩んでたことがあったけどこれが原因だったのか?
コメントもこれからなるべくつけていきたいと思います。(全部つける前に心が折れそうです。
初期化リストも一箇所だけやってみました。
実はこれもっと先に知っておきたかったことだったかも。
引数無しのコンストラクタと引数ありのコンストラクタの二つ用意しなくちゃいけないって悩んでたんですよ。Orz
親クラスのコンストラクタも明示的に呼び出したいと思ってたし…。
ま、あとの祭りなんですが。 Orz

スマートポインタ、っていうかboostなんですが、
じつは<>の意味が分からなくて手をつけられなかったんですよ。
<>でぐぐるわけにもいかず途方にくれていたんですが
ようやくクラステンプレートと言うものだったことが判明。
コンテナクラスもなんとなくは理解できたのですが
今から組み込むのは結構大変そうだなぁ…
とりあえず多重deleteはNULL代入で回避できそうっていうのは分かりましたが、
del忘れは回避できないですよね。
でもハンドルの開放し忘れもおんなじような問題がおこるので、
ある程度は仕方がないのかも、と割り切ってます。(いや、ダメだろ

*****************************************************************
イベントアイテムを使ってイベントを起動できるようになりました。

アリアハンの右の女にゴールドオーブを使うとイベント起動します。

現状、はなす、とアイテム使用の両方同時に起動スイッチに指定することはできますが
起動方法によって起きるイベントを別々にすることができません。


…あ、警告レベル変え忘れてたOrz

598:名前は開発中のものです。
08/02/29 00:33:14 PbvqMElj
おまけにURLも貼り忘れた… Orz

シャワー浴びてくるOrz
p://sakuratan.ddo.jp/uploader/source/date72377.lzh

599:名前は開発中のものです。
08/02/29 00:40:35 cTbpZwm+
:p

600:名前は開発中のものです。
08/02/29 11:44:13 DrPXVtO6
むしろあれだけのコードをよくコメント無しでやってられたな。
今の俺はコメントだらけだよ

601:名前は開発中のものです。
08/02/29 12:28:22 sp+Hir2Y
まだ11月に作り始めたばかりだから
>>1の頭の中にコードが入っているのだろう。
ただ、これからプログラムはどんどん複雑になっていくので、
コメントを入れるようになったのは良かったと思う。

602:名前は開発中のものです。
08/02/29 14:36:59 jGuhamLn
自分のソース見てるとどうでもいいコメントが多くて困る

603:名前は開発中のものです。
08/02/29 16:14:12 l3/kMfiZ
MDXあぼーんなのか?
XNAはWinProcもフックできないし、
使い難くてしょうがないよな、、

604:名前は開発中のものです。
08/02/29 18:55:48 P7uRmJkm
>>603
MDX2.0はベータの段階で消滅済み。
MDX1.1のランタイムは残ってるけどサンプルはなくなった。

605:名前は開発中のものです。
08/03/01 00:45:34 w3ZGIR9q
>>603
SlimDX使え
つか流れ読まずにスレ違いって…

606:603
08/03/01 01:08:55 PBLPyAh9
スマソ、吊ってくる

607:1
08/03/05 00:07:57 XbOvO3YX
久しぶりのソースうpです。
URLリンク(sakuratan.ddo.jp)

*街から出ちゃうと入れないかも。
入り口に立っている女に「はなす」かゴールドオーブを「つかう」とイベントが起動します。
話したときとアイテムを使ったときでイベントを分岐できて
アイテムを使ったときにイベントフラグをオンにして
それに連動してイベントが消えるようになりました。

608:名前は開発中のものです。
08/03/05 19:39:27 /lpfwC1N
ここまで整理もせず手広く機能増やし続けられるのはある意味凄い

609:名前は開発中のものです。
08/03/05 22:09:51 L493nIER
>>1さんハァハァ

610:名前は開発中のものです。
08/03/06 00:31:36 RMi8Rb30
真似して作ってみたがタイトル表示まで出来たら秋田

611:名前は開発中のものです。
08/03/06 00:58:35 7dwVQ00B
>>610
DQ3のタイトル画面なら文字だけじゃねーかw

612:オワン
08/03/06 03:01:49 +3hA2EkN
報告忘れてました。更新しました。インデントがおかしいのは
VC++のせいです。
URLリンク(ogawapc.myhome.cx)

613:名前は開発中のものです。
08/03/06 07:41:01 cGcDTNaF
<code></code>で囲んで
タブをスペース四つに置換すれば正常に表示されるはずなんだが。
おめーがタブとスペースごちゃ混ぜで打ってるのが原因だ。

614:名前は開発中のものです。
08/03/06 07:53:07 cGcDTNaF
<pre class="code"></pre>のほうがいいか。

615:名前は開発中のものです。
08/03/06 15:15:17 eBnb1Mw9
>>612
本人かどうかは知らんがもうやめて
そんな糞コード真に受ける奴が増えたら世の中に良くない

616:名前は開発中のものです。
08/03/06 17:19:40 htNDRL9Y
VCカワイソス

617:1
08/03/07 00:57:17 rq1yy0In
整理はちょっとずつ… じゃダメですよね Orz
実装を進めていくうちにコメントつけたり、無駄なコードを減らしたりはしてるんですがまだまだです。
せっかく見てくれる人がいるんだからもっと見やすくしなくちゃいけないのは分かってるつもりなんですが
モチベーションと時間が… Orz

static なメンバ変数を初期化で分からないことがありまして。
関数の戻り値を初期値でセットしたいんですが

//DQI..hより
class VisualEffect{
  static int hBlendGraph;
(略)

//Effect.cppより
int VisualEffects::hBlendGraph = LoadBlendGraph("GameData/EffectData/BlendGraph.bmp");
(略)

これでコンパイルは通るけど、起動すると動きません。
なんか無限ループに入っちゃってるような雰囲気。
メイン関数で初期化してあげるべきでしょうか?
それとも他に方法があるのでしょうか?

*********************************************
レベルアップで呪文を覚えるようになりました。

URLリンク(sakuratan.ddo.jp)

警告レベルを最大にしたら警告いぱーい Orz
がんばって退治しなくちゃな。。。



618:1
08/03/07 02:08:23 rq1yy0In
上のstaticの問題、解決しました。
c++の問題ではなくDxLibの問題でした。
DxLib_Init()を呼び出す前にGetBlendGraph関数を呼び出せないみたいです。
とりあえずエフェクト関連のクラスを初期化する関数を作って、メイン関数でDxLib_Init()後に呼び出す事にします。

現状のバグですが、フィールドで普通のアイテムや呪文が使えません。
ホイミを使ってもルーラを使っても
しかし なにもおこらなかった
と表示されます。

原因は分かったので直しておきます。

619:名前は開発中のものです。
08/03/07 02:11:20 QhGOdilr
その hBlendGraph は main 関数よりも前の段階で初期化が行われるから
DX ライブラリの初期化より前に LoadBlendGraph が呼ばれることになる。
しかもどの翻訳単位から初期化されるかは決まってない。
準備が整う前に関数を呼び出したりしたら、上手く動きそうも無い。

基本的に static を多用するのは良くないよ。C++の本読んで勉強しる。。

620:255
08/03/07 07:10:26 jWW/3mmy
>>617
そういう場合には、デザインパターンのシングルトンパターンってのが使える。
具体的にいうと、
class VisualEffect{
  static int hBlendGraph = NULL;
(略)
としておいて
static int VisualEffects::GetBlendGraph(){
  if(hBlendGraph == NULL){
    hBlendGraph = LoadBlendGraph("GameData/EffectData/BlendGraph.bmp");
  }
  return hBlendGraph;
}

とすれば、VisualEffects::GetBlendGraph()を呼び出した時点で
1回だけ初期化が行われる。

でもゲームだと、1回だけとはいえメインループで重い処理
をやっちゃうとアレなので初期化関数でやるのが正解だと思う。

621:名前は開発中のものです。
08/03/07 10:56:57 1WoBL1I/
>>620
static constじゃないのにクラス定義で初期化は不可能。
ポインタでないのにNULL判定をするのはおかしい(cppではNULL=0)。

そもそもこれをシングルトンパターンと呼ぶのが間違いな気がする

622:名前は開発中のものです。
08/03/07 12:38:13 QLw1djJn
シングルトンってコンストラクタをprivateにしたやつでインスタンスが1つなのが保証されてるってやつじゃなく?
1つだけに限定されるから、static要素にする必要もないわけだおね。

623:620
08/03/07 19:49:28 jWW/3mmy
>>static constじゃないのにクラス定義で初期化は不可能。
そうでした。Javaとごっちゃになってしまいました…orz

>>ポインタでないのにNULL判定をするのはおかしい(cppではNULL=0)。
ハンドルもNULL判定するよね?if(m_hWnd == NULL)とか

つか、LoadBlendGraphがNULL返したらどうするつもりなんだ、俺。
ごめん、このコード忘れて。

>>622
元がstaticだったからそのままにした。深く考えてなかった。忘れて。

624:名前は開発中のものです。
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
あ、すみません、処理系依存じゃなくて処理能力依存?
今のところスペックでゲーム速度が変わってしまうはずなんですが、そういうのってなんて言うんですか?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch