06/01/07 13:41:01 eTVPTTHt
ぎゃわん!!
ちょwじじいwwなんて絵を出しやがるwwww
思わず使いたくなったじゃないかw
戦闘シーンのレイアウトはあとで適当な画面でも描いて
うpするワン。
59:夫
06/01/07 14:21:22 p8En2U2t
>>57
エロ注意ってw
DXライブラリを使ってやろう
60:じいちゃん@(´-`)
06/01/07 14:46:03 Oh/tRVLD
夫立つ!!
ついにやる気になったか。
人のプログラムと自分のを合体させるなんてやったことないが、
共通の約束事とか必要かの?
まあいいや。とりあえず夫よ、DXライブラリは使ったことあるのか?
じいちゃんDXライブラリにこだわってるわけではないから、別のでも良いぞ。
>>58
期待しておる。だがあまりクオリティの高いものは上げるなよ。
じいちゃんがみじめになるからw
61:夫
06/01/07 15:19:42 p8En2U2t
>>60
DXライブリをミニゲーム作るときに使った・・・・ほんのちょっとだけど
こんな俺だけど大丈夫かな?
62:じいちゃん@(´-`)
06/01/07 16:16:55 Oh/tRVLD
採用。
てゆか、じいちゃんミニゲームすら作ったことないしw
プログラムの合体とかどうやっていいかわかんないから、
まずは自由にやってみてくださいな。
63:夫
06/01/07 16:50:13 p8En2U2t
俺に戦闘なんて無理だよ~
64:じいちゃん@(´-`)
06/01/08 10:05:24 DcYaNzf+
>>63
戦闘かイベントスクリプトかの二択じゃ。
好きな方を選べw
65:じいちゃん@(´-`)
06/01/08 13:00:56 DcYaNzf+
キャラを移動させてみましたのじゃ。
実行ファイル
URLリンク(gamdev.org)
スクリーンショット
URLリンク(gamdev.org)
キャラの移動は一歩ずつコマンド選択式らしいので
こんな風になったんですが、いいでしょか。
次はなにしようか。
力ずくで無理やりやってきたけど、そろそろ基本クラスを固めた方が良さげじゃの。
メッセージウィンドウはRPGみたく画面下に出せばいいんだよね。
文字列操作とかスクリプトとかやったことないからメチャ時間かかるっぽい。
関係ないけど、猛烈にDirectXやりたくなってきたよ。
あと、今日エウレカ見逃した ('A`)
66:名前は開発中のものです。
06/01/08 13:09:56 IddaMN7D
爺にいい事を教えよう。
Alt+PrintScreenで任意のウィンドウだけキャプれるよ
俺もエウレカ見逃した ('A`)
67:じいちゃん@(´-`)
06/01/08 13:45:25 DcYaNzf+
おお、凄い!Windowsの裏技じゃな。
どもありがとー。
ふごふご。
68:ポチ
06/01/08 23:05:42 OQ4gEzPI
戦闘シーンのレイアウトは
ポチの妄想の中では大体こんな感じ。
URLリンク(gamdev.org)
69:名前は開発中のものです。
06/01/08 23:40:27 Ru+o/K5I
ちょwwおまえらww使えないからって俺は仲間外れかヨ
俺の仕事もうちょっと詳しく教えてくれ
URLリンク(gamdev.org)
70:ポチ
06/01/08 23:56:12 OQ4gEzPI
仲間はずれというか、単に対戦形式だから2人しか出せなかったw
ご主人の仕事は戦闘シーンかイベントスクリプト作ることじゃなかったかワン?
71:名前は開発中のものです。
06/01/09 00:22:04 /JMPJHEI
ごめんごめん、仲間はずれだなんて思ってないよん
プログラムを2人では出来ない・・・・だってじーちゃんみたいにクラスとか使えないし
ああ、悔しすぎるぜよ
72:じいちゃん@(´-`)
06/01/09 08:17:16 XKvyyFjp
名前名乗らないと誰がだれだか・・
てゆか、ポチ、おま、レイアウトのクオリティ高いっちゅーに!
なにそのステキ3Dキャラ。
>>71
CとC++は合体できる! たぶんw
持ってるアイテムとステータスだけ無理やり
グローバル変数で受け渡せばいけるって! たぶんw
てことで、Cで戦闘つくれ戦闘。
>>69
誰?まあいいや。
おまいはなにがやりたいんじゃ。絵ができるとうれしいぞ。
関係ないけど、じいちゃん昨日うっかりDirectXに手を出してしまって
途中で知恵熱出たよ。ふがふが。
DirectX8から初期化が簡単になったとか聞いてたけど
真っ赤な嘘のようじゃね。
なにあの呪文・・・
73:ダメ夫
06/01/09 10:36:24 /JMPJHEI
戦闘係か・・・・難しそうだな
DirectXの参考書買ったけどムズイってかヘッダーとかまだ勉強してないから意味分かんなかった
74:従兄弟
06/01/09 11:39:37 oMHx/qHg
クラスは構造体に関数を含めたもの。
オブジェクト指向と非オブジェクト指向が混在すると混乱するから、
クラスだけ使うようにしておいた方が後々楽かと。
75:ポチ
06/01/09 11:59:15 fTg53irF
思考の迷宮に迷い込んだワン。何して良いかわかんなくなったので
とりあえずマップチップ作ってみたり。かなり適当w
しかも疲れたから半分しか埋めてない罠orz
でも、うpするw
URLリンク(gamdev.org)
BMPは受け付けてくれないので圧縮。
76:じいちゃん@(´-`)
06/01/09 16:15:47 XKvyyFjp
DirectXはウィンドウを黒く塗りつぶすとこまでで力尽きた。
この後は頂点データがどうとか、ライティングがどうとか・・
どこの天才が作ったんだ。 バカジャネーノ ┐(´ー`)┌
>>73-74
ソース見ればモロバレだと思うが、
じいちゃん、おぶじぇくと指向とか (゚⊿゚)ワカンネ なのでだいじょうぶじゃ!
アイテム構造体、キャラステータス構造体、絵のハンドル、音のハンドル
あたりをグローバル変数にしてやりとりすればプログラムは合体できるかの?
できれば明日あたりに合体プログラムのサンプルを上げるので、
それを改造していこうかにゃ。
夫もアイディアがあればバンバン発言してくれ。
>>75
ポチ!こら!おまwwなんで加えてくるエサが全部ハイクオリティーなんだ
ふがふが。
じいちゃんは マップチップ+大きいバックグラウンド(背景?) でマップを
表現すると思っとったんじゃが、このチップだと背景はチップを全面に敷き詰めて
表現する仕様なのかの?
早急にマップエディタが必要かぁ。
DirectXはどうしよ・・。
77:じいちゃん@(´-`)
06/01/09 16:38:32 XKvyyFjp
>>74
従兄弟はスクリプトの文字列解析プログラムできない?
じいちゃんがやるとシステムだけで一ヶ月ぐらいかかりそうなんじゃがフガフガ。
78:名前は開発中のものです。
06/01/09 17:08:44 LAFcAPkW
一ヶ月で出来るのなら優秀優秀
79:ポチ
06/01/09 17:44:40 fTg53irF
>>76
あー
バックは背景画像置いてもいいしチップ敷き詰めでも両方対応できるように
チップ作ったつもり。ぶっちゃけ背景黒一色でも気にならない性格なもんでw
80:ダメ夫
06/01/09 18:23:04 /JMPJHEI
ポチってすごすぎだな
今日もDirectXの本とにらめっこ・・・・ムカツクぜ
マップエディッタとかスクリプトとかゲームエンジンみたいだね
81:じいちゃん@(´-`)
06/01/09 18:39:31 E3y1vkln
>>78
一ヶ月かかる = いつできるかわからない
の法則発動。
>>79
ポチ凄いよポチ
んーと、とりあえず背景は真っ黒か写真ぽい絵かエウレカwを貼るとしようか。
チップが通貨可能か不可かは基本的にはチップの絵の番号で判断する予定なので、
URLリンク(gamdev.org)
↑の絵みたく、50番(Y257ピク)以下は通貨不可チップ(壁とか?)にしようとオモタ。
途中で仕様変更するかもしんないけどw
ちなみにRGB(255,255,255)の真っ白は透過色なので、
透過したいとき以外は使わない方向で・・。
あと、左上の0番のチップは描画しないので、そこは空けてほすぃ。
ふごふご。
>>80
DirectXって基本的には三角形で全部表示するってマジ?
じいちゃんぎょーれつとかわかんないし、マジ挫折しそうだよ (T_T)
82:名前は開発中のものです。
06/01/09 18:56:57 AX49C0F6
三角形2つで四角形描く関数を1つ作れば無問題。
83:ポチ
06/01/09 18:58:02 fTg53irF
>>81
わぅ?
まてまて、じーちゃんw
チップ番号でイベント処理はまずいべさ。
同じマップチップでも通行可、不可は切り替えたりするべ?
せっかくchip構造体があるんだから進入フラグを追加したほうが汎用的。
たぶんイベントフラグとかもchip構造体に持たせる事になると思うしのぅ。
84:じいちゃん@(´-`)
06/01/09 19:23:12 E3y1vkln
>>82
あー、なるほど。
そうやって色んな形にするのか。
今三角形の描画に挑戦してますが、なぜか三角形の頂点一つ一つに
変数が10個ぐらい必要で意味不明 orz...
よくわからんフラグもいっぱいあるし。
なぜXとYだけで出ないのかと。
>>83
ポチはプログラムもできそうじゃの・・
struct Chip
{
int Image;
int Flag;
int Event
};
マップチップ構造体はこんな感じにしようかと。
イメージとイベントのデータは別にすると思います。
ポチの言うように、通行の判断はフラグでしましょか。
とりあえず絵のサイズは1シート 640*448 (>>81のヤツ) で。
てゆか、実は昨日からDirectXばっかやってて
全く進んでなかったりw
85:従兄弟
06/01/10 00:45:05 6q4tErjK
ポチもじいちゃんも優秀だね。
>>76
グローバル変数を使うと規模が大きくなったときに収拾が付きにくいので、
できる限り引数渡しにすると吉かと。
(従兄弟自身は既にグローバル変数を1つも使わないのが習慣になっているYO!)
それと大きい構造体を値渡しにするとメモリとCPUパワーを食うので、
速度に影響が出る場合にはポインタ渡しにすると速くなるよ。
ただその場合は関数内から構造体の値を変更できてしまうので、
値を変更する関数と変更しない関数を一目で見分けられるようにするといいかもね。
(コメントなどでね)
>>77
できるかどうかは、スクリプトでやりたいことと、文法によりますな。
普段は数値計算ばかりなので、あまり複雑だと自身がありませんが (w
明日から通常の生活に戻るので、しばらく書き込めなくなります。
書き込みペースは週一くらいになるかも。
(寮住まいでproxy規制されているので…)
86:じいちゃん@(´-`)
06/01/10 12:58:48 VqoJSuHP
DirectX 一旦ヤめ~
駄目じゃ。じぇんじぇん理解できますぇん (T_T)
てことで、今日からまたじわじわ家族計画やってくYO!
ふごふご。
>>85
従兄弟タンは寮生活でしたか。
断然じいちゃんよかスキル高そうだし、色々アドバイスもらいたかったのじゃが・・。
てゆか、気づいた事あったら携帯で書いてくれ~。
スクリプトはイベントのスクリプトじゃ。
たぶん毎ターンのように(マップを一歩進むごとに?)小さいイベントがあって、
そこでカード(アイテム)の入手の有無を判定すると思われ。
フィールド → 文章 → 選択肢 → アイテム入手判定 → フィールドに戻る
って感じになるのかなぁ。ん~、難しそう。
グローバルの変数のやりとりは、従兄弟タンの言うとおりに
関数をはさむと安全性が増すっぽいですけど、どうもいいアイディアが浮かばないので
とりあえずはグローバル変数直いじりの方向で行ってみます。
あとで改良しましょう。
てゆか自分のプログラムさえ満足に書けないのに、
プログラムの合体って本当にできるんだろうか・・ ('A`)
87:名前は開発中のものです。
06/01/10 13:15:44 ywduv4qK
素人同士のプログラム合作は地獄だぜ
88:じいちゃん@(´-`)
06/01/10 13:30:13 VqoJSuHP
大丈夫。家族なら乗り越えられる。
89:じいちゃん@(´-`)
06/01/10 13:50:00 VqoJSuHP
今プログラム合体サンプル作り中ですど、、
自分のプログラムを人に伝えるってむずかすぃ
と思った。
90:じいちゃん@(´-`)
06/01/10 15:21:40 VqoJSuHP
とりあえず合体想定プログラムのプロトタイプじゃ。
URLリンク(gamdev.org)
WinMain()の中のswitch()文で、それぞれのシーン切り替えです。
フィールド → 戦闘 → フィールド みたいな・・
シーン切り替え用の変数はグローバル変数。
グローバル変数を追加したい場合は、細かい変数なら"Struct.h"の中の
__Sistem構造体の中に書くと。
グローバル変数を使いたい場合は、
ファイルの上で"Extern.h"をインクルードして使う。
・・・もうわかりにくくて申し訳ないです。
>>夫
戦闘シーンは"Battle.cpp"から始めれば大丈夫なはずです。
たぶん。
91:ポチ
06/01/10 16:03:31 iSLV1Aqf
レス少ないけどちゃんとみてるワン。
じーちゃんがんばってるなぁ。ポチも負けずにがんばるぞ!(何を?w
92:ダメ夫
06/01/10 17:53:55 bwmlpixc
じーちゃん頑張りすぎてしなないでねw
93:じいちゃん@(´-`)
06/01/10 18:35:51 HZuYqaMI
家族っていいな。。生暖かいぜ。
94:じいちゃん@(´-`)
06/01/10 21:22:22 HZuYqaMI
前に上げた歩行プログラムと>>90を、コピペの連続で合体させてみました。
URLリンク(gamdev.org)
URLリンク(gamdev.org)
ちょっと挙動が変ですが、
戦闘シーンの背景にフィールド画面の絵をそのままつかうとすれば、
こんな感じになるでしょか。
あ、>>90のヤツはSistemって英単語が間違ってたので、
__Sistem → __System
g_Sis → g_Sys
に変更しました。ごめ。 m(__)m
あと、__System構造体に、絵のハンドルを入れる変数をいくつか追加しました。
絵はWinMain()の中で読み込んでます。
とりあえず週末までまとまった時間はとれないっぽいので、
プログラムは一旦小休止ってことで ^^
95:ダメ夫
06/01/10 21:47:47 bwmlpixc
じーちゃんすごーい!どんどんゲームっぽくなってきたね。
週末まで忙しいのか・・・がんばってね~
96:名前は開発中のものです。
06/01/11 04:38:33 2QznEPdA
Sisだと妹のことになるな
97:名前は開発中のものです。
06/01/11 12:42:09 0u3OChT1
第一連想するのがチップセットメーカーな俺は負け組>Sis
98:じいちゃん@(´-`)
06/01/11 18:57:39 P5X/GXPP
もうSisterのSisでいいYO! ヽ(`Д´)ノ
99:小父さん
06/01/12 00:03:42 AARFMmpo
飛び入りよかですばい?
DirectX9に朝鮮中!
まだ文字しか表示できてないYO!
100:ポチ
06/01/12 09:27:16 Ttmc0clF
>>99
夫の叔父って事はじいちゃんの弟か兄?(素朴な犬の疑問
101:じいちゃん(´-`)
06/01/12 10:49:32 BRWr95/A
「小父」が読めなくてgoo辞書に泣きついたのは内緒じゃ。
ちなみに直訳は↓に。
おじ をぢ 0 【小▽父】
他人である年輩の男性をいう語。「さま」「さん」を付けて用いる。
うはw他人じゃんww
>>99
じいちゃんはDirectXは三角形を表示したとこで投げたぞ。
字まで出せたなんて、小父すごいよ小父。
たかが三角形出すのにあんなに苦労するなんて。
Xファイルなんて夢のまた夢じゃわ。
じいちゃん数学知識も0じゃし、
もう一生ポリゴンなんて出せなくてもいいや ┐(´ー`)┌
>>100
どうやらよその小父さんらしいw
102:ポチ
06/01/12 13:17:22 Ttmc0clF
>>101
うははw
家族を超えて、ご近所みんなでゲーム製作かww
まあ、私なんて人間ですらないわけだしな(`・ω・´)
参加したい奴は誰でもかかって来い!っとご主人様「夫」がいっておりますワン。
103:小父
06/01/12 16:40:28 AARFMmpo
隣の小父さんですw
ドワーフみたいな小さい父さんではないです(誰もそんなこと言ってない)
>文字
DirectX9では、バックバッファをロックして
デバイスコンテキストハンドルを取得すると、
DDBのように文字が描けるんですよ
でも、
ロックしている間、レンダリングパイプラインが
止まるらしいので遅いらしい…
やっとこさDirectX9で画像を表示することはできたのじゃが、
キャラの周りに四角く色が残ってしまっている…
ゲームの本質では無いとは言え、これを
『仕様です』で通すには、ちと恥ずかしい
どうやったら、くり貫いて表示できるんぢゃろうか?
104:ダメ夫
06/01/12 18:18:47 gqmmL1M4
小父さん・・・よろしくねw
俺なんてウィンドウの出し方すらまだ理解できてないよ
クソ~負けないぞ~
105:じいちゃん(´-`)
06/01/12 18:36:16 FyPAwiNo
>>103
あー、にゃるほど。
LockするとTextOut()が使えたりするわけですか。
これはいい情報ですじゃ。
小父さんはもうテクスチャとか貼れる人なのね。
いいな~。
>>104
じいちゃんと一緒に3Dの無い世界に逝こうよ (・∀・)
106:金魚
06/01/12 19:07:26 vESlanCj
参加させてください。
CとDXライブラリを勉強中位のレベルですけど、、
107:ポチ
06/01/12 19:14:13 Ttmc0clF
>>103
テクスチャを張ってて透過したいなら
D3DXCreateTextureFromFileEx関数でファイルを読み込んで
colorkey引数に透過したい色を指定してテクスチャを作る。
そのあたりを試してみるといいワン(`・ω・´)
108:ポチ
06/01/12 19:15:59 Ttmc0clF
>>106
人外の家族が増えたw
109:金魚
06/01/12 19:22:11 vESlanCj
リアルで受験生なので
見ているだけになるかもしれませんがよろしゅう
っていうかこのスレでなごみすぎて受験生なの忘れてた...orz
110:じいちゃん(´-`)
06/01/12 20:30:57 FyPAwiNo
参加は結構じゃが、家計が苦しくなったら
ペットは人間様の腹の足しになるのでよろしく!
戦時中はよく犬鍋とか食ったもんじゃ・・・ ∀`)
111:ダメ夫
06/01/12 23:02:15 gqmmL1M4
金魚のくせに受験するなんて・・・がんばれ、みんな応援してるぞ!
じいちゃん!そっちに逝っちゃだめよ、一緒に3Dゲームの世界に逝こう
112:隣の小父
06/01/13 12:21:28 E+FRrPQg
>>107
StretchRectを使って画像を表示させていたので
今度は、そのレスを参考にテクスチャ周りをやってみます(`・ω・´)シャキーン
>>夫
わしも3Dの勉強をしたいのぢゃ
スキンメッシュをいじれるようになりたいのぢゃ
そしてあんなことやこんなことをしてみたいのぢゃ
113:じいちゃん(´-`)
06/01/13 15:45:16 6J6JzCI5
土日でなんとかマップエディタのプロトタイプを形にしたいな。
で、すみやかに敵の動きのプログラムとかになだれ込みたいところじゃ。
でも思考ルーチンとかどうしよ。なにも思い浮かばん・・。
週末は従兄弟タン来るかな。
>>111
いいもん、いいもん。
携帯電話でポリゴンがグリグリ動く時代になっても、
じいちゃん一人だけ二次元の世界でがんばるもん。
二次元はいいぞ~。おにゃの子もいっぱいいるしw
てことで、じいちゃんちょっくら二次元半角板に行ってくるよ ノシ
114:隣の小父
06/01/13 16:10:04 E+FRrPQg
>>ポチたん
ID3DXSpriteでカラーキーを抜くことに成功しますた
↓参考サイト
URLリンク(www.plustarnet.com)
実験的プログラムだからゲーム性は全く無いけどね
115:ポチ
06/01/14 00:02:14 Mz2HhYGR
>>114
おおぅ
なんか分かりやすそうなサイトだワン。
ソース提供ありがとん!
116:隣の小父
06/01/14 13:55:12 LJK2jp1a
テクスチャの読み込みを別スレッドにしたぞな。
先読みアルゴリズムをこさえておくと、
マップ切り替えでNow Loading を出さなくて済みそうぢゃて。
テスト環境が無いので、マルチコア・
マルチCPUでの動作は保障されていないけどな。
>>じいちゃん
マップエディタってめんどくさいんだよねぇ~
それが完成したら、使わせてもらおうかのぉw
117:じいちゃん(´-`)
06/01/14 14:56:33 ysqJMufu
昼過ぎに起きて、外をみたら雨。今日は土曜。寒くて外には出れん。
こりゃプログラムをやるしかないじゃないか。
と、右手を見るとなぜかビールが。グイっと一息に煽ってみる。
(;゚Д゚ < ビール! ウマー!!
プログラムとか、もうどうでもよくなったとさ。
>>116
完成・・・したら・・・ね・・・。
118:じいちゃん(´-`)
06/01/14 21:23:59 ysqJMufu
ポチが描いてくれたマップチップの絵を
縮小描画しようとしたら絵が鬼のように崩れたんですけど、
普通こんなものなのかな。
URLリンク(aploda.com)
左がデフォで、右が0.5倍です。
描画はDDBで、StretchBlt() を使ってます。
絵は小さくした方が画面を広く使えていいんだけどなぁ。
119:ポチ
06/01/14 21:35:13 SpnCp24U
SetStretchBltModeを使ってストレッチモードをHALFTONEに設定してみて。
遅くなるけどきれいになるはずワン。
ハーフトンモードはブラシのずれを防止するために
SetBrushOrgExを使わないといけない(らしい
120:じいちゃん(´-`)
06/01/14 22:06:02 ysqJMufu
原理はわかりませんが、それでできました!
ポチかわいいよポチ♪
121:隣の小父
06/01/15 09:55:56 Cg7rTm2B
テクスチャマネージャーが稼動
g_TextureManager.Draw( "test.bmp", 320,240, 0,0,64,64 );
とすると自動的にテクスチャを読み込んで表示してくれる
キャッシュがヒットすればメモリ上にあるテクスチャを使う
キャッシュアルゴリズムに無駄があるのをなんとかしたいけど
バグりまくるので後回しw
エウレカ見逃したorz
122:隣の小父
06/01/15 10:43:10 Cg7rTm2B
試作コードは最後まで使われるの法則発動な悪寒
123:じいちゃん(´-`)
06/01/15 11:20:00 vhg4JwlY
エウレカ見たよ~。
家族のことがテーマに上がってて、ちょっとドキっとした。
>試作コードは最後まで使われるの法則発動な悪寒
あるあるw
124:隣の小父
06/01/15 12:04:30 Cg7rTm2B
>>75のマップチップ表示させてみた
やっぱり、マップエディターが欲しいのぉ
125:隣の小父
06/01/15 12:10:13 Cg7rTm2B
あ、マップチップのサイズは2のn乗でお願いしまする
DirectX9の仕様なので…
今回は512x256にトリミングしますた
126:隣の小父
06/01/15 12:44:31 Cg7rTm2B
【進捗報告】
今迄に作ったクラス群リスト
CMessageLoop
CWindow
CThread
CApp
CD3DDev
CBinaryBase
CBinaryCache
CBinaryLoader
CTextureMember
CTextureManager
127:隣の小父
06/01/15 15:37:36 Cg7rTm2B
一覧にしてみると、音系と入力系が全く手をつけてないなorz
128:隣の小父
06/01/15 17:02:16 Cg7rTm2B
っスクリプトエンジン
URLリンク(www.lua.org)
これ使おうと思う
129:隣の小父
06/01/15 17:05:38 Cg7rTm2B
音はこれ使おうかなと
Ayame~
URLリンク(www.twin-tail.jp)
130:じいちゃん(´-`)
06/01/15 17:50:09 vhg4JwlY
未完成なことこの上ないのですが、できたとこまでうp
URLリンク(gamdev.org)
URLリンク(gamdev.org)
URLリンク(gamdev.org)
マップエディタです。とにかく動かしました。
まだ絵しか貼れません。
しかもまだ新規作成はできない ('A`)
凄く時間かかったよ。
小父さんは凄いですな。
>>128-129とか、じぇんじぇん自力で使える気がしないわ。
そえば、週末なのに従兄弟タンが来ない・・・。
131:名前は開発中のものです。
06/01/15 18:18:07 rJ3lxUrA
こんばんは、従兄弟です。
金魚タン、隣の小父さん、はじめまして。
従兄弟はリアルな生活が20日まで修羅場を迎えているので、
それが終わったあたりから手伝えるかもしれません。
>>金魚タン
受験生のうちからプログラミングに親しめるなんて、
羨ましいねぇ (^^
>>小父さん
どんどん進んでいますな。
上のほうで少し書きましたが、3D系、音系、入力系には
Lampというライブラリがあります。
ソースコードも読みやすいので、使えるかもしれません。
(ライセンスはLGPL)
URLリンク(lamp.sourceforge.jp)
>>86
> 断然じいちゃんよかスキル高そうだし、色々アドバイスもらいたかったのじゃが・・。
プログラムの世界は、実際に作った人が上だよ、じいちゃん♪
それと書き忘れていたけれど、従兄弟は普段UNIX系OSを使っています。
(WindowsのAPIについてよく分かっていないので、低スキルかも)
>>113
> でも思考ルーチンとかどうしよ。なにも思い浮かばん・・。
まずは人間同士が対戦できるところまでを作り、
実際に遊びながら動かし方にパターンがあるか考えればいいかと。
パターンがあれば有限状態機械とかでできるんじゃないかな?
132:ダメ夫
06/01/15 18:28:08 fTemTEsW
じいちゃん凄すぎ!!もうついていけないよ~って最初からか・・・
はやく俺もじいちゃんみたいになりてーな
133:隣の小父
06/01/15 18:32:11 Cg7rTm2B
じいちゃん乙であります!
初めてじっくりソース読ませてもらったよ
DXライブラリはちょっといじったことはあったり
ライブラリを自力構築せずにDXライブラリで統一した方が
いいかもね~
工数短縮や分業の可能性も出てくるし…
ところでマップエディタのソースは無いの?(ボソ
134:じいちゃん(´-`)
06/01/15 18:52:52 Rip2FEhd
従兄弟タンきてるー!
>>131
二十日まで大変なんですか。でもでも、どうにか生き延びてください。
だってあなたにはスクリプト関係を丸投げしようと思ってるからw
UNIX系OS? うはw見たことすらないー。
あと、有限状態機械でググったら難しそうなサイト様がいっぱい出てきて
じいちゃんポックリ逝きそうになったりましたよ!
>>132
いやいや、おまいは戦闘をつくるんじゃ!
とりあえずじいちゃんのプログラムはとても読めたものじゃないのですが、
WinMain()とButtle.cppとグローバル変数のとこだけ見れば
なんとかなると思います。
がんばろう。
>>133
人のソース読める人って尊敬 (´д`)
てゆか、小父さんは自作ライブラリを家族計画に投入しようとしてですか!?
じいちゃんよか遥か遠くに居る人のようね。凄いなぁ。
マップエディタは未完成な上に、ソースがかなりアレなのと、
じいちゃん一人で作るっぽいので公開しなかったのですが・・。
完成したら出しますわ。
135:じいちゃん(´-`)
06/01/15 18:59:12 Rip2FEhd
ポチ企画
スゴロク風カードゲームは、二月いっぱいで完成してない場合は
辞めようと思ってるのじゃ。
某ステフスレでも「締め切りの無いゲームは完成しない」
みたいな事言ってる人いたし、このゲームの締め切りは二月いっぱいってことにしようかと。
当初は二月上旬でカタを付けたいと思ってましたが、
じいちゃんのスキルでは無理じゃ!
なんとか形にしたいねぇ。
136:隣の小父
06/01/15 19:23:34 Cg7rTm2B
>>Lamp
うはwLamp凄杉!
デモゲームの途中でフリーズして死ぬかと思ったけど…
>>自作ライブラリを家族計画に投入
下手の横好きで、自作ライブラリを作っていたんだけど、
LampやDXライブラリが凄過ぎるので、それらと比べると見劣りするし、
無期限に工期が延びる可能性大ですわ…
でも、ある程度まとまったら、うpしますわ
>>二月上旬で片
ちと厳しいスケジュールぢゃの
締め切りの延期も視野に入れておくといいかも
>>UNIX
CygwinとLinuxをちょっといじったことしかないのぉ
おじさんは、もっぱらWindowsぢゃて
137:ポチ
06/01/15 21:02:53 /QnK3Zej
わんわん。
>>135
某スレの締め切りの無いゲームは完成しない発言は
管理されないと自分で動けない人間が良く思いつく発想だわん。
ちゃんとやる人間は締め切りとかなくてもそれなりのものを上げてくる。
じいちゃんが良い例(`・ω・´)
商業製作とかじゃないから自分で納得できたらそこが完成だと思う。
ある程度納得できるものがあって締め切りまで完成度を高めるなら良いけど
締め切りに間に合う事を第一に妥協したものをつくってしまったら
完成とは到底呼べないと、締め切りと妥協にまみれたポチは言ってますw
家族でゲーム製作の楽しみはみんなでわいわいやってたら
こんなのできちゃったよwみたいな感じだとポチは思っているワン。
ソースも公開だし、家族の誰かがリタイアするならそれはそれで
笑顔で送り出して、新しい家族があとを引き継いでいけばいいんジャマイカ?
どこまで続くかわからんスレではあるけども(ぁ
そんなことを小屋の隅で昼寝しながら犬は考えたりしましたとさw
138:ポチ
06/01/15 21:07:14 /QnK3Zej
>>138
ああ、ちょいかん違い入ってたかもw
じいちゃんが辞めるんじゃなくて
スゴロク風カードゲームの開発を止めて
なにか別の企画なり方向性を探そうって意味だったのねw
139:ポチ
06/01/15 21:23:09 /QnK3Zej
>>130
マップエディタ確認。
じいちゃん、あいかわらずいい仕事するワン。
製作おつかれ(`・ω・´)
140:隣の小父
06/01/16 07:57:01 9NrEhKM5
doxygenの使い方がよく分からないorz
しばらく、ぐぐってみよう…
141:隣の小父
06/01/16 09:01:44 9NrEhKM5
とりあえず、わしの役割分担はライブラリね
142:隣の小父
06/01/16 10:40:47 9NrEhKM5
じーちゃんのソースを(そのまま)Doxygenにかけてみた
解凍したら、index.htmlを見てね
URLリンク(gamdev.org)
143:じいちゃん(´-`)
06/01/16 17:33:09 SlLLNWIM
最近VC++6.0タンの調子が悪いのじゃ。ちょっと前までは素直だったのに。
・・・ツンデレ病? (*´Д`)ハァハァ
>>ポチ
締め切りってのは、ぶっちゃけ自分自身への縛りだったのですが、
先走りしすぎたようですね。とりあえず6割ぐらい完成した段階で、
各自の状況に合わせて現実的な数字をだしましょか。
混乱させるようなことを書いてしまって、ごめ。 m(__)m
>>142
なんじゃこりゃああぁぁwww ふがふが。
ドキュメント生成ツール?凄い。どこの天才が作ったんだ。
外人は凄いね。やっぱ肉食ってるヤツらは違うぜぃ。
こうして見るとヘッダにソース直書きはやぱ見にくいなぁ。
これはコメントとか付けるときのオススメフォーマットとかあるんですかね?
こう書くと、Doxygen様にはこう反映される、みたいな。
日本語説明サイト様とかチラっと見たけど、じいちゃんには何言ってるかさっぱりw
小父さんGJ!
ところで「Doxygen」は「どくしぃげん」て呼んでいいのかにゃ? (:D)| ̄|_
144:隣の小父
06/01/16 17:41:26 9NrEhKM5
>143
じーちゃん、Doxygenのコメントの書き方はこの辺りを読んでくんろ
URLリンク(members.at.infoseek.co.jp)
URLリンク(freepg.fc2web.com)
URLリンク(yudoufu.velvet.jp)
プログラムの合作する時には便利だべさ>Doxygen
145:じいちゃん(´-`)
06/01/16 17:44:29 SlLLNWIM
おお、読んでみまっす。どもありがとー。
146:隣の小父
06/01/16 18:12:11 9NrEhKM5
とりあえず、開発途中のライブラリをDoxygenに掛けたもの
URLリンク(www.geocities.jp)
一応、真面目に作ってるところを見せておかんとまずいと思うてな
でも正直なところ、このライブラリは使い物になりませんわ
DXライブラリで作った方が幸せになれると思ふ
147:名前は開発中のものです。
06/01/16 21:07:28 9iJ9pscq
URLリンク(gamdev.gozaru.jp)
148:名前は開発中のものです。
06/01/16 21:09:33 9iJ9pscq
ライブラリならDXよりはSDLがよさげ。
URLリンク(gamdev.gozaru.jp)
URLリンク(www.tacoworks.jp)
149:じいちゃん(´-`)
06/01/16 22:23:21 vreH4Axr
ひさびさに公式ページ?見たら、ちょっと更新されてるー。
書いた人、(・∀・)エライ!!
>>146
なんか凄そうですけど、DirectXわかんなにゃいから
なにがなんだか orz
でも乙。
コメントはそんな風に出るんですね。
>>147-148
紹介どもですじゃ。
速度が必要なゲームではなさげなのでDXライブラリに不満は全く無いのですが、
今ならライブラリの差し替えも比較的簡単に可能ですね。
私はLunaってのも気になってるよん。
150:隣の小父
06/01/17 06:30:22 UFBWgrmq
>ライブラリ
2Dに限定するけんども
1. DXライブラリ
2. SDL
3. Luna
この三択ぢゃね
個人的にはDXライブラリを押すけんども…
しかし、3Dをやってみたい欲求がウズウズ
ゲームの形まで仕上げるのには期間かかりそうぢゃがの
151:隣の小父
06/01/17 08:01:18 UFBWgrmq
SDL悪くは無いんだけんども、
日本語の敷居がDXに比べると若干高いのぢゃ
文字を殆ど使わないゲームならSDLという選択肢も
生きてくるのぢゃがな…
152:隣の小父
06/01/17 08:33:00 UFBWgrmq
2Dテクスチャを表示するサンプルコードなんだけど、
使いやすそう?それとも使いにくい?
void Render() {
D3DDev.BeginScene();
D3DDev.BeginSprite();
g_TextureManager.Draw( "chip.bmp", x,y, 0,0,64,64 );
D3DDev.EndSprite();
D3DDev.EndScene();
}
153:隣の小父
06/01/17 11:05:42 UFBWgrmq
読み込むテクスチャの大きさを明示的に指定しなくても
済むような機構を作った。
実態は読み込むBMPファイルの大きさチェックやね。
PNGとかに対応は、まだ無理w
ファイル名と座標と表示チップの位置を指定すれば、
後はライブラリがやってくれるのだが…
ミニゲームには大仰な機構かもしれないw
154:じいちゃん(´-`)
06/01/17 12:42:26 2WspaH5v
小父さんゴリゴリ打ってるっぽいですね。
じいちゃんはちょっとWin32APIに飲まれて、燃え尽き症候群気味。
>>152のはよくわかりませんが、
自動で絵を読み込んでくれる機能が付いてるっぽくて使いやすそうな感じ。
SDLは日本語弱いのか(´・ω・`)
155:隣の小父
06/01/17 13:35:07 UFBWgrmq
>SDL
弱いんじゃなくて、ちょっとめいんどい
コード変換とかしないといけないかもしれないから
抵抗無い人にとってはSDL最強かもしんない
void Render() {
D3DDev.BeginScene();
D3DDev.BeginSprite();
Fami::Texture.Draw( "chip.bmp", x,y, 0,0,64,64 );
D3DDev.EndSprite();
D3DDev.EndScene();
}
今はこんな感じのインターフェース
Lunaを模倣してみますた
156:隣の小父
06/01/17 16:45:02 UFBWgrmq
Easy3Dっていうライブラリを見つけた
3Dがぐりぐり動かせそうな予感…
URLリンク(www5d.biglobe.ne.jp)
157:隣の小父
06/01/17 18:53:03 UFBWgrmq
最新版のDirectX SDK には8.1のヘッダが一部入ってないのねorz
Includeフォルダ覗くと10っていう名前も見当たるし
そのうち8.1はサポートから外されるんだろうなぁ
158:従兄弟@今日は自宅
06/01/18 00:04:43 F2sEu3Vx
じいちゃん、新しい開発環境が無償で配布されているよ。
開発環境を家族で統一しておけば、
容量が少なければプロジェクトファイルごと共有できて楽だよ。
Visual Studio 2005 Express Edition (もちろんVC++もあり)
URLリンク(www.microsoft.com)
それからスクリプトの件、了解です。
処理の一部をスクリプトに追い出す場合、
まずはスクリプト化する処理を一つの関数 (メソッド) に
押し込めるのが始まりです。
お決まりのAPIだけを使ってその関数だけを書き換えれば、
変えたい部分を変えられるようにしておいて、
後はそのAPIを扱う最低限の機能だけを解釈できるようにする、
という手順を踏めば、かける手間も最小限で済みますよ。
159:従兄弟@今日は自宅
06/01/18 00:18:42 F2sEu3Vx
>>154
一応、SDLの日本語表示について参考になりそうなページを。
URLリンク(tokyo.cool.ne.jp)
従兄弟はクロスプラットフォームのSDLを使いたいのが本音だけど、
ここまでDXライブラリで開発してきたなら、その延長でいいのでは。
じいちゃんのソースコードを読んだ限りでは
他のライブラリにも、その気になれば移植できそうだし。
(描画は「Draw」関数にまとめてあるし、Input関数は少ないし)
>>157
M$のライブラリはライフサイクルが短いですな。
160:ポチ
06/01/18 00:28:53 ibCc4p9C
クロスプラットフォームいいねぇ。
Unix系で自分の関係するゲームが動くとかうれしいよね。
意外なユーザーも増えそうだしw
従兄弟たんがコッソリ再構築してくれてもいいワンw
161:名前は開発中のものです。
06/01/18 05:09:07 F2sEu3Vx
どうも寝付けないのと、本業の進みが予定より少し早いのとで、
じいちゃんのソースを弄ってみたよ (w
URLリンク(gamdev.org)
変更点は、WinMain()で
・InitDXLibrary()の返り値をbool型に
・LoadBitmap()に失敗したらその場で終了するように変更
したのと、
・CF_Systemクラスが「何でも屋」になりそうだったので、
PlayerArrowクラスとLookAroundFrameクラスを分離
(それぞれ矢印とフィールドを見回すときの枠のみ)
といったところ。
書き換えている最中に、変数名をいくつか変えたけど、
大丈夫かな?
(どれも、略していたのをやめただけ)
162:従兄弟@今日は自宅
06/01/18 05:16:02 F2sEu3Vx
分類としては、こんなところでしょうか。
迷惑でなければ、分けたほうがよさそうなクラスを分けたり、
変数のスコープを限定したりと、
保守性を上げてやりたいと思います。
・フィールド関連 (移動時)
CF_System (アクティブフラグの管理に限定)
Field
・フィールドに描かれるオブジェクト (Drawメソッド付き)
CMapControl (マップ全体)
CPlayer (キャラクター)
LookAroundFrame (見回す時に出る枠)
PlayerArrow (キャラクター前の矢印)
・データ共有用?
Extern
Global
Macro
・戦闘関連
Battle
・まだよく読んでない
CF_Input
Struct
WinMain
163:従兄弟@今日は自宅
06/01/18 05:20:03 F2sEu3Vx
最後に、
変数名や関数名の書き方を合わせておくと後で楽だと思うのだけど、
どうでしょ?
とりあえず思いつくまま書くので、「それはやめて欲しい」とか
「他にもこうしたほうがいい」という意見があったら気軽に書いてね♪
(家族なので、遠慮せずにお互い作業しやすいようにしましょ)
1. なるべく略さない (Mou→Mouse, Pos→Position, Pal→Param)
2. ハンガリアンをやめたい (m_hGrap→Graphic or graphic)
3. 関数名は動詞+対象となる名詞で (ArrowDraw→DrawArrow)
4. 変数名は先頭が小文字 (m_nActiveFlag→activeFlag)
簡単に言うと、C#のソースコードのようなイメージです。
2に関しては、先に変数のスコープを限定したり
変数名の付け方をパターン化 (*Graphicならint型のハンドル、とか)
してからでないと、混乱するかな。
(私自身がハンガリアンが分からないので、なんとも言えませんが)
164:隣の小父
06/01/18 05:30:42 NXBCeScd
>>158
Visual Studio 2005 Express Edition
isoしか無いみたいね
おじさんは、以前knoppix焼こうとして
PC付属の焼きソフトで起動CDが作れない
問題にぶちあたったw
フリーな焼きソフトとかあるんかな?
165:従兄弟@今日は自宅
06/01/18 05:33:29 F2sEu3Vx
>>160
いつの間にかSDLベースになっていて困惑するかも (w
実はVisualStudio 2005を使ってみたら直すのが楽で、
逆にSDLを使ってWindowsでUNIX (私のはFreeBSD) 用の
ゲームを作ればいいのでは、と思いました。
166:隣の小父
06/01/18 05:37:48 NXBCeScd
>>163
1. IDEなしで手打ちしてるんで、長い変数名は苦手
2. m_hogehoge
はMSの作法なんで、それに従ってるけど
やっぱり、一見でスコープが分からなくなるのが
問題ですねぇ
3.4. に関してはUNIXの作法ですかね?
167:従兄弟@今日は自宅
06/01/18 05:38:25 F2sEu3Vx
>>164
DaemonToolを使うと、各種ディスクイメージ (もちろんISOも) を
そのままマウントできて、便利ですよ♪
URLリンク(www.geocities.co.jp)
一度焼いてから使いたい場合には、こちらがISOイメージに対応しているようです。
URLリンク(www.deepburner.com)
URLリンク(sekirei.air-nifty.com)
168:隣の小父
06/01/18 08:01:07 NXBCeScd
家族計画・歴史
>4 ポチ登場
>8 夫登場
>11 妻登場
>16 じーちゃん登場。父権発動でエロになると思いきや?
>18 息子登場
>23 息子の発言で、作るゲームジャンルは漠然とカードゲームという流れになる
>25 妹登場
>32-33 ポチに名前が付く
>36 従兄弟登場。家族計画の中で一番の熟練者
>38 ポチが餌(企画)を咥えて来る
>44 ポチがWikiに公式ページを作る
>50-51 画面の仕様が決まる
>53 じーちゃんがうp
>57 画面レイアウトうp
>65 じーちゃんがうp
>68 ポチが戦闘画面レイアウトうp
>69 謎な人が何かうp
>75 ポチがマップチップうp
>84 マップチップ構造体
>86 イベントのスクリプト
>90 じーちゃんが合体想定プログラムのプロトタイプうp
>94 じーちゃんがうp
>99 隣の小父登場
>106 金魚登場
>128 Lua
>129 Ayame
>130 じーちゃんがマップエディタうp
>131 Lamp
>142-146 Doxygenでドキュメント管理
>148 SDL
>156 Easy3D
169:隣の小父@年金生活
06/01/18 09:49:42 NXBCeScd
>>167
www.daemon-tools.net
に繋がらない(´・ω・`)
170:隣の小父@年金生活
06/01/18 12:13:13 NXBCeScd
>>158
Visual Studio 2005 Express Edition インストール完了(`・ω・´)
本格的なIDEって、こんなに使いやすかったんだw
今までコマンドラインでシコシコやってたよ(´・ω・`)
171:じいちゃん(´-`)
06/01/18 16:26:21 k9LMNYtu
キタ━(゚∀゚)━!!!
>>161
朝早くから乙です。
変更してもらったとこ見ました!
CF_Systemはとりあえずなんでも入れちゃおうと思ってたんですが、
そうやって小さいクラスに分けちゃってもいいんですね。
長い変数名は、わりと好きなのでOKです。
略は極力やめるようにしまっす。
>>162
そんな感じの分類でOKです。
Extern
Global
Macro
Struct
は共有用のつもりです。さらに、
Prototype.h // 広域で使いそうな関数のプロトタイプ書く
Func_01.cpp // 広域で使いそうな関数の実装書く
この二つを入れようかと思ってるのですが、いかがでしょか。
実はもっといい方法あります?
あと、CPlayerはこれから書き直すと思うので、
今はそっとしといてください ^^
172:じいちゃん(´-`)
06/01/18 16:27:38 k9LMNYtu
>>163
変数名やら関数名は、できるだけ合わせた方がよさげですよね。
んー、共同開発っぽくなってキター。
>1. なるべく略さない
これはOKです。なるべく ^^ ね。
>2. ハンガリアンをやめたい
ハンガリアンは見よう見まねで使ってただけなので、未練は全く無いです。
でも、クラスのメンバ変数の頭につける m_ だけは残しといてほすぃかな。
m_nActiveFlag→m_activeFlag
m_hGrap→m_graphic
みたいな。どでしょ?
>3. 関数名は動詞+対象となる名詞で
これはぜひやりたいのですが、じいちゃん英語わからんチンなので、
やりたくてもできないかも~ (T_T)
>4. 変数名は先頭が小文字
これはOKです。
Visual Studio 2005 Express Edition
はちょっと気になってたので、この機会に試しに乗り換えてみたいと思います。
VC++6.0タンは前世紀ぐらいに買ったやつですから、
そろそろ休ませてあげよかな。どもですじゃ。m(__)m
173:じいちゃん(´-`)
06/01/18 16:29:29 k9LMNYtu
>>168
激しく乙w
まだ160ですけど、思ったより色々ありますね。
そろそろおにゃの子キャラが欲しいよ欲しいよ。
あと、エロゲはあきらめてないぞ。
カードの絵が超エロエロになる予定なんじゃ!
Visual Studio 2005 は週末あたりに挑戦してみます。
VC++6.0タンと一緒に起動して、最適化競争とかさせてみたいw
174:隣の小父@年金生活
06/01/18 17:17:18 NXBCeScd
>ハンガリアンをやめたい
考えてみればDoxygenでドキュメント管理するので
m_やらg_やら小細工しなくても分かるのかもしれない
M$の作法が染み付く前はコーディングにUNIX風作法を取っていたので
サッパリと決別するのもいいのかもしれない
175:じいちゃん(´-`)
06/01/18 17:48:41 k9LMNYtu
m_ は見たときに一発でメンバ変数とわかるのと、
メンバ関数内で同じ変数名を使いたくなった場合
class A {
m_number;
int SetNumber (int number)
{
m_number = number;
}
}
こんな場合に役に立つと思ったのですが、どでしょか?
私、こういうことがわりと頻繁にあるんですけど #-_-
g_ はできるだけ色んな所で使わない方向でいけば、
付けなくても、なんとかなるかなぁ。とかオモタ。
ハンガリアンぽい記述は、なんとなくカッコイイwのと、
スーパープログラマのやねうらお様の本に「絶対使え」的な事が書かれてたので、
中途半端に使うことにしました。
やめることに関しては、未練は無いですが~
176:隣の小父@年金生活
06/01/18 19:26:01 NXBCeScd
そうそう、よくあるね
そういった使い方は良くするよ
引数をメンバ変数に入れる時なんかね
void SetSize( int Width, int Height ) {
m_nWidth = Width;
m_nHeight = Height;
}
突き詰めると、UNIX作法とM$作法の確執かねぇ(^^;
177:ポチ
06/01/18 21:05:54 ibCc4p9C
処理系による方言のようなものだと思っていたワン。
それぞれの処理系にくっついてくるサンプルソースとか
その中で使われている作法をそのまま引き継いでるんじゃないかな?
たぶんwindowsでもGCCで作業してた人は違和感が無いのかも
と、MSCとBCCの違いに戸惑った私が言ってみるw
178:じいちゃん(´-`)
06/01/18 21:14:17 k9LMNYtu
あんま変わってないのですが。。
Prototype.h と Func_01.cpp を追加して、
ウィンドウの板を出す関数を入れてみました。
URLリンク(gamdev.org)
URLリンク(gamdev.org)
WinMain()の中の、FameRateControl()関数の中をちょっとだけ変えました。
Struct.h に hGrapWindowBoard_01 を追加しました。
CMapControl の実装とヘッダを別ファイルにしてみました。
変更はこれだけっだったかな。
変数名はまだそのままなのですが、週末までにどうするか決めといて、
それから一気に変更しまっす。
あとコメントはまだ勉強不足でどう書けばいいのかわからないのですが、
これも週末になんとかしたいなと。
土日は大変そうだわぁ (;^_^)
179:隣の小父@年金生活
06/01/19 08:17:05 BYtOZVbI
Doxygenにコメントが反映されるようにしてみた
やっつけだから、完璧じゃないけど
コメントのつけ方の参考にしてみてちょーだい
URLリンク(gamdev.org)
180:隣の小父@年金生活
06/01/19 09:13:36 BYtOZVbI
>>178
じーちゃん乙!
話は外れるけんども、このページ↓を作ったのは、わしなんじゃが
URLリンク(gamdev.org)
じーちゃん、マップエディターのソースPLZ!
弄ってみたいのぢゃ
181:隣の小父@年金生活
06/01/19 12:43:34 BYtOZVbI
>命名規則
変数名の変更についてですが、
大幅に変えるとバグの元になるだけなので
MS作法で行くのが吉だと個人的には思とります
182:名前は開発中のものです。
06/01/19 15:40:01 KZhSpg+k
>>178
じーちゃん、乙です。
いつもながら、いい仕事しますね (^^
>>168
従兄弟はゲームを作りに参加するのが初めてなので、
少なくとも熟練者ではないですよ (^^;
むしろ家族のみんなのソースを読みながら、
勉強させていただいています。
>>163
変数名について聞いたのは
主に自分の書き方を家族に合わせたかったからなので、
私もなるべくハンガリアン記法を使うようにしますね。
(間違えてたらコッソリ直しておいてくださいな)
それと、今ある変数名を例に使ってしまったので、
これではじーちゃんが書いた部分を書き換えたい、
と言っているように見えてしまいますな。
少なくとも既に書いた部分については、>>181に賛成です。
(紛らわしくてごめんね。>>家族のみんな)
183:名前は開発中のものです。
06/01/19 15:43:32 KZhSpg+k
>>166
あらためて考えてみると、従兄弟の書き方はJavaそのものなのかも。
フラグには「bool finished;」のような変数を使い、
「bool isFinished() {return finished;}」のように
メソッド名の「is (boolの場合) 」や「get (それ以外) 」のような
規則で役割を決める、という感じかな。
考えてみると、ハンガリアン記法を使わなくても混乱しないのは
他の部分で制約を設けているからかもしれない。
(グローバル変数を使わない、ポインタは特定のデータ型のみ、とか)
C++で共同作業をしたことはほとんど無いので、
勉強になりますた。
184:名前は開発中のものです。
06/01/19 15:51:25 KZhSpg+k
ついでなので書いておくと、変数名を後から変えたくなったり
クラスをスーパークラスとサブクラスに分離したくなったりと、
機能を変えずに構造を変えたくなった場合には、
「リファクタリングツール」というのを使うと便利ですよ。
URLリンク(www.slickedit.com)
URLリンク(www.refpp.com)
従兄弟は下のを使っていますが、例えば変数名を変えたい場合には
変えたい変数名を選択して「右クリック→新しい名前の入力」で
全ての変数が安全に変更されるので、便利ですよ。
(同じ名前で別のスコープの場合やコメント内、他の変数の一部の場合には変更されない)
以上、チラシの裏ですた。
185:じいちゃん(´-`)
06/01/19 19:34:57 SaMts7cO
>>179
ご丁寧にどもありがとです m(__)m
/// と //! の違いがいまだによくわからないのですが、
とりあえず説明に /// を使っとけば、ある程度反映されるんですかね。
もうちょっとよく見てみまっす。ども。
>>180
日曜日からほとんど変わってないのですが、マップエディタです
URLリンク(49uper.com:8080)
上で書いたように、マジで未完成ですよ~。
質問あればどぞー ^^
>>従兄弟タン
お、そろそろ修羅場は脱出ですかな?
変数名はとりあえずハンガリアンもどきで行くんですかね?
私の書き方はかなり自己流入ってますので、それはそれで混乱をまねくかも。
どっかにわかりやすい基準てないのかなぁ。
あったら即乗り換えるんですが。
基本的に私は適当に書いてるので、ガンガン指摘してもらってけっこうですよ~。
マジでマジで。
リファクタリングツールなんてあるんですね。
まあ>>184のは英語ソフトらしいで、じいちゃん使える自信は全く無いのですが orz
186:隣の小父@年金生活
06/01/19 21:10:43 BYtOZVbI
>>185
じーちゃん乙であります!
明日からマップエディタのコード追いかけてみるかのぉ。
コメントは
/// は関数や変数の一行上に、
//!< は同一行の右側に書きまする。
/*!
*/
や
/**
*/
もあるでよ
>>184
従兄弟殿は本格的で実践的な知識を大量にお持ちで凄いですじゃ。
おじさんは、タスクシステムの実験をしとりました。
187:隣の小父@年金生活
06/01/20 07:46:17 wtRfMKhJ
じーちゃんのマップエディタを弄っております。
骨組みから変えてしまうかもしれないので
03からブランチすると思います。
188:じいちゃん(´-`)
06/01/20 09:53:37 n9O9zUCo
おー、じいちゃんのコードは原型が残らないぐらいにしちゃっていいですよ。
がむばって下さい。
ところで「ブランチする」って、なにをどうするって意味ですか?
189:隣の小父@年金生活
06/01/20 10:41:36 wtRfMKhJ
ブランチというのは、枝分かれのことです。
じいちゃんのコードは引き続き開発していくとして、
それとは別バージョンとして、おじさん版を開発していくってことですたい。
190:じいちゃん(´-`)
06/01/20 11:06:24 n9O9zUCo
小父さんのを正式版にするってのはどうですか?
191:隣の小父@年金生活
06/01/20 11:37:26 wtRfMKhJ
なんと!!
一度ブランチして、再度融合でもしましょうか?
多少時間かかると思うけんども
192:隣の小父@年金生活
06/01/20 11:39:49 wtRfMKhJ
今やってるのは、
1. ウィンドウ単位でのクラス化を推し進め
2. DDBクラスを自前のものと差し替え
です。
次は
3. おじさんには無く、じいちゃんのコードにある機能をコミット
ですか。そんな感じです。
193:じいちゃん(´-`)
06/01/20 11:53:55 n9O9zUCo
マップエディタは一人で作ってもいいと思うので、
ぜひおまかせしたいのですが、いかがでしょか?
じいちゃんのDDBは開放したときとかの挙動に難があるっぽいので、
差し替えたのは大正解かと。
ウィンドウ単位でのクラス化はやるべきでしたか。
書いてる内に CMapEditorクラスがどんどんどんどん長くなっていくから
どうしようかと思いながらやってました ^^
てゆか、小父さん既にマップエディタ作ってあった感じですね。
エディタのデータはどんな感じにすべきかご意見ありますか?
じいちゃんは
'm' 'a' 'p' '\0' の4バイト、Widthの4バイト、Heightの4バイト、チップ配列
って順にしようと思ってたのですが、他に必要なのってあります?
194:隣の小父@年金生活
06/01/20 12:14:38 wtRfMKhJ
了解です
おじさんは、マップエディタ担当ですね
猫でも分かるを見ながら頑張りまつ
力尽きたら、バトンタッチするかもw
マップデータフォーマットは、それでいいかと
おじさんは、前はデータをセーブする前の段階で
精魂尽き果てまつたw
195:隣の小父@年金生活
06/01/20 12:24:32 wtRfMKhJ
【役割分担】
じいちゃん: メインプログラマー ゲーム本体の開発
従兄弟殿: サブプログラマー じいちゃんと一緒にゲーム本体を開発
隣の小父: サブプログラマー じいちゃんのソースコードを元にマップエディタを開発
ポチ: グラフィックデータやゲームシステムなど、その他雑用とアドバイス
こんな感じですかね。
他にやりたい人がいれば、どんどん挙手挙手!
196:じいちゃん(´-`)
06/01/20 12:25:14 n9O9zUCo
おお、引き受けてくださいますか!
マップエディタは今はあんま急いでませんので、ゆっくりでいいですよ。
切りがいいとこまでできたら見せてね~。
Chip構造体もちょっと変えたいなと思ってたんですが、
いかがでしょか。
Struct Chip {
BYTE byImage; // 絵
WORD woBitFlag; // フラグ
WORD woEvent01; // イベント1
WORD woEvent02; // イベント2
BYTE byEtc; // 念のため ^^
};
WORD woEvent02 を増やしました。
これで合計8バイトになって、
なんか区切りがいいよな気がするんですが、どう思います?
197:隣の小父@年金生活
06/01/20 12:25:33 wtRfMKhJ
忘れてた…
夫殿はバトルシーンの開発でしたね(汗
198:じいちゃん(´-`)
06/01/20 12:26:25 n9O9zUCo
うはwじいちゃんがメインww
なにかの冗談みたいだ。
199:名前は開発中のものです。
06/01/20 12:34:52 onjv3JQs
>>196
ファイルのヘッダにバージョン情報か、Chip構造体のサイズを入れておくと
将来的に拡張しやすくなると思いますよ
200:じいちゃん(´-`)
06/01/20 13:58:43 n9O9zUCo
>>199
それ、いただき!どもです m(__)m
念のため、Chip構造体のサイズも入れましょ。
"map"の4バイト、Widthの4バイト、Heightの4バイト、
Chip構造体のサイズ4バイト、チップ配列
の順にしましょう。
バージョン情報はエディタのヤツですよね。それもいるかな?
201:隣の小父@年金生活
06/01/20 14:00:55 wtRfMKhJ
>>198
オープンソース開発では、
沢山コード書いた人が偉いのです
だから、じいちゃんが一番偉いのですよ
202:名前は開発中のものです。
06/01/20 14:55:32 AJrpxY2i
とりあえず従兄弟は、峠を越えたようです (笑
>>194
リンク先を拝見しました。
まさに適材適所ですね♪
>>201
完全に同意です♪
従兄弟もどこまでもじいちゃんについて行きますとも (^^
・次の改造予定
現行バージョンではField関数とBattle関数で
シーンごとに各フレームを処理し、
呼び出す関数はフラグで入れ替えていますよね。
これを改造しようと思っています。
抽象クラスSceneを継承する形でFieldとBattleをクラス化し、
Field関数とBattle関数を「processFrame」に改名し、
Sceneクラスの抽象メソッド「processFrame」をオーバーライドさせます。
シーン切り替えのためフラグを入れ替えている箇所を、
FieldオブジェクトとBattleオブジェクトを入れ替えるようにすれば、
メインループ内では「processFrame」の呼び出しだけで済むようになります。
こうすることで、今までは
フラグとシーンごとの関数と条件分岐を別々に管理していたのを、
実質的にフラグの管理だけで済むようにできるはずです。
後々メンテナンスしやすくなるのと、Battle以降を開発しやすくなるので、
改造してしまっても構いませんか?
203:名前は開発中のものです。
06/01/20 17:37:32 onjv3JQs
>>200
ファイル形式自体のバージョン情報というつもりでしたが、
将来的にチップ配列以外の情報(例えばマップ名やスクリプトなど)を
追加したとき、ローダが旧形式のファイルと区別できると、
特にチームで開発する際、何かと便利です。
ヘッダがmapで始まるなら、4バイト目にバージョン番号を入れても
良いかもしれません。しかし、もし余力があるのなら、
「チャンク形式」でエンコードすることもお薦めしておきますね。
204:従兄弟
06/01/20 21:08:28 AJrpxY2i
>>202
説明だけでは分かりにくいと思うので、
今晩実際に改造したものを上げますね。
とりあえずFieldとBattleをクラス化したもの
URLリンク(gamdev.org)
/*---------------- 以下は変更点 ----------------*/
Battle.cppのクラス化 (CBattle.h)
Field.cppのクラス化 (CField.h)
・WinMain.cppの変更点
メインループ前にCBattleとCFieldの初期化
メインループ内のField()とBattle()を
field.ProcessFrame()とbattle.ProcessFrame()に変更
・CField.hの変更点
インスタンス変数の頭に「m_」を追加
Field()→ProcessFrame()
Field_Init()→Init()
Draw_Field()→Draw()
Move_Field()→Move()
・クラス名およびファイル名の変更
CF_Input→CFieldInput
CF_System→CFieldSystem
LookAroundFrame→CLookAroundFrame
PlayerArrow→CPlayerArrow
205:従兄弟
06/01/20 21:13:34 AJrpxY2i
>>204
もとにしたのは小父さんの>>179のソースです。
206:じいちゃん(´-`)
06/01/21 00:20:52 AtQgidA7
前々から思ってましたが、
変数名は大文字少ない方が見やすいな~なんて、
>>204を見て、改めて感じてしまった。
>>従兄弟タン
峠越えましたか。おつかれ~。
従兄弟タンがやりたいことは少しずつ把握してきました。
なんてゆうか、どんどんムチャが利きにくい感じになってきてますねw
じいちゃんそういうのあんま考えたことないので、どうなるか興味津々。
ガンガンやっちゃって下さい♪
じいちゃんはとりあえず絵を動かすとこを中心にやってみます (`・ω・´)
>>203
んー、説得力ある感じ。
mapの3バイト、バージョン情報の1バイト、Widthの4バイト、Heightの4バイト、
Chip構造体のサイズ4バイト、チップ配列
の順にしましょか?小父さん意見よろ。
207:じいちゃん(´-`)
06/01/21 00:23:25 AtQgidA7
さっきVC++2005を落として入れてみたのですが、
なぜかプロジェクトが作れない orz
Visual C++ 2005 Express Edition と Microsoft Platform SDK を一緒に使う
URLリンク(www.microsoft.com)
たぶんこれは必要なんですよね?
全部やったはずなんだけどなぁ。
208:名前は開発中のものです。
06/01/21 01:26:43 Rn7mTFxP
原因不明のバグに悩まされ、まだ改造が終わりません (汗
朝までには終わるようにしますので (w
>>206
変数のスコープを限定したりすると、たしかに無茶が聞きにくくなりますね。
(バランス取りが難しいですね)
もしアクセスしたい部分があるのにうまくいかないときは、
言ってくれればそこを書き直しますので、気軽に声をかけてくださいな。
>>207
従兄弟はtheSpoke版の2005を使っているので、
Express Editionのことは分からなかったりします。
紹介しておいてごめんね、じいちゃん。
209:名前は開発中のものです。
06/01/21 05:00:47 Rn7mTFxP
ようやくバグの原因が分かりました(`・ω・´)
ヘッダをincludeする順番の問題だったようです。
(相互に参照するので互い違いでなければならなかった)
URLリンク(gamdev.org)
…というわけで、改造済みのソースを揚げてそろそろ寝ます。
今回の改造点は、以下の通りです。
(シーン管理機能が出来たので、今度はシーンを作り始めようかな)
210:従兄弟の変更点
06/01/21 05:02:47 Rn7mTFxP
・Struct.hにあった__System構造体メンバーの
「int nSceneControl; (シーンを表す変数) 」を
Grobal.hの「CSceneSwitcher g_sceneSwitcher」に置き換えた。
そのため、今まではBattle, Field, WinMainで
「g_Sys.nSceneControl = S_FIELD;」のようにフラグを入れ替え
メインループのswitch文で分岐させていたのを、
「g_sceneSwitcher.SwitchToField();」のように指定し、
メインループでは「g_sceneSwitcher.ProcessFrame();」と
実行するだけで済むようになりました。
例えば「g_sceneSwitcher.SwitchToBattle(player, enemy);」
のように戦うキャラをその都度指定できるようにするなど、
シーンごとに管理するデータも渡せるように出来ます。
シーンを追加する場合には、CSceneクラスを継承した
サブクラスをCSceneSwitcherクラスに登録します。
# 「ProcessFrame()」は必ずオーバーライドして下さい。
# 初期バージョンでのField()やBattle()関数にあたるので。
211:従兄弟
06/01/21 05:05:29 Rn7mTFxP
続けて失礼します。
バグをつぶす過程でExtern.hを無効にして各ファイルで
直接extern定義していますが、後で直しておきますので。
ちなみにソースは、
従兄弟の中ではこんな分類になっています。
(左端のツリー図)
URLリンク(gamdev.org)
212:隣の小父@年金生活
06/01/21 06:50:34 6RtR9U9s
>>206
typedef struct {
union tag {
DWORD v;
BYTE c[4];
}
long width;
long height;
long chip_size;
} MAPDATA_HEADER;
こんな感じかな…
213:隣の小父@年金生活
06/01/21 07:50:38 6RtR9U9s
昨日はウィンドウを表示するところまでで
精魂尽き果てますた
今日はDDBとBitmapの解析を進めまする
URLリンク(www.geocities.jp)
214:隣の小父@年金生活
06/01/21 09:54:46 6RtR9U9s
要点整理の為、メモりまする。
GDI周りのクラス
DC //WinControlを継承している
URLリンク(www.geocities.jp)
DDB //DCを継承している。BMPのロードはここでやってる。
URLリンク(www.geocities.jp)
DIB
今回は割合
DIBSection
DIBとDDBを継承したもの
215:じいちゃん(´-`)
06/01/21 10:41:20 AtQgidA7
外が雪景色で超綺麗だよ@東京
しかしながら、二人とのスキルの差に愕然となり、
じいちゃんの心はドス黒くなってたり。
あー、がんばろ (`・ω・´)
>>従兄弟さん
悲しいかなじいちゃんにはパッと見よくわからんので、
ちょっと勉強しまっす。
クラスってそんな風に使うのね・・。
>>小父さん
マップエディタ進んでるようですね。
基本的なところからじいちゃんと全然違う組み立て方にビビってるよ。
>>212のはそれでいいと思うのですが、
なぜ共用体になってるのか (DWORD vの意味がわからずorz) と、
int ではなく long を使ってるのはなぜですか?
216:隣の小父@年金生活
06/01/21 10:47:08 6RtR9U9s
>>215
intは処理系依存なのでlongを使って32bitを明確にしています。
char[]の他に4バイトを纏めて扱えると都合がいいかなとか
思ったり(余計なお世話?w)
217:じいちゃん(´-`)
06/01/21 10:52:14 AtQgidA7
うはwじいちゃん今までなぜかlongが処理系依存だと思ってた orz
DWORD v は今のとこ使い道は決まってないってことですかね。
両方とも了解しました。ありがとー。
218:隣の小父@年金生活
06/01/21 11:47:50 6RtR9U9s
/// マップデータ・ヘッダー構造体
typedef struct {
union _tag {
DWORD v;
BYTE c[4];
} tag;
unsigned long width;
unsigned long height;
unsigned long chip_size;
} MAPDATA_HEADER;
ちょっとミスってたorz...
219:じいちゃん(´-`)
06/01/21 12:11:20 AtQgidA7
>>218
OK把握です。
一応聞いときたいんですが、
>>196のはどの環境でも8バイトってことでいいんですかね?
220:隣の小父@年金生活
06/01/21 12:16:51 6RtR9U9s
>219
>>196
バイナリデータに構造体を当てはめただけだと、
処理系依存になります。
4バイトアラインがコンパイラ依存の筈です。
ですので、シリアライズ、デシリアライズをする必要が
あると思います。
221:じいちゃん(´-`)
06/01/21 12:30:54 AtQgidA7
ごめ、シリアライズ、デシリアライズがわかんないのですが、
IT用語辞典
URLリンク(e-words.jp)
これによると、
シリアライズ → データをファイルに保存
デシリアライズ → ファイルを(復元して?)読み込む
でいいんでしょか。
~バイトアラインでググったら、なんか悲喜こもごも色々出てきた。
みんな環境で苦しんでるらしいですねw
読み込む前にChip構造体のサイズ計って、想定と違う場合は
どうにか変換するんでしょか。じいちゃんにはわからず・・ (:D)| ̄|_
構造体のメンバの順番とか、変数の型とかは好きに変えちゃってもいいですよん。
たぶんあんま大きなマップにはならないと思うし。
222:隣の小父@年金生活
06/01/21 12:41:08 6RtR9U9s
バイナリの構造体をそのまま使うと、
CPUに都合がいいように最適化されているので、
ぴったり8バイトにはならないことがあります。
ですので、人力プログラミングで調整してあげる
必要があります。
223:隣の小父@年金生活
06/01/21 12:49:29 6RtR9U9s
う~ん実は、数年前まではC++のオブジェクト指向
全然駄目だったんですよ~
人間、やれば覚えられるもんだなとw
224:じいちゃん(´-`)
06/01/21 12:49:52 AtQgidA7
>>従兄弟さん
じいちゃんアフォなので、とりあえずコンソールでテストしてみました。
つながりはこんな感じでしょうか。
URLリンク(gamdev.org)
これだとほとんどの変数(オブジェクト?)を CSceneSwitcher が持つことになりそうですね。
シーン同士の変数の受け渡しとかは、 Switch~() を挟んで引数で渡せそうな感じ。
こんな組み方もあるのねぇ。
あと、ポインタ同士の代入がちゃんとキャストされてるのになぜかエラーが出たので、
C++のキャストに変えたいんですが、この記述でだいじょぶでしょか?
>>222
んー、難しそう・・。
変換中は読み込みがちょっと遅くなるかもですね。
でも狭いマップなのでだいじょぶかな。
人力プログラミングでググったら謎のアーティストが出てきたw
225:じいちゃん(´-`)
06/01/21 12:51:45 AtQgidA7
>>223
じいちゃん実は去年からC++始めたので、
まだ STLすら一個もわかんね ┐(´ー`)┌
おぶじぇくと指向とかでざいんぱたーんとか、なにそれ?
226:名前は開発中のものです。
06/01/21 20:22:35 Rn7mTFxP
>>215
雪、綺麗でしたね (^^
私も同じく東京からです。
私はじいちゃんとは逆に絵を出して表示するのが苦手なので、
「スキルの差」は高低ではなく種類の差だと思いますよ。
>>216-217
たしかintもlongも、他の型も言語レベルでは処理系依存だったかと。
(「long>=int」だったかも)
Windows用コンパイラではどれもlongが32bitなのかな?
>>220-221
シリアライズは「直列化」と訳されるとおり、
プログラム中のデータをバイトの配列 (これが直列) に変換することです。
ファイルに書き込むにはシリアライズする必要があるので、
書き込むところまでセットで指す場合が多いですね。
マップデータの受け渡しのための直列化でしたら、
処理系依存を気にするよりは、
テキストファイルなどで保存してしまうのはいかがでしょうか。
こうしておけば保存はprintf()で済みますし、
今後もコンパイラの仕様変更を気にせず済みますし。
227:従兄弟
06/01/21 20:23:53 Rn7mTFxP
>>224
おお、改造乙です♪
少ししたら読んでみますね。
エラーが出たのは、どのコンパイラでですか?
>>225
私もC++を始めたのは2ヶ月前なので、STLは一つも分かりません (w
ただJavaを使っていたので、何とか書けていますが。。
ちなみにシーンをCFieldやCBattleといったクラスに関連付けたのは、
ステートパターンというデザインパターンの一種です。
228:隣の小父@年金生活
06/01/21 20:27:36 6RtR9U9s
>226
longも処理系依存でしたか…間違えてました(汗
(Win以外では動かさないという前提で)windows.hの型を使うか
それよりも型を独自に定義するべきなんでしょうね
(処理系によって分けたりできるように)
229:名前は開発中のものです。
06/01/22 00:03:55 llzeskew
>>224 (じいちゃん)
> つながりはこんな感じでしょうか。
そんな感じです。
こういうシンプルなサンプルを用意すると分かりやすいですね。
今度から構造を変えたときにはそうしようと思います。
> これだとほとんどの変数(オブジェクト?)を
> CSceneSwitcher が持つことになりそうですね。
シーン関連はそうなりますね。
どのシーンに入るか、そのシーンにどういう引数を渡すか、
といった内容はCSceneSwitcherの外で決めることになるので、
すっぱり分けてしまった方が役割分担が分かりやすいのではないかと。
> シーン同士の変数の受け渡しとかは、 Switch~() を挟んで引数で渡せそうな感じ。
狙いはその通りです。
引数渡しにしてグローバル変数を使わなければ
中で使われている変数が一目で分かりますので。
> あと、ポインタ同士の代入がちゃんとキャストされてるのになぜかエラーが出たので、
> C++のキャストに変えたいんですが、この記述でだいじょぶでしょか?
私の環境でも直していただいた方でエラーが出ないので、
変えてしまってくださいな。
わざわざ調べていただいて、ありがとうございます。
230:隣の小父@年金生活
06/01/22 11:17:12 f/z7gVPN
「猫でもわかる」を見ながら、色々実験してます。
本格的なWinアプリを作るのは初めてだったりw
231:じいちゃん(´-`)
06/01/22 12:04:36 Es7VQG0+
私もオーバーライドの実験してます。
本格的にオーバーライド使うのは初めてだったりw
switch()文で分けるよか、綺麗で汎用的っぽいんですよねぇ。
>>229
サンプルはじいちゃんが勝手にやったものですから、
従兄弟タンは気にせずガンガン改造しちゃってかまわないですよ。
警告が出たのはVC++6.0ですじゃ。
ただなぜか出たり出なかったりするので、よくわからず。
キャストを変えてからは出てないっぽいですが。
232:隣の小父@年金生活
06/01/23 08:22:06 6HirwaeV
下位機能をライブラリとして、まとめ中~
時間かかるなぁ…orz
233:隣の小父@年金生活
06/01/23 11:19:38 6HirwaeV
WINアプリ製作に慣れる為に
メモ帳を作っとりますw
234:じいちゃん(´-`)
06/01/23 19:07:14 7UunYnPp
とりあえずmじいちゃんが昨日やってたの
URLリンク(49uper.com:8080)
メニュー出してます。
分岐ありまくりで、かなり複雑になりそうな予感。
なんていうか、こういう動きの少ないゲームはメニューが占める割合が大きいですね。
ぶっちゃけ 主役=メニュー のような気がしてきたYO
小父がんばってますね。
メモ帳って、自分で作れるのね。
ああいうのはウィンドウズ様が用意してくれるものだとばかり思ってました。
前に聞くの忘れてたんですが、
タスクシステムってどうですか?気にはなってるんですが、
ゲームで使えるかどうかがよくわからないので、まだ試してないんですよ。
超複雑そうなので、このゲームで使う気はサラサラないですけどー。
235:隣の小父@年金生活
06/01/23 19:44:39 6HirwaeV
>234
じーちゃん乙!
ゲームらしい画面になりましたね
>>メモ帳
Win32のエディットコントロールをウィンドウに貼り付けるだけですw
でも、ウィンドウにテキストを打ち込めると、ちょっと感動ww
>>タスクシステム
タスクシステムは、>>210で従兄弟殿が作ってくれた
シーン管理と、ほぼ同じ実装です。
ですので、無理にリアルタイムゲーム用のタスクシステムにせずとも
シーン管理クラスでやればいいかと・・・
おじさんは、やねうらお大先生のタスクシステムを参考にしてます。
236:隣の小父@年金生活
06/01/24 09:11:35 1JMNwEAM
バグが出て治らないので
低層から再構築することに…orz
237:じいちゃん(´-`)
06/01/24 19:10:52 TWAdW9Zh
ちょっと停滞中~。
じいちゃんも昨日バグりまくりで、キレてゲームに逃げちゃった。
お姉チャンバラ以外に面白いよw
>>235
>ウィンドウにテキストを打ち込めると、ちょっと感動ww
あるあるw
ダイアログとか出せるとなんか凄いうれしいよね。
>タスクシステム
関数ポインタみたいになるんですかね。
優先順位の高いほうから実行するとかいう噂は聞いたことが。
ヘタに使うとメチャメチャになりそうな予感。
238:ポチ
06/01/24 19:55:00 71gDZNUj
>>小父様へ
今ごろになって書き込むのもなんだけど
マップエディタの保存形式について提案というか要望があるワン。
x00,チップ番号,拡張用,イベント番号、という配置で
BMPで保存する形式にできないかしら?
チップやイベントの数が256上限になるけど十分じゃないかと思ったりw
読み込み時は
マップの広さはそのままBMPのwidthとheightで左上から
ピクセルごとに処理していく感じ。チップ番号はじいちゃんが
振付けてくれてるものをそのまま流用。
イベントはいい案(形式を決めてスクリプト化したい)が降りてこないので
マップのイベント番号で分岐内部処理。
マップチップ以外のデータを持たす場合(マップ名等)別ファイル内でマップBMPを指定する
形になるとおもう。
239:じいちゃん(´-`)
06/01/24 20:28:15 TWAdW9Zh
ポチきたー。
その方式だと、32bitのビットマップっぽくなるのかな?
x00てのは8bitフラグでしょうか。
各数字は256まででもなんとかなるっぽいです。
ヘッダはwidthとheightの二つがあればよし。
この方式にする、利点はなんでしょか?
240:じいちゃん(´-`)
06/01/24 20:43:26 TWAdW9Zh
ぜんぜん進んでないんですが、うpします。
ちょっとメニュー出してみました。
URLリンク(gamdev.org)
絵は>>234です。
また長大なswitch()文で色々処理してます ('A`)
いまだに移動しかできないのですが、バグありましたら報告よろ。
Extern.hとGlobal.hはコンパイルするときのつながりがよくわからないので、
おもいきって無くしてみました。
グローバルの変数が使いたい場合は、そのファイルの上に直接 extern することになるはず。
メニュークラス追加しました。
変数名とかマクロの名前とか変えたのあるかも。
メニューしんどいよメニュー・・。
241:ポチ
06/01/24 22:01:31 71gDZNUj
>>239
32bitじゃなくてOKです。D3Dの中でアルファ付で処理してたための記述でふ。
単純にRGBでデータを持たせてしまえっていう姿勢です。
この方式にする利点は
ずばり、人間がみて一目でマップデータがわかる!(まて
あまり深く考えてないですが
データをベタ書きのBMPにすることでlongとかintとか悩まないで済む事かなw
自分が作るときは大抵この方式かTEXTでCSVで吐き出すもので。
TEXTやBMPだと大抵どのOSに持って行っても使えるって事もありますね。
拡張用のbitデータに高さを持たせて
擬似3Dにしようかな~とか妄想なんてしてないですよ~?w(`・ω・´)
242:隣の小父@年金生活
06/01/25 04:39:08 92dlR1lj
>>238>>239>>241
そうすると、
DDBじゃなくて、DIBでマップデータを持たないとダメですね
DIBSectionでもええんですけども
マップエディタは、まだまだ全然出来てないので
今のうちなら仕様変更可能でっする
【メリット】
データを文字通り目で確認することが出来る
エンディアンを、それほど気にしなくて済む
【デメリット】
上限が255に制限される
簡単にエンドユーザーに書き換えられてしまう
243:隣の小父@年金生活
06/01/25 04:42:31 92dlR1lj
>擬似3D
マップチップさえ作ってくれれば
それでもええよ
244:隣の小父@年金生活
06/01/25 05:54:27 92dlR1lj
>イベントスクリプト
おじさんは、XMLかLuaかFORTHを使っております。
245:ポチ
06/01/25 06:13:49 Nvt5zD2p
>>243
擬似3Dはまあ戯言なんですが、拡張用bitの部分にオブジェクト用のチップ番号が
入るといいなぁとは思ってるワン。
いま、マップチップに建物(オブジェクト)の画像をそのまま描きこんで
マップチップとして扱ってるけど、できればオブジェクトは別にチップを描いて
マップとオブジェクトを合成で表示できると何かと都合がいいんジャマイカ。
と小屋の隅で考えとります。
246:隣の小父@年金生活
06/01/25 08:59:52 92dlR1lj
とりあえず骨組みが出来た。
じいちゃんのコードから大幅に変えてしまっています(殆ど別物w)
次は、マップデータフォーマットの決定ですかね。
URLリンク(www.geocities.jp)
247:じいちゃん(´-`)
06/01/26 08:49:17 BkL++XsK
うはwじちゃんのプログラムを元にしたとはとても思えない。
てゆか、元にしてないでしょw
これで絵は出るっぽいですね。がんばってくださいな。
マップチップはできれば32bitにして欲しいです。
でも、Bitmapとして出す場合、ちゃんとチップごとに色分けされるのかな・・
マップを3Dに?? (∩ ゚д゚)あーあーあー、聞こえなーい
248:隣の小父@年金生活
06/01/26 10:55:34 IAIRyLwx
クリック&ドラッグでマップチップを置けるようになった
まだ、マップチップは選べないorz
ウィンドウの情報をマクロ定義では無く、XMLデータで持つように改良
外部から弄れるようになった
なかなか、エディターの機能が充実しないorz
>マップ3D
マップは見下ろし型2Dっすね
249:隣の小父@年金生活
06/01/27 15:07:14 tSKpmVLT
亀の速度で進行中…
チップ選択ウィンドウを表示したのぢゃ
まだ選択は出来ないのぢゃorz
>てゆか、元にしてないでしょw
ぢつは、8割方、元にしてないですね~(ゴミンね)
2割程、コードを使っていたりしていると思ふ
250:じいちゃん(´-`)
06/01/27 21:28:31 TZ/uomk7
んー、できないことにぶつかると停滞してしまう~。
1歩進んで2歩下がってる感じじゃ!
>>245
オブジェクトとチップを分けるのは、プログラム的にはだいじょぶです。たぶん (^_^;
オブジェクトはFieldObjectクラスでも作って、チップとは別に管理するはず。
建物だけじゃなく、木とか岩なんかも置きたいですね。
サイズは自由でいけると思います。
絵はマップチップの絵とは別にするとおもわれ。
>>249
じいちゃんのコードのことは考えず、自由にやってくださいませ。
251:じいちゃん(´-`)
06/01/29 11:45:47 AJ5CQq8M
じいちゃん完全に詰まり気味ですが、いちおうやってます。
ここでがむばらにゃ。
252:隣の小父@年金生活
06/01/29 12:00:24 g5itzzp3
おじさんも、かたつむりの速度で進行中…ですぢゃ
とりあえず、マップチップを選択出来るようになったのぢゃ
253:じいちゃん(´-`)
06/01/31 18:22:24 qAlP722B
今日も♪~進展~な~し~♪
254:じいちゃん(´-`)
06/02/02 19:24:43 XgvKezvD
大丈夫。今は出口が見えなくても、週末にはきっと動くものができている。
大丈夫。だいじょうぶ。
・・・とか自分に言い聞かせながらじゃないと、打てない精神状態にw
255:隣の小父@年金生活
06/02/03 07:00:02 DFf0Z/Km
こっちも進展なすorz
256:隣の小父@年金生活
06/02/05 17:28:46 wT9CDVso
う~ん、今は開発に没頭できる状態じゃないっすorz
257:じいちゃん(´-`)
06/02/05 18:12:21 c7olZgCS
今日から開き直ることにする。
汎用的な設計とか無理無理。元々そんなことはできないのじゃ。
とにかく動かすことを目標にする。
>>256
小父どうした小父。
今んとこマップエディタは急いでないから、ゆっくりでいいよん。
258:じいちゃん(´-`)
06/02/08 20:18:27 P4sEb9US
アイテムメニューやってます
URLリンク(gamdev.org)
まだ超えなきゃいけない壁は高いのですが、だんだん動くめどが立ってきたかも。
こういうのはノウハウ持って無いので時間かかりまくりんぐ。
ご想像の通りソースがアレでナニなのですが、
汎用性とか見易さは動かしたあとで考えようかと。
>>ポチ
ポチいる~?
企画書の段階だとカードは大きく分けて4つ
[ 戦闘、装備、道具、特殊(イベント) ]
細かく分けると
[ 攻撃(物理と魔法)、防御(物理と魔法) ]
[ 武器、防具 ]
[ 道具 ]
[ 特殊 ]
の六つになりそうなんだけど、これでいいかな?
で、カードにはレベルがあるものがあると。(1~4ぐらいまで?)
カードの属性なんかもあるのかな?
たとえば物理系だと [ 斬、突、打 ] 魔法だと [ 火、水、雷 ] とか。
あと、キャラのステータスはどうしよっか。
HP以外に [ 力、精神、速さ ] ぐらいはあるん?
ゆっくりでいいので、回答よろ m(__)m
259:ポチ
06/02/09 02:11:29 v4Xl0cfP
>>258
カードについては
そんなかんじですワン。
キャラに関してはまったく考えてなかった。
ボードゲームのように単純に駒の役割だと思ってます。
ところで
コッソリと戦闘というかカード対戦の部分を作っていたんだけど
作れば作るほど、たいして面白くない事が判明(ぁ
やはしSRPG的なシステムでこそ意味のあるカード風バトルなのかも…。
いまさらなんですけど
今作ってるマップやシステム部分を変更せずに
カードゲームの部分を一から設計し直してもいいですかね?(´・ω・`)
だめ?w
260:じいちゃん@携帯
06/02/09 02:32:32 8u5h7Zy4
ポチきてるよポチ。
設計に関してはまだまだバリバリ変更きくよん。
てゆか、まだ一つも固まってない(^^ゞ
じいちゃんこの一ヶ月はいい経験になったから、これまでの全部破棄してゼロベースから考えてもらってかまいませんよん。
ただ集団で作るのが目的ってゆか、テーマだから、あんまアクション性の高いのはやめてねー。
それ以外は自由に考えてくださいな。
261:隣の小父@年金生活
06/02/09 14:29:52 NFADi3Z4
マップデータの為に、DIBを勉強中
おじさんの頭は固いので、なかなか覚わらないのぢゃorz
262:隣の小父@年金生活
06/02/09 15:43:58 NFADi3Z4
マップサイズっていくつじゃったかのぉ?
マップチップは64x64として縦横何個じゃろか?
263:じいちゃん(´-`)
06/02/09 18:59:46 3rsUATK/
>小父さん
あ、サイズについては言ってなかったっけw
家族計画は第二章に入りそうなので
これから仕様変更があるかもしれませんが、
マップサイズは小さすぎるとバグっちゃうのと、ビットマップを元にすることも考慮すると
・チップサイズは64*64
・1チップ32bit(BYTE型4つ分の構造体)
・マップサイズは16*16以上(上限は特になし)
・マップサイズは必ず4の倍数
で行こうかと思ってました。
不明なとことか、変えて欲しいとことかあったら言ってくださいな。
264:じいちゃん(´-`)
06/02/09 20:54:29 3rsUATK/
さらりと聞き流してたけど、
ポチ>>259で戦闘作ってたとかなんとか・・ポチ恐るべし。
ゲームのストーリはこんなヤツをきぼんw
家族の温もりを知らずに孤独に育ってきた主人公は、ある日行き倒れの少女を発見し、面倒を見ることになってしまった。それをきっかけに、元社長令嬢、同級生、バツイチ美女など次々に身寄りのない人々が現れ、彼らと擬似家族として共同生活を始めることになる
URLリンク(www.amazon.co.jp)
タイトルは、ずばり「家族計画2 ~家族の絆~」で♪
265:隣の小父@年金生活
06/02/11 15:24:39 85Bs0WhZ
DIBをセーブする実験をしたナリ
>>263
サイズについては了解したナリ
今は256*256でテストしてるナリ
ちとデカすぎるのぉ…
266:じいちゃん(´-`)
06/02/12 21:56:00 Q15W5x/t
ゲムデブが異常に重かった
メニュ作成中ですが、とりあえず叩き台をうpします
URLリンク(gamdev.org)
絵は>>258とだいたい同じです。
「カード」 → 「使う」
の動作をやってみました。
「使う」に入る前に、右の方にでる
「★カード増やす★」を選ぶとランダムでカードが増えます
カードはまだ使えませんが。。
もうあまりにもプログラムが整理されてませんが、
これが実力なので仕方ない ('A`)
コメントアウトがやたら多いのも仕様です・・
こういうメニュ関係って、みんなどうやってんだろね~。
>>265
セーブまでできたら、もうちょいって感じですかね。
いいないいな。
267:じいちゃん(´-`)
06/02/15 17:05:56 5mIyp74Z
フォントサイズは今32なんだけど、24にするかも~。
あと、アイテム管理は双方向リストっぽい振る舞いが必要になるので、
これからSTLをお勉強して楽をしようかと ^^
先は長いのう。
268:じいちゃん(´-`)
06/02/18 09:53:02 uxTfRoaa
STL勉強中~
STLっぽい構文見るとめまいがするのですが、
なんとかなりそうな予感もしなくもない。
フォントサイズは24にします。
269:じいちゃん(´-`)
06/02/20 19:10:28 jsb+bV9/
んー、あんまやってないんだけど、
手元の本とかネットの情報とか、見れば見るほどSTLの世界は深くて広いよ。
C++ってクラスがメインなのかと思ってたけど、
クラスを生かすSTLがあってこそのC++なのかと。
演算子のオーバーロードとか思うままに使いまくると
鬼のように可読性が低下するんだろうなぁ。
もうlistとvectroがちょこっと使えれば、あとはいいかな。
この二つだけでも相当汎用的で便利っぽいし。
じいちゃんこの先はロールプレイングゲームっぽい方向を目指して、
プログラムの実験してていいんだよね。。
誰か入って来やすいように、プログラムを一旦整理するべきかのう。
270:ポチ
06/02/22 12:03:41 PUnuUnXa
ロールプレイングですか~
カードゲームを意識してシステム考えてたワン。
じっちゃんと同じく時間があまり取れなくて
まともな形に出来ないのが切ない;;
とりあえず生存報告。
271:じいちゃん(´-`)
06/02/22 18:48:23 9ND1MFEL
おkです
戦闘部分の一部変更ってことですね。
RPGってのはたとえ話として出しただけなので、あんま気にしないでくださいな。
今までの延長戦上で作って行きます。
戦闘関連はポチを待つ。
カードのパラメータがある程度決まったら教えてくださいな。
戦闘以外のとこは、じいちゃんががんばってみるよん。
今vector様と格闘中。使いこなすと超便利なんじゃろね。
272:従兄弟
06/02/27 20:43:42 x7km28RP
携帯用ブラウザからでも書き込めることに、いまさら気付きました (^^;
とりあえず、生存報告です。
最近、実生活でC++が必要になりました。
以前キャストをじいちゃんに直していただいたように、
まだ基礎ができていないので、
これを機に勉強します。
273:じいちゃん(´-`)
06/03/01 21:37:41 IEMguq9O
昨日マップの移動関係をいじったら
バグりまくりでアヒャ!(゚∀゚)
>>従兄弟タン
おひさです。C++勉強するですか。
じいちゃん最近ふらっとSTLに手をだして、
アルゴリズムと関数オブジェクトのとこで鬱入って投げましたよ!
あれは呪文です呪文。
そんなじいちゃんを尻目にがんばってくださいな。
274:金魚
06/03/14 22:56:24 cFKibjNc
こんにちは、みなさん覚えていますか金魚です。
無事に行きたい高校に合格しますた。
そこには情報処理科もPC関係の部活もありませんから、
プログラミングのレベルは低いです。
そして久しぶりに自分の書いたコードを見ていましたが、
ちんぷんかんぷんでしたのでC言語を覚えなおしていますw
ポインタどころか構造体も分かりませんでしたwwwwww
ぱっとしかスレは見ていませんがカードゲームのRPGを作っているんですか
やべえついていけねえええええええええええええええええええええええええ
275:夫
06/03/14 23:07:58 IGbAFXPH
お久ぶりです
>>274
高校合格おめでとう!あなたの事は覚えてますよ。
私もレベルが超低いのでお互い頑張りましょう!
276:じいちゃん(´-`)
06/03/31 15:48:40 QURNhD9k
突然ですが、じいちゃんは活動を休止します。
家族のみんな、ごめんね。
/ ̄\
|.0 o |
ヽ. 。/
..  ̄
ごめんね。。
277:息子
06/04/02 02:50:31 m6f/4KrI
じゃあ、俺が活動を再開するとしよう
278:名前は開発中のものです。
06/10/11 17:00:28 hb9r95/F
test
279:ごましお ◆jxGoma.rtI
06/12/03 18:57:47 YKcyZQMO
誰もいないみたいなので、こっそりと再利用させてもらうかなw
280:名前は開発中のものです。
06/12/06 00:42:52 qxo4qNAE
wktk
281:名前は開発中のものです。
06/12/06 01:14:20 zGm4C4cp
【恋愛】速報!PS2で「涼宮ハルヒの憂鬱」がついにゲーム化【アドベンチャー】
スレリンク(gamerpg板)
282:名前は開発中のものです。
06/12/09 13:13:53 o6GLs2uy
PCもメモリやVRAMを256MBくらい必要とするものが多くなってきました
しかしニンテンドーDSとかアイデア勝負のゲームも必要だとおもう
こんなにPCが普及してる時代に最もポピュラーなスペックで動作するゲーム
を作ることが重要だとおもう
283:名前は開発中のものです。
06/12/09 13:39:44 qqdximXE
DSのゲームは、アイデアというか、
パズル雑誌に載っているようなものを電子化しただけな感もあるんだけどなぁ。
284:526
06/12/09 13:57:26 vlHlTTt4
>>238
まあな。
でもDSを使ってそれをちょっと面白くするのが狙い。
テトリスも昔のとは別のゲームみたいな錯覚を覚える。
285:名前は開発中のものです。
06/12/11 19:02:40 H4aHP3BV
yy