C++でドラクエっぽいRPGを作る 2

このエントリーをはてなブックマークに追加
888名前は開発中のものです。:2008/09/30(火) 17:15:11 ID:NRgTyHxc
なんか俺のせいで無駄に荒れた気がしないでもない
889名前は開発中のものです。:2008/09/30(火) 17:22:47 ID:BT7LK0Uc
C++/CLIはC++とはかなり違う言語
他の.NET言語を知らないとわかりづらい
情報がほとんどないから、.NETのクラスライブラリの使い方を調べるときには
結局VB.NETやC#向けの情報に頼ることになる
890名前は開発中のものです。:2008/09/30(火) 18:40:38 ID:G6KFMR31
>>888
発端は>>865だと思われ
どっちにしろよくある風景だから気にするな
891名前は開発中のものです。:2008/09/30(火) 21:32:03 ID:1Cv9WP97
そうだぞ、こんなのはよくある流れだから気にしてはいけない
892名前は開発中のものです。:2008/09/30(火) 23:25:30 ID:C74bqJ2W
>>870
RPG部分について以外スレタイで言及は無い
GUI部分は何だっていいはず

個人的にはあの程度の仕様捨てるつもりで手早くベタ書きしたほうがいいと思ってるけど、
そうしたらC++の勉強になるかといったら違うと思う
どちらかというとこの辺りはwxほげほげとか使わない限りWindowsの勉強になるし。
つまりそりゃ野暮なツッコミですよ、と。

>>872
それ違う
COMを直にさわらずにマネージドなライブラリをネイティブから使いたい人の道具
普通のC#遣いは全く触らない。
893名前は開発中のものです。:2008/10/01(水) 00:05:50 ID:Xy5VRIog
ソフトが必要と言ってもVC#EEも無料だろ
894名前は開発中のものです。:2008/10/01(水) 09:37:43 ID:PZq1rJxB
>>892
>>870>>869に対しての疑問でしょ。C++/CLIの存在を知らなかっただけかと。
EEでリソースエディタが使えず、しかたなくFormに手を出すケースもあるかもしれない。
895名前は開発中のものです。:2008/10/02(木) 00:15:48 ID:YGC7y3jm
>>894
ナイナイ
896名前は開発中のものです。:2008/10/02(木) 00:33:02 ID:znh+JU7E
〇〇を薦める暇があったらまずは自分がソレで何か作って見せてみろと。
897名前は開発中のものです。:2008/10/02(木) 00:48:57 ID:2vWnmmXa
896がいいこといった。
はかせは気にせず、従来どおりの環境でやるよろし。
898名前は開発中のものです。:2008/10/02(木) 05:58:28 ID:aP5K7CkQ
作るのはいいけど、ここははかせがやるのを見守るとこじゃなかったのか?
899名前は開発中のものです。:2008/10/02(木) 07:37:56 ID:NGxWT7TE
C++で作るんなら誰がやっても良いんじゃない?
900名前は開発中のものです。:2008/10/02(木) 08:48:07 ID:YGC7y3jm
>>896
つまりリソースファイルをうpすればいいんですか?ww
901名前は開発中のものです。:2008/10/02(木) 08:57:31 ID:VxBwF2E3
それでいんじゃない?
902名前は開発中のものです。:2008/10/02(木) 23:47:36 ID:YGC7y3jm
おk
暇があったら作ってうpするわ
903はかせ:2008/10/03(金) 00:41:43 ID:wugWho/h
turbo C++ をとりあえずインストールしてみようとしたのですがまだできてません。
いろいろダウンロードしたり、インストールしてる間にAPI勉強してたら
なんか直書きでもできるかもしれないと思った今日この頃。

とりあえずダイアログボックス表示するところまで行きました。
とりあえずOKおすと新しいイベントができるようにしたいです。

他言語については今回は見送らせていただきます。
エディタ部だけ別言語、と言うのも考えたのですが
プレイしながら編集、という形が、編集作業が楽かもしれない、と思ったりしたので
このままC++だけで完成させたいと思います。

まぁ、アイテムとかスキルとかのcsvファイルまではできないと思いますが。
904名前は開発中のものです。:2008/10/03(金) 01:43:32 ID:OCKJePks
乙。でも
> プレイしながら編集、という形が、編集作業が楽かもしれない、と思ったりしたので
この下りと
> このままC++だけで完成させたいと思います。
ここは全く関係ないおww

今はC++だけやりたい気分と素直に言ったほうが静まる
905名前は開発中のものです。:2008/10/03(金) 10:20:41 ID:t2pHonQE
それでもいいんだけど、結局Stdも入らないのは1円も使いたくないということか
評価版でいいじゃん。
906名前は開発中のものです。:2008/10/03(金) 13:37:37 ID:+ke5of9f
つまりここの奴らは自前じゃエディターがつくれないやつばっかなんだろ
907名前は開発中のものです。:2008/10/03(金) 13:49:22 ID:t2pHonQE
別にそう思ってりゃいいじゃん。
オレは横から作っちゃいけないスレだと思ってるけどな。
908名前は開発中のものです。:2008/10/03(金) 13:50:09 ID:t2pHonQE
はかせが自分で、「こんなの作ってくれ」って書いたらすぐ作ってやるよ。
909名前は開発中のものです。:2008/10/03(金) 18:04:20 ID:xNjzu0eO
運営コストがかかるのでスレは相乗り奨励ですぅ。

スレッドを立てる前に
まずは既存のスレッドを利用できないか検討してください。
スレッド一覧とページ内検索をどうぞ。(Win『Ctrl+F』キー、Mac『コマンド+F』キー)
まずは関連性の高いスレッドで話題を振り、盛り上がるかどうか確認してください。 迷ったらスレッドを立てる前にここで質問を。 住民の皆様へのお願い
スレッド乱立防止にご協力をお願いします。
910はかせ:2008/10/03(金) 23:49:30 ID:wugWho/h
・FieldMapのMapObjをvector<MapObject *>型に変更しました。
 でもvecterに変えたら動作がめちゃくちゃ遅くなりました。
 元の仕様に戻すかも知れません。

・イベントエディタで新たにイベントを作れるようになりました。(編集はまだできません)
 なんだかAPIをいじるのが楽しくなってきました。

動作が重くなった件ですが、もしDLして起動してくれる人がいるなら1フレーム何ミリ秒かかってるか教えて欲しいです。
左上の方で ○○/16 と出てる数字です。
ちなみに僕は120ミリ秒前後でした。

>>904
他の言語のことをよく知らないのでそういう発言になってしまいました。すみません。
C#もC++/CLIも興味はあるんですが、やっぱり早いところ完成させたいので
C++のみで行くことにします。
911名前は開発中のものです。:2008/10/04(土) 02:20:09 ID:hMvNa4t9
>>910
ソース見てないけど要素をnewするならptr_vector
912名前は開発中のものです。:2008/10/04(土) 10:14:48 ID:foxvI0pn
std::vector<T>::at(i)は境界チェック(iがthis.size()以上かを比較、実装によってはもっと色々やってるかも)
をするんで単純に配列を[i]で参照してたものと比べると遅くなる。

でさらにそれが毎フレーム、しかも二重ループ内でのgetMapObjとかで使われてて
そいつらの内部でもループするから(ry
実際どんだけコストがかかってるかはプロファイル取ってみないとわからんけどね

とりあえずmapObj.at(i)使ってたところを全部mapObj[i]にして見てどれだけ速くなったか試してみてくれ
フレームあたりの呼び出し頻度から考えればそれなりに改善するとは思うんだけど
913はかせ:2008/10/04(土) 13:57:12 ID:t+TrV97T
>>912
ありがとうございます。だいぶ改善しました。20〜30f/msってとこですね。
イベントの数が多い街中だと一歩歩くごとに引っかかる感じですが少ない外だとスムーズに歩けてる感じがします。
いや、イベント数じゃなくてマップに設定したイベントのせいかもしれません。
914名前は開発中のものです。:2008/10/04(土) 23:50:56 ID:hMvNa4t9
>>912の推測があってるならマクロ一個定義するだけで改善するはず
何だったかは忘れた。はてなのxtalco氏の日記参照して

さぁ終電終電…
915名前は開発中のものです。:2008/10/05(日) 00:36:32 ID:fLJ9z/bM
ファミコンの性能で動いてたんだから、そこまで気にしなくてもいいんじゃね。
それより書き易さとか定全性の時代でふぁ?
916名前は開発中のものです。:2008/10/05(日) 02:22:38 ID:G8m6MQV2
ええと、ファミコンという名前のWindowsPCがあるのかい?
917名前は開発中のものです。:2008/10/05(日) 02:34:13 ID:tMuqv+yj
ファミコンとC++では、アルゴリズムが全然違うだろうな
918名前は開発中のものです。:2008/10/05(日) 09:14:12 ID:amBcbael
#define _SECURE_SCL 0
のことか
こちらも試してもらいたいね
919名前は開発中のものです。:2008/10/05(日) 12:48:57 ID:jbMdxvoh
うわー、すごい不毛
920名前は開発中のものです。:2008/10/05(日) 16:44:44 ID:amBcbael
_SECURE_SCL
http://msdn.microsoft.com/en-us/library/aa985896(VS.80).aspx

ただしこれはstlのヘッダが読まれる前に定義されとかなきゃならん上、
_SECURE_SCLが0でコンパイルされたオブジェクトファイルと1でコンパイルされたオブジェクトファイルが
混在してると正常にプログラムが動作しない可能性があるのでプロジェクト内で統一する必要がある

なので、ソースの最初で「必ず」読むヘッダを作っておいてその中で#defineするといいんじゃないんでしょうか
stdafx.hを使っているならこの用途のファイルとして使えるんだけど
921フローラ:2008/10/05(日) 16:57:41 ID:Ro1QqDVo
皆さん、こんにちは
ご機嫌いかがでしょうか?
では早速で申し訳ございませんが、よろしければどなたか「おじょうさま」の作り方を教えていただけませんでしょうか?
どうぞよろしくお願いいたします。
ちなみに私はテリーさんでも荒らしさんでもキチガイさんでもございません。
どうか勘違いなさらないで下さいませ。
922フローラ:2008/10/05(日) 17:00:33 ID:Ro1QqDVo
皆さん、こんにちは
ご機嫌いかがでしょうか?
では早速で申し訳ございませんが、よろしければどなたか「おじょうさま」の作り方を教えていただけませんでしょうか?
どうぞよろしくお願いいたします。
ちなみに私はテリーさんでも荒らしさんでもキチガイさんでもございません。
どうか勘違いなさらないで下さいませ。
923名前は開発中のものです。:2008/10/05(日) 22:40:47 ID:fLJ9z/bM
デザパタを適用する事による処理コストなんて大したことない。
物理演算や描画周りの重さに比べればメソッド呼び出しがちょっと増えるくらい誤差みたいなもん。

デザインパターンは省メモリプログラミング手法でもなければ、高速化手法でもない。
どのデータに対してどの処理を行うかを、継承と抽象化を使って示しているにすぎない。

皆がパターンやオブジェクト指向をありがたがるのはソースコードが肥大化しても
グダグダになりにくいという利点があるからであって、そこに処理速度の話を持ち込むのは
少々お門違いな気もする。
924名前は開発中のものです。:2008/10/05(日) 23:20:54 ID:1KBKtonS
ゴバーク?
925名前は開発中のものです。:2008/10/06(月) 00:00:30 ID:Qj0tWv49
ID:fLJ9z/bMの頭の中は
コンテナ=デザインパターン
となんだと予想してみる
926名前は開発中のものです。:2008/10/06(月) 01:05:57 ID:RvjjvnYl
誤爆だろうな
突拍子がなさ過ぎる
927はかせ:2008/10/07(火) 01:10:22 ID:cGqX38kk
新規で設置するイベントの向きやタイプを選択できるようになりました。
>>918,920
_SECURE_SCL は定義してみたけど、位置が違うみたいです。orz

〜 hoge.h 〜
#define _SECURE_SCL 1
#include <vector>

みたいなファイルを作って#include <vector>の代わりに置けば大丈夫でしょうか?
928名前は開発中のものです。:2008/10/07(火) 01:36:27 ID:pZbzG5u6
プロジェクトファイルに書けるじゃん…
929名前は開発中のものです。:2008/10/07(火) 01:39:00 ID:UfrGka1u
わざわざバッファオーバーフローの安全装置外すって…
930名前は開発中のものです。:2008/10/07(火) 02:01:26 ID:0+ULamF/
>>927
そのテの奴はいちいちソースを弄らずにコンパイルスイッチで済ませるのが普通
-D _SECURE_SCL
というオプションをコンパイラに渡せばいい
931はかせ:2008/10/10(金) 22:06:45 ID:KVSkn1sj
>>930
なるほど。そういえばそんな機能がありましたね。
でも、どうやって設定するんでしたっけ? Orz
気長に思い出します。

エディタの項目を増やしました。
かなりそれっぽくなったと思います。
ただ、スクリプトを書くところでIMEが働かず半角しか入れられなくて困ってます。
CreateWindowする時に何か引数を入れる必要があるのでしょうか?


現在リアル引越しの準備中です。
13日に引越しがあります。
引越し先では回線が通ってないので更新がストップします。

…今住んでる所があと一ヶ月契約残ってるので、ここの回線使えですか Orz
932名前は開発中のものです。:2008/10/10(金) 22:43:45 ID:JQgoxjfF
WS_EDITでIME機能しなかったっけ?
933はかせ:2008/10/10(金) 22:58:02 ID:KVSkn1sj
>>932
WS_EDIT 自体が定義されてないとコンパイラに怒られました。
CreateWindow()の第三引数に | でビット加算?するんですよね?
934名前は開発中のものです。:2008/10/10(金) 23:20:21 ID:9fPi5x0+
>>931
VSなら、
プロジェクトのプロパティで
C/C++→プリプロセッサ→プリプロセッサの定義
のリストを編集するといい(スイッチは不要で、中身だけ書く)

実際にclに渡されるコマンドラインは、同じく「コマンドライン」で確認できる
935名前は開発中のものです。:2008/10/11(土) 06:55:10 ID:8vKoe7Jg
口だけの無能丸出しで

チンカスがまた暴れてたのかw



過去ログ見て久々に笑ったわ
936名前は開発中のものです。:2008/10/11(土) 08:36:03 ID:uGBGE3a9
お前も懲りないなあ
937名前は開発中のものです。
ここは1専用?