トップページgamedev
289コメント142KB

これからは家族でゲーム製作

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2005/12/27(火) 22:12:40ID:youvsAOx
家族ぐるみでゲーム作りしてるやついる?
0101じいちゃん(´-`)2006/01/12(木) 10:49:32ID:BRWr95/A
「小父」が読めなくてgoo辞書に泣きついたのは内緒じゃ。
ちなみに直訳は↓に。

おじ をぢ 0 【小▽父】
他人である年輩の男性をいう語。「さま」「さん」を付けて用いる。

うはw他人じゃんww

>>99
じいちゃんはDirectXは三角形を表示したとこで投げたぞ。
字まで出せたなんて、小父すごいよ小父。
たかが三角形出すのにあんなに苦労するなんて。
Xファイルなんて夢のまた夢じゃわ。

じいちゃん数学知識も0じゃし、
もう一生ポリゴンなんて出せなくてもいいや ┐(´ー`)┌

>>100
どうやらよその小父さんらしいw
0102ポチ2006/01/12(木) 13:17:22ID:Ttmc0clF
>>101
うははw
家族を超えて、ご近所みんなでゲーム製作かww
まあ、私なんて人間ですらないわけだしな(`・ω・´)

参加したい奴は誰でもかかって来い!っとご主人様「夫」がいっておりますワン。
0103小父2006/01/12(木) 16:40:28ID:AARFMmpo
隣の小父さんですw
ドワーフみたいな小さい父さんではないです(誰もそんなこと言ってない)

>文字
DirectX9では、バックバッファをロックして
デバイスコンテキストハンドルを取得すると、
DDBのように文字が描けるんですよ

でも、
ロックしている間、レンダリングパイプラインが
止まるらしいので遅いらしい…

やっとこさDirectX9で画像を表示することはできたのじゃが、
キャラの周りに四角く色が残ってしまっている…
ゲームの本質では無いとは言え、これを
『仕様です』で通すには、ちと恥ずかしい
どうやったら、くり貫いて表示できるんぢゃろうか?
0104ダメ夫2006/01/12(木) 18:18:47ID:gqmmL1M4
小父さん・・・よろしくねw

俺なんてウィンドウの出し方すらまだ理解できてないよ
クソ〜負けないぞ〜
0105じいちゃん(´-`)2006/01/12(木) 18:36:16ID:FyPAwiNo
>>103
あー、にゃるほど。
LockするとTextOut()が使えたりするわけですか。
これはいい情報ですじゃ。

小父さんはもうテクスチャとか貼れる人なのね。
いいな〜。

>>104
じいちゃんと一緒に3Dの無い世界に逝こうよ (・∀・)
0106金魚2006/01/12(木) 19:07:26ID:vESlanCj
参加させてください。
CとDXライブラリを勉強中位のレベルですけど、、
0107ポチ2006/01/12(木) 19:14:13ID:Ttmc0clF
>>103
テクスチャを張ってて透過したいなら
D3DXCreateTextureFromFileEx関数でファイルを読み込んで
colorkey引数に透過したい色を指定してテクスチャを作る。

そのあたりを試してみるといいワン(`・ω・´)
0108ポチ2006/01/12(木) 19:15:59ID:Ttmc0clF
>>106
人外の家族が増えたw
0109金魚2006/01/12(木) 19:22:11ID:vESlanCj
リアルで受験生なので
見ているだけになるかもしれませんがよろしゅう

っていうかこのスレでなごみすぎて受験生なの忘れてた...orz
0110じいちゃん(´-`)2006/01/12(木) 20:30:57ID:FyPAwiNo
参加は結構じゃが、家計が苦しくなったら
ペットは人間様の腹の足しになるのでよろしく!

戦時中はよく犬鍋とか食ったもんじゃ・・・ ∀`)
0111ダメ夫2006/01/12(木) 23:02:15ID:gqmmL1M4
金魚のくせに受験するなんて・・・がんばれ、みんな応援してるぞ!

じいちゃん!そっちに逝っちゃだめよ、一緒に3Dゲームの世界に逝こう
0112隣の小父2006/01/13(金) 12:21:28ID:E+FRrPQg
>>107
StretchRectを使って画像を表示させていたので
今度は、そのレスを参考にテクスチャ周りをやってみます(`・ω・´)シャキーン

>>夫
わしも3Dの勉強をしたいのぢゃ
スキンメッシュをいじれるようになりたいのぢゃ
そしてあんなことやこんなことをしてみたいのぢゃ
0113じいちゃん(´-`)2006/01/13(金) 15:45:16ID:6J6JzCI5
土日でなんとかマップエディタのプロトタイプを形にしたいな。
で、すみやかに敵の動きのプログラムとかになだれ込みたいところじゃ。
でも思考ルーチンとかどうしよ。なにも思い浮かばん・・。

週末は従兄弟タン来るかな。

>>111
いいもん、いいもん。
携帯電話でポリゴンがグリグリ動く時代になっても、
じいちゃん一人だけ二次元の世界でがんばるもん。
二次元はいいぞ〜。おにゃの子もいっぱいいるしw

てことで、じいちゃんちょっくら二次元半角板に行ってくるよ ノシ
0114隣の小父2006/01/13(金) 16:10:04ID:E+FRrPQg
>>ポチたん
ID3DXSpriteでカラーキーを抜くことに成功しますた
↓参考サイト
http://www.plustarnet.com/aspil/Programming/

実験的プログラムだからゲーム性は全く無いけどね
0115ポチ2006/01/14(土) 00:02:14ID:Mz2HhYGR
>>114
おおぅ
なんか分かりやすそうなサイトだワン。
ソース提供ありがとん!
0116隣の小父2006/01/14(土) 13:55:12ID:LJK2jp1a
テクスチャの読み込みを別スレッドにしたぞな。
先読みアルゴリズムをこさえておくと、
マップ切り替えでNow Loading を出さなくて済みそうぢゃて。

テスト環境が無いので、マルチコア・
マルチCPUでの動作は保障されていないけどな。

>>じいちゃん
マップエディタってめんどくさいんだよねぇ〜
それが完成したら、使わせてもらおうかのぉw
0117じいちゃん(´-`)2006/01/14(土) 14:56:33ID:ysqJMufu
昼過ぎに起きて、外をみたら雨。今日は土曜。寒くて外には出れん。
こりゃプログラムをやるしかないじゃないか。

と、右手を見るとなぜかビールが。グイっと一息に煽ってみる。

(;゚Д゚ < ビール! ウマー!!

プログラムとか、もうどうでもよくなったとさ。

>>116
完成・・・したら・・・ね・・・。
0118じいちゃん(´-`)2006/01/14(土) 21:23:59ID:ysqJMufu
ポチが描いてくれたマップチップの絵を
縮小描画しようとしたら絵が鬼のように崩れたんですけど、
普通こんなものなのかな。
http://aploda.com/dl.php?mode=pass&file_id=0000065960

左がデフォで、右が0.5倍です。
描画はDDBで、StretchBlt() を使ってます。
絵は小さくした方が画面を広く使えていいんだけどなぁ。
0119ポチ2006/01/14(土) 21:35:13ID:SpnCp24U
SetStretchBltModeを使ってストレッチモードをHALFTONEに設定してみて。
遅くなるけどきれいになるはずワン。
ハーフトンモードはブラシのずれを防止するために
SetBrushOrgExを使わないといけない(らしい
0120じいちゃん(´-`)2006/01/14(土) 22:06:02ID:ysqJMufu
原理はわかりませんが、それでできました!
ポチかわいいよポチ♪
0121隣の小父2006/01/15(日) 09:55:56ID:Cg7rTm2B
テクスチャマネージャーが稼動
g_TextureManager.Draw( "test.bmp", 320,240, 0,0,64,64 );
とすると自動的にテクスチャを読み込んで表示してくれる
キャッシュがヒットすればメモリ上にあるテクスチャを使う

キャッシュアルゴリズムに無駄があるのをなんとかしたいけど
バグりまくるので後回しw

エウレカ見逃したorz
0122隣の小父2006/01/15(日) 10:43:10ID:Cg7rTm2B
試作コードは最後まで使われるの法則発動な悪寒
0123じいちゃん(´-`)2006/01/15(日) 11:20:00ID:vhg4JwlY
エウレカ見たよ〜。
家族のことがテーマに上がってて、ちょっとドキっとした。

>試作コードは最後まで使われるの法則発動な悪寒
あるあるw
0124隣の小父2006/01/15(日) 12:04:30ID:Cg7rTm2B
>>75のマップチップ表示させてみた
やっぱり、マップエディターが欲しいのぉ
0125隣の小父2006/01/15(日) 12:10:13ID:Cg7rTm2B
あ、マップチップのサイズは2のn乗でお願いしまする
DirectX9の仕様なので…
今回は512x256にトリミングしますた
0126隣の小父2006/01/15(日) 12:44:31ID:Cg7rTm2B
【進捗報告】
今迄に作ったクラス群リスト

CMessageLoop
CWindow
CThread
CApp
CD3DDev
CBinaryBase
CBinaryCache
CBinaryLoader
CTextureMember
CTextureManager
0127隣の小父2006/01/15(日) 15:37:36ID:Cg7rTm2B
一覧にしてみると、音系と入力系が全く手をつけてないなorz
0128隣の小父2006/01/15(日) 17:02:16ID:Cg7rTm2B
っスクリプトエンジン
http://www.lua.org/

これ使おうと思う
0129隣の小父2006/01/15(日) 17:05:38ID:Cg7rTm2B
音はこれ使おうかなと

Ayame~
http://www.twin-tail.jp/contents/dust/ayame/index.htm
0130じいちゃん(´-`)2006/01/15(日) 17:50:09ID:vhg4JwlY
未完成なことこの上ないのですが、できたとこまでうp
ttp://gamdev.org/up/img/4390.png
ttp://gamdev.org/up/img/4391.png
ttp://gamdev.org/up/img/4392.zip

マップエディタです。とにかく動かしました。
まだ絵しか貼れません。
しかもまだ新規作成はできない ('A`)
凄く時間かかったよ。

小父さんは凄いですな。
>>128-129とか、じぇんじぇん自力で使える気がしないわ。

そえば、週末なのに従兄弟タンが来ない・・・。
0131名前は開発中のものです。2006/01/15(日) 18:18:07ID:rJ3lxUrA
こんばんは、従兄弟です。
金魚タン、隣の小父さん、はじめまして。

従兄弟はリアルな生活が20日まで修羅場を迎えているので、
それが終わったあたりから手伝えるかもしれません。

>>金魚タン
受験生のうちからプログラミングに親しめるなんて、
羨ましいねぇ (^^

>>小父さん
どんどん進んでいますな。
上のほうで少し書きましたが、3D系、音系、入力系には
Lampというライブラリがあります。
ソースコードも読みやすいので、使えるかもしれません。
(ライセンスはLGPL)

ttp://lamp.sourceforge.jp/

>>86
> 断然じいちゃんよかスキル高そうだし、色々アドバイスもらいたかったのじゃが・・。
プログラムの世界は、実際に作った人が上だよ、じいちゃん♪
それと書き忘れていたけれど、従兄弟は普段UNIX系OSを使っています。
(WindowsのAPIについてよく分かっていないので、低スキルかも)

>>113
> でも思考ルーチンとかどうしよ。なにも思い浮かばん・・。
まずは人間同士が対戦できるところまでを作り、
実際に遊びながら動かし方にパターンがあるか考えればいいかと。
パターンがあれば有限状態機械とかでできるんじゃないかな?
0132ダメ夫2006/01/15(日) 18:28:08ID:fTemTEsW
じいちゃん凄すぎ!!もうついていけないよ〜って最初からか・・・
はやく俺もじいちゃんみたいになりてーな
0133隣の小父2006/01/15(日) 18:32:11ID:Cg7rTm2B
じいちゃん乙であります!
初めてじっくりソース読ませてもらったよ

DXライブラリはちょっといじったことはあったり
ライブラリを自力構築せずにDXライブラリで統一した方が
いいかもね〜
工数短縮や分業の可能性も出てくるし…

ところでマップエディタのソースは無いの?(ボソ
0134じいちゃん(´-`)2006/01/15(日) 18:52:52ID:Rip2FEhd
従兄弟タンきてるー!

>>131
二十日まで大変なんですか。でもでも、どうにか生き延びてください。
だってあなたにはスクリプト関係を丸投げしようと思ってるからw

UNIX系OS? うはw見たことすらないー。
あと、有限状態機械でググったら難しそうなサイト様がいっぱい出てきて
じいちゃんポックリ逝きそうになったりましたよ!

>>132
いやいや、おまいは戦闘をつくるんじゃ!
とりあえずじいちゃんのプログラムはとても読めたものじゃないのですが、
WinMain()とButtle.cppとグローバル変数のとこだけ見れば
なんとかなると思います。
がんばろう。

>>133
人のソース読める人って尊敬 (´д`)
てゆか、小父さんは自作ライブラリを家族計画に投入しようとしてですか!?
じいちゃんよか遥か遠くに居る人のようね。凄いなぁ。

マップエディタは未完成な上に、ソースがかなりアレなのと、
じいちゃん一人で作るっぽいので公開しなかったのですが・・。
完成したら出しますわ。
0135じいちゃん(´-`)2006/01/15(日) 18:59:12ID:Rip2FEhd
ポチ企画
スゴロク風カードゲームは、二月いっぱいで完成してない場合は
辞めようと思ってるのじゃ。

某ステフスレでも「締め切りの無いゲームは完成しない」
みたいな事言ってる人いたし、このゲームの締め切りは二月いっぱいってことにしようかと。
当初は二月上旬でカタを付けたいと思ってましたが、
じいちゃんのスキルでは無理じゃ!

なんとか形にしたいねぇ。
0136隣の小父2006/01/15(日) 19:23:34ID:Cg7rTm2B
>>Lamp
うはwLamp凄杉!
デモゲームの途中でフリーズして死ぬかと思ったけど…

>>自作ライブラリを家族計画に投入
下手の横好きで、自作ライブラリを作っていたんだけど、
LampやDXライブラリが凄過ぎるので、それらと比べると見劣りするし、
無期限に工期が延びる可能性大ですわ…
でも、ある程度まとまったら、うpしますわ

>>二月上旬で片
ちと厳しいスケジュールぢゃの
締め切りの延期も視野に入れておくといいかも

>>UNIX
CygwinとLinuxをちょっといじったことしかないのぉ
おじさんは、もっぱらWindowsぢゃて
0137ポチ2006/01/15(日) 21:02:53ID:/QnK3Zej
わんわん。
>>135
某スレの締め切りの無いゲームは完成しない発言は
管理されないと自分で動けない人間が良く思いつく発想だわん。
ちゃんとやる人間は締め切りとかなくてもそれなりのものを上げてくる。
じいちゃんが良い例(`・ω・´)
商業製作とかじゃないから自分で納得できたらそこが完成だと思う。
ある程度納得できるものがあって締め切りまで完成度を高めるなら良いけど
締め切りに間に合う事を第一に妥協したものをつくってしまったら
完成とは到底呼べないと、締め切りと妥協にまみれたポチは言ってますw

家族でゲーム製作の楽しみはみんなでわいわいやってたら
こんなのできちゃったよwみたいな感じだとポチは思っているワン。
ソースも公開だし、家族の誰かがリタイアするならそれはそれで
笑顔で送り出して、新しい家族があとを引き継いでいけばいいんジャマイカ?

どこまで続くかわからんスレではあるけども(ぁ

そんなことを小屋の隅で昼寝しながら犬は考えたりしましたとさw
0138ポチ2006/01/15(日) 21:07:14ID:/QnK3Zej
>>138
ああ、ちょいかん違い入ってたかもw
じいちゃんが辞めるんじゃなくて
スゴロク風カードゲームの開発を止めて
なにか別の企画なり方向性を探そうって意味だったのねw
0139ポチ2006/01/15(日) 21:23:09ID:/QnK3Zej
>>130
マップエディタ確認。
じいちゃん、あいかわらずいい仕事するワン。

製作おつかれ(`・ω・´)
0140隣の小父2006/01/16(月) 07:57:01ID:9NrEhKM5
doxygenの使い方がよく分からないorz
しばらく、ぐぐってみよう…
0141隣の小父2006/01/16(月) 09:01:44ID:9NrEhKM5
とりあえず、わしの役割分担はライブラリね
0142隣の小父2006/01/16(月) 10:40:47ID:9NrEhKM5
じーちゃんのソースを(そのまま)Doxygenにかけてみた
解凍したら、index.htmlを見てね

ttp://gamdev.org/up/img/4397.zip
0143じいちゃん(´-`)2006/01/16(月) 17:33:09ID:SlLLNWIM
最近VC++6.0タンの調子が悪いのじゃ。ちょっと前までは素直だったのに。
・・・ツンデレ病? (*´Д`)ハァハァ

>>ポチ
締め切りってのは、ぶっちゃけ自分自身への縛りだったのですが、
先走りしすぎたようですね。とりあえず6割ぐらい完成した段階で、
各自の状況に合わせて現実的な数字をだしましょか。

混乱させるようなことを書いてしまって、ごめ。 m(__)m

>>142
なんじゃこりゃああぁぁwww ふがふが。
ドキュメント生成ツール?凄い。どこの天才が作ったんだ。
外人は凄いね。やっぱ肉食ってるヤツらは違うぜぃ。

こうして見るとヘッダにソース直書きはやぱ見にくいなぁ。

これはコメントとか付けるときのオススメフォーマットとかあるんですかね?
こう書くと、Doxygen様にはこう反映される、みたいな。
日本語説明サイト様とかチラっと見たけど、じいちゃんには何言ってるかさっぱりw
小父さんGJ!

ところで「Doxygen」は「どくしぃげん」て呼んでいいのかにゃ? (:D)| ̄|_
0144隣の小父2006/01/16(月) 17:41:26ID:9NrEhKM5
>143
じーちゃん、Doxygenのコメントの書き方はこの辺りを読んでくんろ
ttp://members.at.infoseek.co.jp/sakura_editor/comment-rule.html
ttp://freepg.fc2web.com/tool/topic_doxygen_002.html
ttp://yudoufu.velvet.jp/doxygen.html
プログラムの合作する時には便利だべさ>Doxygen
0145じいちゃん(´-`)2006/01/16(月) 17:44:29ID:SlLLNWIM
おお、読んでみまっす。どもありがとー。
0146隣の小父2006/01/16(月) 18:12:11ID:9NrEhKM5
とりあえず、開発途中のライブラリをDoxygenに掛けたもの
http://www.geocities.jp/bigbrotherxlittlesister/doxygen_0_0_3/html/
一応、真面目に作ってるところを見せておかんとまずいと思うてな
でも正直なところ、このライブラリは使い物になりませんわ
DXライブラリで作った方が幸せになれると思ふ
0147名前は開発中のものです。2006/01/16(月) 21:07:28ID:9iJ9pscq
http://gamdev.gozaru.jp/w/00793_00000.html#content_1_4
0148名前は開発中のものです。2006/01/16(月) 21:09:33ID:9iJ9pscq
ライブラリならDXよりはSDLがよさげ。

http://gamdev.gozaru.jp/w/00793_00000.html
http://www.tacoworks.jp/software/SDLdoc-jp/html/
0149じいちゃん(´-`)2006/01/16(月) 22:23:21ID:vreH4Axr
ひさびさに公式ページ?見たら、ちょっと更新されてるー。
書いた人、(・∀・)エライ!!

>>146
なんか凄そうですけど、DirectXわかんなにゃいから
なにがなんだか orz
でも乙。
コメントはそんな風に出るんですね。

>>147-148
紹介どもですじゃ。
速度が必要なゲームではなさげなのでDXライブラリに不満は全く無いのですが、
今ならライブラリの差し替えも比較的簡単に可能ですね。
私はLunaってのも気になってるよん。
0150隣の小父2006/01/17(火) 06:30:22ID:UFBWgrmq
>ライブラリ
2Dに限定するけんども
1. DXライブラリ
2. SDL
3. Luna
この三択ぢゃね
個人的にはDXライブラリを押すけんども…

しかし、3Dをやってみたい欲求がウズウズ
ゲームの形まで仕上げるのには期間かかりそうぢゃがの
0151隣の小父2006/01/17(火) 08:01:18ID:UFBWgrmq
SDL悪くは無いんだけんども、
日本語の敷居がDXに比べると若干高いのぢゃ
文字を殆ど使わないゲームならSDLという選択肢も
生きてくるのぢゃがな…
0152隣の小父2006/01/17(火) 08:33:00ID:UFBWgrmq
2Dテクスチャを表示するサンプルコードなんだけど、
使いやすそう?それとも使いにくい?

void Render() {
 D3DDev.BeginScene();
 D3DDev.BeginSprite();
 g_TextureManager.Draw( "chip.bmp", x,y, 0,0,64,64 );
 D3DDev.EndSprite();
 D3DDev.EndScene();
}
0153隣の小父2006/01/17(火) 11:05:42ID:UFBWgrmq
読み込むテクスチャの大きさを明示的に指定しなくても
済むような機構を作った。
実態は読み込むBMPファイルの大きさチェックやね。
PNGとかに対応は、まだ無理w

ファイル名と座標と表示チップの位置を指定すれば、
後はライブラリがやってくれるのだが…
ミニゲームには大仰な機構かもしれないw
0154じいちゃん(´-`)2006/01/17(火) 12:42:26ID:2WspaH5v
小父さんゴリゴリ打ってるっぽいですね。
じいちゃんはちょっとWin32APIに飲まれて、燃え尽き症候群気味。

>>152のはよくわかりませんが、
自動で絵を読み込んでくれる機能が付いてるっぽくて使いやすそうな感じ。

SDLは日本語弱いのか(´・ω・`)
0155隣の小父2006/01/17(火) 13:35:07ID: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を模倣してみますた
0156隣の小父2006/01/17(火) 16:45:02ID:UFBWgrmq
Easy3Dっていうライブラリを見つけた
3Dがぐりぐり動かせそうな予感…
http://www5d.biglobe.ne.jp/~ochikko/
0157隣の小父2006/01/17(火) 18:53:03ID:UFBWgrmq
最新版のDirectX SDK には8.1のヘッダが一部入ってないのねorz
Includeフォルダ覗くと10っていう名前も見当たるし
そのうち8.1はサポートから外されるんだろうなぁ
0158従兄弟@今日は自宅2006/01/18(水) 00:04:43ID:F2sEu3Vx
じいちゃん、新しい開発環境が無償で配布されているよ。
開発環境を家族で統一しておけば、
容量が少なければプロジェクトファイルごと共有できて楽だよ。

Visual Studio 2005 Express Edition (もちろんVC++もあり)
ttp://www.microsoft.com/japan/msdn/vstudio/express/default.aspx

それからスクリプトの件、了解です。

処理の一部をスクリプトに追い出す場合、
まずはスクリプト化する処理を一つの関数 (メソッド) に
押し込めるのが始まりです。

お決まりのAPIだけを使ってその関数だけを書き換えれば、
変えたい部分を変えられるようにしておいて、
後はそのAPIを扱う最低限の機能だけを解釈できるようにする、
という手順を踏めば、かける手間も最小限で済みますよ。
0159従兄弟@今日は自宅2006/01/18(水) 00:18:42ID:F2sEu3Vx
>>154
一応、SDLの日本語表示について参考になりそうなページを。

ttp://tokyo.cool.ne.jp/sdl/index9.html

従兄弟はクロスプラットフォームのSDLを使いたいのが本音だけど、
ここまでDXライブラリで開発してきたなら、その延長でいいのでは。
じいちゃんのソースコードを読んだ限りでは
他のライブラリにも、その気になれば移植できそうだし。
(描画は「Draw」関数にまとめてあるし、Input関数は少ないし)

>>157
M$のライブラリはライフサイクルが短いですな。
0160ポチ2006/01/18(水) 00:28:53ID:ibCc4p9C
クロスプラットフォームいいねぇ。
Unix系で自分の関係するゲームが動くとかうれしいよね。
意外なユーザーも増えそうだしw

従兄弟たんがコッソリ再構築してくれてもいいワンw
0161名前は開発中のものです。2006/01/18(水) 05:09:07ID:F2sEu3Vx
どうも寝付けないのと、本業の進みが予定より少し早いのとで、
じいちゃんのソースを弄ってみたよ (w

http://gamdev.org/up/img/4405.zip

変更点は、WinMain()で

・InitDXLibrary()の返り値をbool型に
・LoadBitmap()に失敗したらその場で終了するように変更

したのと、

・CF_Systemクラスが「何でも屋」になりそうだったので、
 PlayerArrowクラスとLookAroundFrameクラスを分離
 (それぞれ矢印とフィールドを見回すときの枠のみ)

といったところ。
書き換えている最中に、変数名をいくつか変えたけど、
大丈夫かな?
(どれも、略していたのをやめただけ)
0162従兄弟@今日は自宅2006/01/18(水) 05:16:02ID:F2sEu3Vx
分類としては、こんなところでしょうか。
迷惑でなければ、分けたほうがよさそうなクラスを分けたり、
変数のスコープを限定したりと、
保守性を上げてやりたいと思います。

・フィールド関連 (移動時)
 CF_System (アクティブフラグの管理に限定)
 Field

・フィールドに描かれるオブジェクト (Drawメソッド付き)
 CMapControl (マップ全体)
 CPlayer (キャラクター)
 LookAroundFrame (見回す時に出る枠)
 PlayerArrow (キャラクター前の矢印)

・データ共有用?
 Extern
 Global
 Macro

・戦闘関連
 Battle

・まだよく読んでない
 CF_Input
 Struct
 WinMain
0163従兄弟@今日は自宅2006/01/18(水) 05:20:03ID: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型のハンドル、とか)
してからでないと、混乱するかな。
(私自身がハンガリアンが分からないので、なんとも言えませんが)
0164隣の小父2006/01/18(水) 05:30:42ID:NXBCeScd
>>158
Visual Studio 2005 Express Edition
isoしか無いみたいね
おじさんは、以前knoppix焼こうとして
PC付属の焼きソフトで起動CDが作れない
問題にぶちあたったw
フリーな焼きソフトとかあるんかな?
0165従兄弟@今日は自宅2006/01/18(水) 05:33:29ID:F2sEu3Vx
>>160
いつの間にかSDLベースになっていて困惑するかも (w
実はVisualStudio 2005を使ってみたら直すのが楽で、
逆にSDLを使ってWindowsでUNIX (私のはFreeBSD) 用の
ゲームを作ればいいのでは、と思いました。
0166隣の小父2006/01/18(水) 05:37:48ID:NXBCeScd
>>163
1. IDEなしで手打ちしてるんで、長い変数名は苦手

2. m_hogehoge
はMSの作法なんで、それに従ってるけど
やっぱり、一見でスコープが分からなくなるのが
問題ですねぇ

3.4. に関してはUNIXの作法ですかね?
0167従兄弟@今日は自宅2006/01/18(水) 05:38:25ID:F2sEu3Vx
>>164
DaemonToolを使うと、各種ディスクイメージ (もちろんISOも) を
そのままマウントできて、便利ですよ♪

ttp://www.geocities.co.jp/SiliconValley-Sunnyvale/3115/DaemonToolins.html

一度焼いてから使いたい場合には、こちらがISOイメージに対応しているようです。

ttp://www.deepburner.com/
ttp://sekirei.air-nifty.com/blogtopia/2004/08/deep.html
0168隣の小父2006/01/18(水) 08:01:07ID: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
0169隣の小父@年金生活2006/01/18(水) 09:49:42ID:NXBCeScd
>>167
www.daemon-tools.net
に繋がらない(´・ω・`)
0170隣の小父@年金生活2006/01/18(水) 12:13:13ID:NXBCeScd
>>158
Visual Studio 2005 Express Edition インストール完了(`・ω・´)
本格的なIDEって、こんなに使いやすかったんだw
今までコマンドラインでシコシコやってたよ(´・ω・`)
0171じいちゃん(´-`)2006/01/18(水) 16:26:21ID:k9LMNYtu
キタ━(゚∀゚)━!!!

>>161
朝早くから乙です。
変更してもらったとこ見ました!

CF_Systemはとりあえずなんでも入れちゃおうと思ってたんですが、
そうやって小さいクラスに分けちゃってもいいんですね。

長い変数名は、わりと好きなのでOKです。
略は極力やめるようにしまっす。

>>162
そんな感じの分類でOKです。
Extern
Global
Macro
Struct
は共有用のつもりです。さらに、

Prototype.h // 広域で使いそうな関数のプロトタイプ書く
Func_01.cpp // 広域で使いそうな関数の実装書く

この二つを入れようかと思ってるのですが、いかがでしょか。
実はもっといい方法あります?

あと、CPlayerはこれから書き直すと思うので、
今はそっとしといてください ^^
0172じいちゃん(´-`)2006/01/18(水) 16:27:38ID: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
0173じいちゃん(´-`)2006/01/18(水) 16:29:29ID:k9LMNYtu
>>168
激しく乙w
まだ160ですけど、思ったより色々ありますね。
そろそろおにゃの子キャラが欲しいよ欲しいよ。
あと、エロゲはあきらめてないぞ。
カードの絵が超エロエロになる予定なんじゃ!

Visual Studio 2005 は週末あたりに挑戦してみます。
VC++6.0タンと一緒に起動して、最適化競争とかさせてみたいw
0174隣の小父@年金生活2006/01/18(水) 17:17:18ID:NXBCeScd
>ハンガリアンをやめたい
考えてみればDoxygenでドキュメント管理するので
m_やらg_やら小細工しなくても分かるのかもしれない

M$の作法が染み付く前はコーディングにUNIX風作法を取っていたので
サッパリと決別するのもいいのかもしれない
0175じいちゃん(´-`)2006/01/18(水) 17:48:41ID:k9LMNYtu
m_ は見たときに一発でメンバ変数とわかるのと、
メンバ関数内で同じ変数名を使いたくなった場合
class A {
 m_number;
 int SetNumber (int number)
 {
  m_number = number;
 }
}
こんな場合に役に立つと思ったのですが、どでしょか?
私、こういうことがわりと頻繁にあるんですけど #-_-

g_ はできるだけ色んな所で使わない方向でいけば、
付けなくても、なんとかなるかなぁ。とかオモタ。

ハンガリアンぽい記述は、なんとなくカッコイイwのと、
スーパープログラマのやねうらお様の本に「絶対使え」的な事が書かれてたので、
中途半端に使うことにしました。
やめることに関しては、未練は無いですが〜
0176隣の小父@年金生活2006/01/18(水) 19:26:01ID:NXBCeScd
そうそう、よくあるね
そういった使い方は良くするよ
引数をメンバ変数に入れる時なんかね

void SetSize( int Width, int Height ) {
 m_nWidth = Width;
 m_nHeight = Height;
}

突き詰めると、UNIX作法とM$作法の確執かねぇ(^^;
0177ポチ2006/01/18(水) 21:05:54ID:ibCc4p9C
処理系による方言のようなものだと思っていたワン。
それぞれの処理系にくっついてくるサンプルソースとか
その中で使われている作法をそのまま引き継いでるんじゃないかな?
たぶんwindowsでもGCCで作業してた人は違和感が無いのかも

と、MSCとBCCの違いに戸惑った私が言ってみるw
0178じいちゃん(´-`)2006/01/18(水) 21:14:17ID:k9LMNYtu
あんま変わってないのですが。。
Prototype.h と Func_01.cpp を追加して、
ウィンドウの板を出す関数を入れてみました。

ttp://gamdev.org/up/img/4412.png
ttp://gamdev.org/up/img/4413.zip

WinMain()の中の、FameRateControl()関数の中をちょっとだけ変えました。
Struct.h に hGrapWindowBoard_01 を追加しました。
CMapControl の実装とヘッダを別ファイルにしてみました。
変更はこれだけっだったかな。

変数名はまだそのままなのですが、週末までにどうするか決めといて、
それから一気に変更しまっす。
あとコメントはまだ勉強不足でどう書けばいいのかわからないのですが、
これも週末になんとかしたいなと。

土日は大変そうだわぁ (;^_^)
0179隣の小父@年金生活2006/01/19(木) 08:17:05ID:BYtOZVbI
Doxygenにコメントが反映されるようにしてみた
やっつけだから、完璧じゃないけど
コメントのつけ方の参考にしてみてちょーだい
ttp://gamdev.org/up/img/4417.zip
0180隣の小父@年金生活2006/01/19(木) 09:13:36ID:BYtOZVbI
>>178
じーちゃん乙!

話は外れるけんども、このページ↓を作ったのは、わしなんじゃが
http://gamdev.org/w/?%5B%5B%A5%DE%A5%C3%A5%D7%A5%A8%A5%C7%A5%A3%A5%BF%5D%5D
じーちゃん、マップエディターのソースPLZ!
弄ってみたいのぢゃ
0181隣の小父@年金生活2006/01/19(木) 12:43:34ID:BYtOZVbI
>命名規則
変数名の変更についてですが、
大幅に変えるとバグの元になるだけなので
MS作法で行くのが吉だと個人的には思とります
0182名前は開発中のものです。2006/01/19(木) 15:40:01ID:KZhSpg+k
>>178
じーちゃん、乙です。
いつもながら、いい仕事しますね (^^

>>168
従兄弟はゲームを作りに参加するのが初めてなので、
少なくとも熟練者ではないですよ (^^;
むしろ家族のみんなのソースを読みながら、
勉強させていただいています。

>>163
変数名について聞いたのは
主に自分の書き方を家族に合わせたかったからなので、
私もなるべくハンガリアン記法を使うようにしますね。
(間違えてたらコッソリ直しておいてくださいな)

それと、今ある変数名を例に使ってしまったので、
これではじーちゃんが書いた部分を書き換えたい、
と言っているように見えてしまいますな。
少なくとも既に書いた部分については、>>181に賛成です。
(紛らわしくてごめんね。>>家族のみんな)
0183名前は開発中のものです。2006/01/19(木) 15:43:32ID:KZhSpg+k
>>166
あらためて考えてみると、従兄弟の書き方はJavaそのものなのかも。
フラグには「bool finished;」のような変数を使い、
「bool isFinished() {return finished;}」のように
メソッド名の「is (boolの場合) 」や「get (それ以外) 」のような
規則で役割を決める、という感じかな。

考えてみると、ハンガリアン記法を使わなくても混乱しないのは
他の部分で制約を設けているからかもしれない。
(グローバル変数を使わない、ポインタは特定のデータ型のみ、とか)

C++で共同作業をしたことはほとんど無いので、
勉強になりますた。
0184名前は開発中のものです。2006/01/19(木) 15:51:25ID:KZhSpg+k
ついでなので書いておくと、変数名を後から変えたくなったり
クラスをスーパークラスとサブクラスに分離したくなったりと、
機能を変えずに構造を変えたくなった場合には、
「リファクタリングツール」というのを使うと便利ですよ。

ttp://www.slickedit.com/content/view/125/83/
ttp://www.refpp.com/download.htm

従兄弟は下のを使っていますが、例えば変数名を変えたい場合には
変えたい変数名を選択して「右クリック→新しい名前の入力」で
全ての変数が安全に変更されるので、便利ですよ。
(同じ名前で別のスコープの場合やコメント内、他の変数の一部の場合には変更されない)

以上、チラシの裏ですた。
0185じいちゃん(´-`)2006/01/19(木) 19:34:57ID:SaMts7cO
>>179
ご丁寧にどもありがとです m(__)m
/// と //! の違いがいまだによくわからないのですが、
とりあえず説明に /// を使っとけば、ある程度反映されるんですかね。
もうちょっとよく見てみまっす。ども。

>>180
日曜日からほとんど変わってないのですが、マップエディタです
ttp://49uper.com:8080/html/img-s/106462.zip
上で書いたように、マジで未完成ですよ〜。
質問あればどぞー ^^

>>従兄弟タン
お、そろそろ修羅場は脱出ですかな?
変数名はとりあえずハンガリアンもどきで行くんですかね?
私の書き方はかなり自己流入ってますので、それはそれで混乱をまねくかも。
どっかにわかりやすい基準てないのかなぁ。
あったら即乗り換えるんですが。

基本的に私は適当に書いてるので、ガンガン指摘してもらってけっこうですよ〜。
マジでマジで。

リファクタリングツールなんてあるんですね。
まあ>>184のは英語ソフトらしいで、じいちゃん使える自信は全く無いのですが orz
0186隣の小父@年金生活2006/01/19(木) 21:10:43ID:BYtOZVbI
>>185
じーちゃん乙であります!
明日からマップエディタのコード追いかけてみるかのぉ。

コメントは
/// は関数や変数の一行上に、

//!< は同一行の右側に書きまする。

/*!
*/

/**
*/
もあるでよ

>>184
従兄弟殿は本格的で実践的な知識を大量にお持ちで凄いですじゃ。


おじさんは、タスクシステムの実験をしとりました。
0187隣の小父@年金生活2006/01/20(金) 07:46:17ID:wtRfMKhJ
じーちゃんのマップエディタを弄っております。
骨組みから変えてしまうかもしれないので
03からブランチすると思います。
0188じいちゃん(´-`)2006/01/20(金) 09:53:37ID:n9O9zUCo
おー、じいちゃんのコードは原型が残らないぐらいにしちゃっていいですよ。
がむばって下さい。

ところで「ブランチする」って、なにをどうするって意味ですか?
0189隣の小父@年金生活2006/01/20(金) 10:41:36ID:wtRfMKhJ
ブランチというのは、枝分かれのことです。
じいちゃんのコードは引き続き開発していくとして、
それとは別バージョンとして、おじさん版を開発していくってことですたい。
0190じいちゃん(´-`)2006/01/20(金) 11:06:24ID:n9O9zUCo
小父さんのを正式版にするってのはどうですか?
0191隣の小父@年金生活2006/01/20(金) 11:37:26ID:wtRfMKhJ
なんと!!
一度ブランチして、再度融合でもしましょうか?
多少時間かかると思うけんども
0192隣の小父@年金生活2006/01/20(金) 11:39:49ID:wtRfMKhJ
今やってるのは、
1. ウィンドウ単位でのクラス化を推し進め
2. DDBクラスを自前のものと差し替え
です。
次は
3. おじさんには無く、じいちゃんのコードにある機能をコミット
ですか。そんな感じです。
0193じいちゃん(´-`)2006/01/20(金) 11:53:55ID:n9O9zUCo
マップエディタは一人で作ってもいいと思うので、
ぜひおまかせしたいのですが、いかがでしょか?

じいちゃんのDDBは開放したときとかの挙動に難があるっぽいので、
差し替えたのは大正解かと。

ウィンドウ単位でのクラス化はやるべきでしたか。
書いてる内に CMapEditorクラスがどんどんどんどん長くなっていくから
どうしようかと思いながらやってました ^^

てゆか、小父さん既にマップエディタ作ってあった感じですね。
エディタのデータはどんな感じにすべきかご意見ありますか?
じいちゃんは

'm' 'a' 'p' '\0' の4バイト、Widthの4バイト、Heightの4バイト、チップ配列
って順にしようと思ってたのですが、他に必要なのってあります?
0194隣の小父@年金生活2006/01/20(金) 12:14:38ID:wtRfMKhJ
了解です
おじさんは、マップエディタ担当ですね
猫でも分かるを見ながら頑張りまつ
力尽きたら、バトンタッチするかもw

マップデータフォーマットは、それでいいかと
おじさんは、前はデータをセーブする前の段階で
精魂尽き果てまつたw
0195隣の小父@年金生活2006/01/20(金) 12:24:32ID:wtRfMKhJ
【役割分担】
じいちゃん: メインプログラマー ゲーム本体の開発
従兄弟殿: サブプログラマー じいちゃんと一緒にゲーム本体を開発
隣の小父: サブプログラマー じいちゃんのソースコードを元にマップエディタを開発
ポチ: グラフィックデータやゲームシステムなど、その他雑用とアドバイス

こんな感じですかね。

他にやりたい人がいれば、どんどん挙手挙手!
0196じいちゃん(´-`)2006/01/20(金) 12:25:14ID:n9O9zUCo
おお、引き受けてくださいますか!
マップエディタは今はあんま急いでませんので、ゆっくりでいいですよ。
切りがいいとこまでできたら見せてね〜。

Chip構造体もちょっと変えたいなと思ってたんですが、
いかがでしょか。

Struct Chip {
 BYTE byImage; // 絵
 WORD woBitFlag; // フラグ
 WORD woEvent01; // イベント1
 WORD woEvent02; // イベント2
 BYTE byEtc; // 念のため ^^
};

WORD woEvent02 を増やしました。
これで合計8バイトになって、
なんか区切りがいいよな気がするんですが、どう思います?
0197隣の小父@年金生活2006/01/20(金) 12:25:33ID:wtRfMKhJ
忘れてた…
夫殿はバトルシーンの開発でしたね(汗
0198じいちゃん(´-`)2006/01/20(金) 12:26:25ID:n9O9zUCo
うはwじいちゃんがメインww
なにかの冗談みたいだ。
0199名前は開発中のものです。2006/01/20(金) 12:34:52ID:onjv3JQs
>>196
ファイルのヘッダにバージョン情報か、Chip構造体のサイズを入れておくと
将来的に拡張しやすくなると思いますよ
0200じいちゃん(´-`)2006/01/20(金) 13:58:43ID:n9O9zUCo
>>199
それ、いただき!どもです m(__)m

念のため、Chip構造体のサイズも入れましょ。

"map"の4バイト、Widthの4バイト、Heightの4バイト、
Chip構造体のサイズ4バイト、チップ配列

の順にしましょう。
バージョン情報はエディタのヤツですよね。それもいるかな?
0201隣の小父@年金生活2006/01/20(金) 14:00:55ID:wtRfMKhJ
>>198
オープンソース開発では、
沢山コード書いた人が偉いのです

だから、じいちゃんが一番偉いのですよ
■ このスレッドは過去ログ倉庫に格納されています