[過去ログ]
1人でゲームが作れるように修行します。 (984レス)
1人でゲームが作れるように修行します。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
652: SGGK ◆6pZCoAtaxk [sage] 2009/03/20(金) 00:01:02 ID:/cDOXKwk >>650 仕様書、やる事リスト、自分はまだどちらも手を付けていませんでした・・・orz >>651 >つまり「いちいち切り抜く」のではなく、あらかじめ細かく切りきざんであるのを敷き詰めて並べておいて、 >そのうちの「見たい部分」のみを抜き出すわけですね。 な・・・なるほど!自分は無意識に「マップ敷き詰め方式」をやろうとしてしまっていたワケですね。 明日こそは「カメラの位置を動かす」方式に挑戦してみようと思います。 今日はダメでした。現実の義務に時間を割かなければならない状況になってきてて・・・、言い訳といえば言い訳なんですが、まぁ少しずつやっていこうと思います〜。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/652
653: 436 [sage] 2009/03/20(金) 01:04:11 ID:U+nXWAc2 一文字ごとに表示する+設定で表示スピードを変える物を組み立て中です http://peace.5ch.net/test/read.cgi/gamedev/1006284805/653
654: SGGK ◆6pZCoAtaxk [sage] 2009/03/20(金) 23:17:15 ID:8+2HwF0+ フィールドだけがボールと反対方向に動くようになったけど変な感じ。 フィールド画像の左上原点をボールの移動距離と反対方向に動かしてフィールド画像を毎ループ(フレーム?)毎に描画する時に フィールドの端が表示画面の端に来たらそれ以上動かないように条件if文を使ったが、フィールドの端まで来ないのにフィールドが動かなくなる。 もしかしてフィールドのデータが読み込まれた時に一部分カットされてるのではと思い、DXライブラリで使えそうな関数を探し、フィールドのデータを読み込んだ直後に int SizeX , SizeY; GetGraphSize( gh , &SizeX , &SizeY ) ; printfDx("%d",SizeX); printfDx("%d",SizeY); の命令を入れて、読み込んだ画像のサイズを見たら問題なさそう。 条件文をはずして動かしてみたら、フィールドの端が出てきた・・・orz どうやら条件文の考え方が間違ってる様なので考え中〜。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/654
655: 436 [sage] 2009/03/21(土) 01:18:21 ID:Nd/MqJBa 一文字ごと表示+スピード設定が出来るようになった 文字のサイズ変更で大きくした際に、メッセージ枠をはみ出した分を自動で復改する様にした 今はエスケープシーケンスの復改の代わりになる物を組み立て中 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/655
656: 名前は開発中のものです。 [sage] 2009/03/21(土) 01:33:27 ID:B0u9yEZ5 >>654 「フィールドをボールと反対方向に動かす」という考え方は応用が利きにくいと思うので止めた方がいいかも。 あくまで「カメラ位置」を考えてください。 そしてその「カメラ」もキャラのひとつ(画面全体分――つまり640*480の大きさのキャラ)と考えてください。 ボールが常に「画面の中心」にくるというのなら、 カメラの位置はボールの位置から(-320,-240)の場所です。 ただし、そのずらした結果が、マイナスになったら強制的に0にしてしまえばはみ出す事はありません。 X座標がマイナスになったらX座標のみ0に、 Y座標がマイナスになったらY座標のみ0に。 もちろんこれは上側と左側の考えで、右側と下側は別です。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/656
657: SGGK ◆6pZCoAtaxk [sage] 2009/03/21(土) 23:44:12 ID:7vjJASG9 >>655 文字処理関係は考えなければならない事が沢山ありそうで自分も将来サッカーゲームの制作がうまく進んだら?文字処理トライすることになった時に参考にしてみます〜。 >>656 >あくまで「カメラ位置」を考えてください。 >そしてその「カメラ」もキャラのひとつ(画面全体分――つまり640*480の大きさのキャラ)と考えてください。 まだ考え中で、上記アドバイスと意図が合ってるか自信が無く、カメラのクラスを作ってなんとか目的を実現できないかと思ってるところです。 昨日までやろうとしていた方法は、フィールドサイズ1088X1696の紙を2枚重ねて、 上の紙には中央に640X480の穴を開けて固定して、2枚目の紙には毎フレームごとにフィールド、選手、ボール、ゴールが描画され、 プレイの最中動いているボールが1枚目の紙の中央の穴の真ん中に見えるように下の2枚目の紙をぐりぐり動かす、つまり、 下の2枚目の左上の座標がボールの動きと反対になるように更新し続ける感じのものでした。 本当はカメラの位置(座標)がボールの動きに付いていくように変化していく方がいいけど、 DXライブラリで表示画面よりも大きなグラフィックの任意の部分を指定して表示させる関数が見つからなかったのが理由なんですが、 その後DXライブラリのリファレンスをもう一度探して、 DrawRectGraph グラフィックの指定矩形部分のみを描画 を使えば、フィールドの左上座標を動かさなくても任意の部分を抜き出して表示できそうなので、 選手、ボール、ゴールをカメラのクラスの中で例えばカメラが、ある任意の座標にあったとして、 その時見えているのは、どのオブジェクトかを調べて、調べた時点ではオブジェクトの座標は2枚目の紙の座標(0,0)−(1088、1696)なのに対し、 たとえカメラの位置の座標が変化していてもカメラの画面内にオブジェクトを描画するときはあくまでも(0,0)−(640、480)なので、 この座標に変換してくれるようなしくみをカメラのクラスにもたせられれば、なんとかなるかもと妄想して終了。 実装はどうすればよいものかまだ見当が付かず、危険信号な状態です〜。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/657
658: 436 [sage] 2009/03/22(日) 02:10:13 ID:B7hTCU6u 復改出来る様になった。文字スピード設定のプレビューを付けた 今はBGMの音量設定を考え中 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/658
659: 名前は開発中のものです。 [sage] 2009/03/22(日) 03:03:34 ID:oncUjrKC >>657 よくわからないのだけど、ウィンドウのサイズは640*480ではないの? もしそうならわざわざ切り抜いて表示する必要があるのかどうか。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/659
660: SGGK ◆6pZCoAtaxk [sage] 2009/03/22(日) 22:06:02 ID:KdhPxjYd >>659 フィールドがウィンドウサイズより大きい場合にウィンドウの外にあって見えないフィールドの部分を表示させる方法として、 1.フィールドの原点座標を移動させて、見せたい部分がウィンドウの位置に来るようにする。 2.フィールドの原点は移動させないで、表示させたい範囲(640x480)を指定してウィンドウのある位置に持ってくる(表示させる) を思いついたのですが、たぶん2.の方がアドバイスに近いと思うし、自分も2の方が直感的かもしれないような感じがしたのが理由です。 今日はとりあえず準備として選手の移動関数内にある選手座標の計算部分と描画部分を分離して別々の関数にしようとしたけど、なんだか失敗。 14歳シリーズがかろうじて分かるかどうかなレベルなので1から自分で書こうとすると結構ハマる。早くても1ヶ月位は掛かると予想してます。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/660
661: 436 [sage] 2009/03/23(月) 01:37:29 ID:i8724I4G 構造を整理中 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/661
662: せいれい [sage] 2009/03/23(月) 02:45:14 ID:OY/0+Xwu 主人公の服装がはっきり決まっていなかったので考える(・∀・)絵描き練習も http://peace.5ch.net/test/read.cgi/gamedev/1006284805/662
663: ◆Fp.xSEIREI [sage] 2009/03/23(月) 23:34:04 ID:sn4mHp6u 敵機のオプション呼出&操作関連の不具合修正中(・∀・) 親機が生存していて子機が破壊された時、親機を破壊するか 親機が破壊されて子機だけになった場合、子機を破壊するか 親機が破壊された場合、子機及び孫機を破壊するか 子機が破壊された時、孫機を破壊するか 孫機が破壊された場合、その孫機の親機を破壊するか、また上の親機に影響がうんたら 柔軟な対応ができるようにいろいろ(・∀・) http://peace.5ch.net/test/read.cgi/gamedev/1006284805/663
664: SGGK ◆6pZCoAtaxk [sage] 2009/03/23(月) 23:48:51 ID:g0cKOg9Q す・・・進んでますね〜。こちらもなんとか1ヶ月でスクロール?というかカメラ移動の実装を終わらせたいです〜。 昨日の作業はちょっと中断。画面があまりに遅いので調べたら、毎フレーム呼ばれるmove関数内でフィールド画像をロードすると同時にグラフィックハンドルを設定し、 そのグラフィックハンドルを元にフィールドを描画してた。load関数で1回だけやればいい画像データのロードを毎フレーム毎にやってたから遅くなったと思われる。 それを直したら今度は背景が真っ黒になった。ソースをよ〜く見てみたら、load関数内でグラフィックハンドルをフィールドオブジェクトの中にあるグラフィックハンドル記憶用のメンバ変数にインプットしてたのに対し、 その次の初期化用init関数内でいったんフィールドオブジェクトをクリアして新しい初期値を入れるようにしていたのでグラフィックハンドルが消えてしまってたのが理由だと分かった。 では何故今までは問題無かったかというと、load関数内でグラフィックハンドルはパラパラアニメ用のanimedrawクラスのオブジェクトにあらかじめインプットしてあって、このanimedrawオブジェクトのアドレスを init関数で渡す仕様になってたのでload関数内で設定したグラフィックハンドルが失われなかったというワケ。 フィールド画像は一枚しかなかったのでanimedrawクラスのオブジェクト使うの面倒だからやめたのが原因! また長文やってしまった・・・orz 明日は面倒がってたanimedrawクラスの中身を復習して、これを使うようにする予定〜!w http://peace.5ch.net/test/read.cgi/gamedev/1006284805/664
665: 436 [sage] 2009/03/24(火) 01:33:48 ID:jDJLGX1a 自作関数を使いまわしやすい様に全体的に書き加え http://peace.5ch.net/test/read.cgi/gamedev/1006284805/665
666: ◆Fp.xSEIREI [sage] 2009/03/24(火) 04:43:51 ID:UHqomJ90 レーザーを出しまくって負荷テスト(・∀・)CPU:Celeron420_1.6Ghz、GPU:Geforce8400Gs 180〜240本程度が進行に支障が出ないレベルっぽい(・∀・)てか避けれん 重いのは当たり判定の処理部分。改善の余地アリ http://peace.5ch.net/test/read.cgi/gamedev/1006284805/666
667: ◆Fp.xSEIREI [sage] 2009/03/24(火) 21:31:23 ID:UHqomJ90 http://www.dotup.org/uploda/www.dotup.org8099.jpg ちょっと吸い込まれる弾幕つくってみたら難しすぎワロス http://peace.5ch.net/test/read.cgi/gamedev/1006284805/667
668: SGGK ◆6pZCoAtaxk [sage] 2009/03/24(火) 23:26:17 ID:21U+sbRD >>667 レーザーで囲まれた範囲内で弾を避けるのは確かに難易度高そう〜! こちらはanimedrawクラスの中身を復習。14歳シリーズC++本の内容ほとんどそのままブラックボックス化して使っていたので忘れてたw animedrawクラスのメンバ関数にDrawRectGraphを使えるタイプを追加したいけど、まだ出来ず・・・orz 明日こそは・・・。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/668
669: 436 [sage] 2009/03/25(水) 01:00:26 ID:Jg8PCKop 音量調節のスライダーを組み立て中 非アクティブでも鳴り続ける音をどうすべか・・・ >>667 綺麗だな〜 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/669
670: SGGK ◆6pZCoAtaxk [sage] 2009/03/25(水) 23:41:39 ID:uzaiQ2SM animedrawクラスのメンバ関数にDrawRectGraphを使えるタイプを追加は出来た感じ。 DrawGraphを使ってる関数をコピペして、内部のDrawGraphをDrawRectGraphに置き換え、増えた引数をそのまま書き写すしか方法が思いつかなかった。 まだ宣言と定義をしただけでメインループに組み込んで無いので、画面の背景は真っ黒・・・orz http://peace.5ch.net/test/read.cgi/gamedev/1006284805/670
671: 436 [sage] 2009/03/26(木) 01:33:31 ID:YmOeMxyW 仕様考えてて作業進まず・・・ http://peace.5ch.net/test/read.cgi/gamedev/1006284805/671
672: ◆Fp.xSEIREI [sage] 2009/03/26(木) 03:53:17 ID:czG9RriZ 風邪引いてダウン/(^o^)\ http://peace.5ch.net/test/read.cgi/gamedev/1006284805/672
673: SGGK ◆6pZCoAtaxk [sage] 2009/03/26(木) 23:24:30 ID:QVDae7NZ >>671 仕様どうしようかと気にしつつ自分はまだやってないです・・・orz。 >>672 こちらも鼻の調子がイマイチで花粉なのか風邪なのか微妙な感じw 昨日の関数、なんとか組み込めた感じ。最初はvectorがどうのこうのというエラーが出たけど、 load関数でグラフィックハンドルを取り、それをinit関数でインプットする部分が他のオブジェクトでどの様に書いていたかを見比べて、 違う所を直したら動いた。コピペで直って運が良かったw。 これで表示画面より大きくて見えない部分の範囲を指定して表示画面に持ってこれる様になったので、 範囲を指定する引数を変数にして、その変数をどう決めるかを考えれば、カメラ移動が出来るかもしれない。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/673
674: 436 [sage] 2009/03/26(木) 23:38:07 ID:YmOeMxyW >>673 どうもスッキリしないので、思い切って全部書き直す事にしました! >>672 油断すると夜はまだまだ冷え込みますよね http://peace.5ch.net/test/read.cgi/gamedev/1006284805/674
675: SGGK ◆6pZCoAtaxk [sage] 2009/03/27(金) 23:16:31 ID:4nVo0lze こちらもかなり書き直しになりそうです。今日は停滞・・・orz とりあえずやろうとしてるのは、 現状のプログラムでは、各オブジェクト(選手、ボール、ゴール、フィールド)それぞれにmove関数があって、 move関数内でループ毎に座標計算と描画を行い、その後atarihantei関数で各オブジェクト同士の当たり判定してるのを 新たにカメラのクラスを作り、メンバ関数にはmove関数とview関数を用意し、 カメラオブジェクトのmove関数では座標計算のみ行い、view関数では画面に映る対象となる全てのオブジェクトの座標を引数に取り、 カメラ描画用に座標を変換し描画する様に改造する事を考えてます。 そのために今までのmove関数から描画処理部分を取り除く必要があるので時間掛かりそうな予感。 とりあえず、これが次のやる事メモみたいな感じw http://peace.5ch.net/test/read.cgi/gamedev/1006284805/675
676: 436 [sage] 2009/03/28(土) 02:19:59 ID:yLCMKlEA 調整しつつ復元〜 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/676
677: SGGK ◆6pZCoAtaxk [sage] 2009/03/28(土) 23:46:54 ID:7UqHBkKX 何も進まなかったのでどうしようかと思ったけど、とりあえず書き込み・・・orz 考えが整理できないのでフィールドの枠とカメラの枠をノートに書いて 座標をどの様に計算してやればよいか整理してからやってみる予定。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/677
678: ◆Fp.xSEIREI [sage] 2009/03/29(日) 02:33:01 ID:DbfbvsH9 絵描き練習がてら主人公の服装をうんたら(・∀・) 人体デッサンムズカシ http://peace.5ch.net/test/read.cgi/gamedev/1006284805/678
679: SGGK ◆6pZCoAtaxk [sage] 2009/03/29(日) 23:21:33 ID:wYbE8fnF いよいよアニメ化ですね! こちらは生存報告・・・orz 一応ノートに書いて頭の中身を整理しようとしたものの、 選手の移動関数については何種類かパターンを選べるようにする方法を組み込んであって、 そういう場合、座標計算と描画の処理をどうやって分離するかが思いつかず、進み具合というか制作の動きが鈍くなってマスw http://peace.5ch.net/test/read.cgi/gamedev/1006284805/679
680: SGGK ◆6pZCoAtaxk [sage] 2009/03/30(月) 23:51:50 ID:XCZeuneq 今日も極めて短時間作業。 まずはcameraクラスを宣言するための中身が空のcamera.hを作りvc++2008に認識させようとしたけど、それをやるだけで時間掛かった。 ある程度の使い方ぐらいは本なりホームページで調べてから作業した方が結局早いかもしれないけど、今は我慢。今日はこれだけw きちんとした設計法や手順を身につけていないので、まずは最低限なところから実装する作戦に変更。 cameraクラス宣言、メンバ関数move、viewの宣言と定義、move関数ではwasdキーで上下左右にカメラを動かし、 view関数では座標変換をまだやらないで、今まで作った各オブジェクトに付いているdraw処理をcameraクラスのview関数に集め、そのまま表示させる。 ここまでを目標にしてみるつもり。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/680
681: ◆Fp.xSEIREI [sage] 2009/03/31(火) 05:59:43 ID:hkAyxn74 >>679 いやいやw 立ち絵とかドット絵の元ってことで設定資料的な絵がいるのだ(・∀・) http://peace.5ch.net/test/read.cgi/gamedev/1006284805/681
682: SGGK ◆6pZCoAtaxk [sage] 2009/03/31(火) 23:50:43 ID:gUhbpo9X >>681 なるほどw こちらは絵が全く描けないのでうらやましいです〜。 今日も短時間。camera.hをcameradata.hに名前変更し、中身を記述して終了。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/682
683: ◆Fp.xSEIREI [sage] 2009/04/01(水) 05:52:09 ID:11Jt2sMt 敵ショットのway数を指定するとき 360/nWAY で余りが出る時弾の間隔がおかしくなるバグ修正(・∀・) なるほどね、計算に用いる変数にint型があったら勝手に整数に丸められるのね http://peace.5ch.net/test/read.cgi/gamedev/1006284805/683
684: SGGK ◆6pZCoAtaxk [sage] 2009/04/01(水) 23:28:34 ID:TmemOZyG コンパイルする時に warning C4244: '初期化中' : 'float' から 'int' への変換です。データが失われる可能性があります。 という警告が10箇所程残ったままなので自分のプログラムも何かあるかも・・・orz 短時間作業〜。cameradata.hはメンバ変数のみのクラスCameraDataを宣言と定義しただけなのでcppファイルは無しで終了。 このCameraDataクラスで作成したオブジェクトcameraをメンバ変数に持つCameraConrolクラスの中にメンバ関数としてmoveとviewを作り、 オブジェクトcameraの中身(x,y座標とか)を色々操作する感じ。まず宣言が必要なので、cameracontrol.hを考え中〜。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/684
685: 名前は開発中のものです。 [sage] 2009/04/02(木) 14:53:39 ID:1p+x1WGA floatは不動小数点以下含む intは(-入れて)整数 あと桁数が違うので確認を http://peace.5ch.net/test/read.cgi/gamedev/1006284805/685
686: SGGK ◆6pZCoAtaxk [sage] 2009/04/02(木) 22:23:29 ID:unMQyLeP >>685 ありがとうございます〜。プログラムの警告が出ていた行をざ〜っと見てみました。 ほとんどが選手の足元の当たり判定の四角範囲の上角と下角の座標を計算する為の部分で int=float+(int-int)/2 見たいな式ばかりでたぶんfloatの小数点以下がintにインプットする時に消えるという意味だと思われます。影響は無かった感じ。 cameracontrol.hの中でCameraConrolクラスの宣言終了。今度はcameracontrol.cppの中でCameraConrolクラスに入ってるメンバ関数moveとviewの定義を書き始めるところ。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/686
687: 名前は開発中のものです。 [sage] 2009/04/02(木) 23:31:35 ID:8QbRICGr >>686 そういうのは一応キャストしといた方がいいと思うよ 警告もなくなるし、見た目の意味も分かりやすいし http://peace.5ch.net/test/read.cgi/gamedev/1006284805/687
688: SGGK ◆6pZCoAtaxk [sage] 2009/04/04(土) 00:01:32 ID:hNPD7Jdr 全部floatにすればいいかと思ったけど、時間が掛かりそうなのでキャストのやり方を調べてそれで対応する方にしました。 型だけ書くと下の様な感じで警告が消えました〜。 int=(int)float+(int-int)/2 cameracontrol.cppが出来たのでコンパイルするとエラーが150個程発生。 ヘッダファイルの入れ忘れ、アロー演算子とドット演算子の使い分けミス、名前の間違い、引数の取り方の間違いが原因で コンパイルは通る様になったけど、何故か背景が真っ黒・・・orz http://peace.5ch.net/test/read.cgi/gamedev/1006284805/688
689: SGGK ◆6pZCoAtaxk [sage] 2009/04/04(土) 00:52:15 ID:hNPD7Jdr >676 も・・・もしかしてアクセス規制でしょうか・・・。 背景真っ黒のバグ取れず・・・orz 明日休みなのでもう少し粘ってみたけど、さすがに無理だった。(寝ますw) http://peace.5ch.net/test/read.cgi/gamedev/1006284805/689
690: 436 [sage] 2009/04/04(土) 01:11:37 ID:a3c5eCH1 規制に巻き込まれたので、ここぞとばかり制作サボってCの勉強をしてました 関数ポインタに衝撃!関数を変数の様に扱えて、関数に引数として渡したり出来るなんて面白いな〜 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/690
691: 436 [sage] 2009/04/04(土) 01:13:56 ID:a3c5eCH1 >>689 リロードしてなかったwすいません、携帯は打つの遅くて億劫なんで・・・ http://peace.5ch.net/test/read.cgi/gamedev/1006284805/691
692: SGGK ◆6pZCoAtaxk [sage] 2009/04/04(土) 19:06:16 ID:ITHEsVxa >>690,691 規制解除されて良かったですね〜。 関数ポインタ、ネットでどんなのか見てみました。む・・・難しい。 自分の本は初級用で古かったからなのか関数ポインタ出て無かったし・・・orz 背景真っ黒バグやっと取れた〜。一言で言えば、初期化の順番が間違ってたのが原因。 カメラの移動計算をする時に if(カメラX座標>カメラX座標最大値){カメラX座標=カメラX座標最大値} のカメラX座標最大値にものすごく大きなマイナスの数値が入っていた。 カメラX座標の初期値は0だけど、この式で大きなマイナスの数値にされて画面表示範囲外にいってしまったと思われる。 カメラX座標最大値=フィールド横幅−640だから、 (誤)のやり方ではフィールド横幅が初期化される前のものすごく大きなマイナス値の時にカメラX座標最大値が計算されてしまってバグになるというワケw。 (誤) cameracnt.init(fieldcnt.getFieldData());//フィールドの座標を参考にしてカメラの座標や移動範囲を初期化する。 fieldcnt.init();//フィールド座標やグラフィックハンドルを変数に記憶させておく初期化 (正解) fieldcnt.init(); cameracnt.init(fieldcnt.getFieldData()); http://peace.5ch.net/test/read.cgi/gamedev/1006284805/692
693: ◆Fp.xSEIREI [sage] 2009/04/04(土) 20:30:42 ID:mfukvvdc 自由落下(放物線?)っぽい移動について色々(・∀・) 計算式はまぁわかるけど座標の移動結果の計算がいつもの移動計算と違って独立してしまうからちょっとややこしい http://peace.5ch.net/test/read.cgi/gamedev/1006284805/693
694: 436 [sage] 2009/04/05(日) 01:10:12 ID:/KqnkQ7k 今までは1つの処理をゴトッとまるごと書いていたのを、細かくパーツ分けして関数化し 関数を組み合わせて1つの処理をさせる様にする事にしました 汎用性を持たせる為の工夫が楽しいやらしんどいやらー http://peace.5ch.net/test/read.cgi/gamedev/1006284805/694
695: SGGK ◆6pZCoAtaxk [sage] 2009/04/05(日) 23:22:42 ID:RpKryXFj >>693 自分も移動処理を別のファイルにして呼び出す書き方(14歳シリーズの方法)にしてから まだ慣れてなくてややこしさがありマス。 >>694 自分もプログラムのパーツ分けを見直したい〜。自分のプログラムはちょっと直すとすぐバグが出るのでw 背景真っ黒バグ取れた直後にまたバグ出てなんとかしようとしたけどダメだった。 背景は表示されるけど、WSADキーで背景が上下左右しないバグが取れず・・・orz http://peace.5ch.net/test/read.cgi/gamedev/1006284805/695
696: 436 [sage] 2009/04/06(月) 00:29:28 ID:EhdKUx2o 構造体?普通に配列で事足りるしなぁ〜、と思っていたけれど・・・ 関数の使い回しを考える様になって一変しました。 あれはいいものだ! http://peace.5ch.net/test/read.cgi/gamedev/1006284805/696
697: せいれい [sage] 2009/04/06(月) 02:26:35 ID:7OvX1Q9e HSPからCに移ってきた俺は構造体や関数が便利過ぎて吹いた(・∀・) 全部配列変数で弾幕やら敵やらを制御していた頃が懐かしい ソース分割も無かったから超スパゲッティ 関数もないからサブルーチンで頑張ってた http://peace.5ch.net/test/read.cgi/gamedev/1006284805/697
698: SGGK ◆6pZCoAtaxk [sage] 2009/04/06(月) 22:36:41 ID:L94mWUrW >>696,>>697 う・・・、C中心の方が良さそうな気がしてきました。 今のプログラムは14歳シリーズC++の影響があまりにも尾を引いているんだけど、 ちょっと直すとものすごいバグが出てしまうので、もう少し粘ってみて、もしもの時はリセットするかも・・・。 バグはなんとか取れました。大雑把に書くと、 int df =(1フレームの移動量計算); カメラx座標 = カメラx座標 + df; のintをfloatにしたら動いた。 dfが小数点以下の数字だったからintだと0になるのかも?(←特にデバッガ使わなかったので予想) キャストの話が出てた時と根は同じ理由と思われます。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/698
699: 436 [sage] 2009/04/07(火) 00:59:10 ID:RGk6l7e7 Cの勉強しながら汎用性の試行錯誤中です >>697 HSPが大規模向きじゃないって理由が解りました; http://peace.5ch.net/test/read.cgi/gamedev/1006284805/699
700: 名前は開発中のものです。 [sage] 2009/04/07(火) 06:20:49 ID:ZOHu96Bt >>698 C++でC書けばよかろう。BetterCって言われるような。 基本的にCのソースそのまま実行できるように設計されてるから メモリ確保まわりとかCの嫌な部分だけ無視して組める。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/700
701: ◆Fp.xSEIREI [sage] 2009/04/07(火) 06:57:00 ID:5xr5xfqQ >>698 俺はクラスとか一切使ってないぞー(・∀・) >>700の言うBetterCってのだ C++独自の算術関数使ってるくらいかな >>699 大きくなればなるほどものすごく複雑になって行ってシューティングがそれっぽく動く段階までですでにスパゲッティに… ググると痒いところに手が届く関数がぽんぽん出てくるなー(・∀・)fmodとか http://peace.5ch.net/test/read.cgi/gamedev/1006284805/701
702: SGGK ◆6pZCoAtaxk [sage] 2009/04/07(火) 22:54:01 ID:YiJ6Svh6 >>700 BetterCをググってみました。もしかすると自分のプログラムもどちらかといえばBetterCかもしれません。 一応クラスは使ってるけど構造体に関数が入ってるような感じの使い方しかしてないし、中身はCで書いてるし・・・。 今、自分がプログラムを難しく思っているのはもしかするとCかC++かの違いとは他の所に原因があるのかもしれません。 それが何なのかはまだ今の所わかってません・・・orz >>701 fmod、ググってみました。もしかすると余りを計算する%ってのは結果が整数値でしか出せなくて 小数点以下ありで余りを出せるのがfmodかな〜と解釈。 昨日のバグもそうですが、整数か小数点付かでいろいろ問題がでるみたいでプログラム色々大変〜な感じ。 目標を>675から>680に落として、一応昨日で>680が出来たので、 次の目標を考え中、でもバグ取りで疲れてきたので、14歳C++の最後の章を もう一度(今ひとつ理解できないので今度で3回目)読んでみるかも・・・orz http://peace.5ch.net/test/read.cgi/gamedev/1006284805/702
703: SGGK ◆6pZCoAtaxk [sage] 2009/04/08(水) 21:59:11 ID:fCpceCdJ 昨日の自分の書き込みを振り返ると、ヒントをもらっても自分はそれを活かしてない感じ・・・orz でも、関数ポインタ、BetterCなど、ノートにメモして忘れないようにし、レベルがUPしたら振り返ってみようと思ってマス。 (次の目標) 選手は増やさず、現状の8人のまま。ただし、表示する座標はフィールド全体に配置する。 それによって今まで初期状態で8人見えていたのが、何人かは画面外になる。 この間作ったWSADキーで背景が上下左右する機能で画面外の選手が見えるようにする。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/703
704: ◆Fp.xSEIREI [sage] 2009/04/08(水) 23:10:31 ID:yfenry/J 重力移動完成(・∀・)いい感じに動くぜ http://peace.5ch.net/test/read.cgi/gamedev/1006284805/704
705: SGGK ◆6pZCoAtaxk [sage] 2009/04/09(木) 22:46:59 ID:XRDrR+gw 重力使えるとリアルな動きが出来そうですよね〜。ボールに使えるようになりたい〜。 選手8人を全体に配置したら失敗。画面の端に張り付いた状態になる。 これは(0,0)〜(640、480)でやってた時の選手移動関数の中に画面外へのはみ出し防止if文に引っ掛かったから。 if文を(0,0)〜(1696,1088)に対応させて問題クリア! 今はカメラ初期位置を左上にしてるので選手は1人も表示されないが、しばらくすると画面外から画面中央にあるボールに向かって画面外から現れる。 ここで今日は終了。 ここから先は、今のx,y座標は計算してもそのx,y座標で選手を表示させず、 そのx,y座標が(カメラの左上x座標、カメラの左上y座標)〜(カメラの左上x座標+640、カメラの左上y座標+480)にある場合にだけ表示を許可し、 なおかつ表示関数に与える引数の座標は、(選手のx座標−カメラの左上x座標、選手のy座標−カメラの左上y座標)にすれば、カメラの動きになるかな〜と予想。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/705
706: 436 [sage] 2009/04/10(金) 00:18:01 ID:ROVk2BqV また問題発生で気力が下降してます・・・ 勉強だけ少しずつ進めてます http://peace.5ch.net/test/read.cgi/gamedev/1006284805/706
707: SGGK ◆6pZCoAtaxk [sage] 2009/04/10(金) 23:41:00 ID:UuYIO4Oh >>706 自分もプログラムと勉強を交互にやるような感じでやってマス。 問題発生の時は大体このスレに書いてるような進み具合です・・・orz 今日は色々あって進まず・・・。本を少し読んで寝ます〜。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/707
708: せいれい [sage] 2009/04/11(土) 20:00:29 ID:dyWpPb3I 敵制御、弾幕制御に欠陥があるかもしれないから最終チェック(・∀・) http://peace.5ch.net/test/read.cgi/gamedev/1006284805/708
709: SGGK ◆6pZCoAtaxk [sage] 2009/04/12(日) 00:32:41 ID:v5S174j3 >>708 最終段階ですね〜。こちらも頑張ります〜。 頑張ると言ったものの今日(昨日)は>680で言っていたカメラのview関数の引数を 関数内で使う為に関数内で宣言した変数に引数を代入までで、どうも集中力が出なくて終了・・・orz 勉強も少しだけ・・・。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/709
710: 436 [sage] 2009/04/12(日) 00:45:38 ID:gHLFso7W >>707 ういっす。こんな時は焦らず、少しずつですね あ〜人里離れたとこで、ひっそりとゲーム作りだけしてたい・・・ http://peace.5ch.net/test/read.cgi/gamedev/1006284805/710
711: SGGK ◆6pZCoAtaxk [sage] 2009/04/12(日) 21:53:07 ID:YInuLS5p >>710 ですよね〜。日常のやらなければいけない事をやって、その残った時間で作らなければならないというか 作る為の勉強もしなければならないのでモチベーションの維持も必要になってきて、ゲーム作りはある意味修行かも・・・orz 今日はちょっとだけ書いてみた。カメラ範囲外の選手をカメラ移動すれば見えるようにしたつもりが、おかしくなった。 8人の選手が16人になって、要するに同じ動きをする選手が8人、少し離れた場所に出てきた。 どっちの8人が自分が書き足したプログラムによるものなのか?、もう一方の8人が何故現れるのか?がわからない。 カメラ移動で見えるようになったのかもはっきりしない〜orz どうも集中できないのでとりあえず今日はここまで〜。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/711
712: SGGK ◆6pZCoAtaxk [sage] 2009/04/13(月) 23:14:35 ID:7lxincl+ 16人問題は8人に戻った。選手クラスのオブジェクト内のmove関数の中にある描画処理をカメラのview関数内にカット&ペーストしたつもりが、 コピー&ペーストだったので変換前の座標での描画処理がmove関数に残っていたのが原因。 ボール、ゴールについても同様の変更を加えているところだけど、骨の折れる作業なのでまだ途中。今日はここまで。 あとは寝る時に14歳シリーズC++を少し読むつもり。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/712
713: ◆Fp.xSEIREI [sage] 2009/04/14(火) 20:13:18 ID:+ssrHiR7 そろそろエフェクト、背景部分も作り始めるからここいらで表示優先度を整理してみる 優先度 低 背景レイヤ1(背景の一番下) 背景レイヤ2(背景の上に描く背景。草とか) グラウンドエフェクト(背景にかかるエフェクト。水の光とか) ハイドエネミー(オブジェクトに隠れる敵) 背景レイヤ3(木や石などのオブジェクト) オブジェクトエフェクト(木の葉が落ちるなどのエフェクト) バックエフェクト(自機や敵機の背後に表示されるエフェクト。魔法陣とか) 自機 自機弾 敵機(優先度は内部で座標依存) ハイエフェクト(自機弾装飾やその他エフェクト) 敵弾(優先度は内部で10段階) トップエフェクト(敵機弾を隠すエフェクト。敵ショットなどに) トップレイヤ(すべてを隠す背景。森っぽさを出すとか) ワイプエフェクト(画面切り替え時等、ゲーム画面を真っ白にするとか真っ暗にするとか) フレーム(残機や敵HP、点数などを表示する枠) 優先度 高 こんなもんでいいのかな http://peace.5ch.net/test/read.cgi/gamedev/1006284805/713
714: SGGK ◆6pZCoAtaxk [sage] 2009/04/14(火) 23:18:40 ID:I4iSAa1K >>713 お〜、さらにディテールアップですね。楽しみにしてます〜!。 こ・・・こちらは、ボール、ゴールの描画処理移動出来たので、コンパイル。 コンパイルできたけど、画面になぜか選手、ボール、ゴールが表示されず、 背景がwsadキーでカメラ移動できるだけ、しかもボールがおいてあるはずの中央付近に カメラの端が来た瞬間に英語のメッセージボックスが表示されて止まる・・・orz なかなか容易じゃない感じ。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/714
715: ◆Fp.xSEIREI [sage] 2009/04/15(水) 05:23:45 ID:fM17nTw7 エスパーしてみるとそれは変なメモリにアクセスしたんじゃないかな(・∀・) ボールとゴールを追加する時に読み込み処理の部分をミス? http://peace.5ch.net/test/read.cgi/gamedev/1006284805/715
716: SGGK ◆6pZCoAtaxk [sage] 2009/04/15(水) 23:12:09 ID:CRJPsQ0r >>715 ありがdです〜(←2ちゃん風)、>577の頃のバグと似た感じでした。 (間違い) if( ボールとカメラ範囲の当たり判定式){ (*it).anim->draw(0, (*b).getx()-camera.x, (*b).gety() -camera.y);//ボール座標をカメラ内で見た時の座標に変換して表示する。 } (正解) if( ボールとカメラ範囲の当たり判定式){ (*b).anim->draw(0, (*b).getx()-camera.x, (*b).gety() -camera.y);//ボール座標をカメラ内で見た時の座標に変換して表示する。 } 間違いにある(*it)は選手8人のデータを指すイテレータ。ここを本当はボールの(*b)にするべきだけど、写し間違えていた。 選手全員の処理を行ってから、ボール( (*b)でボールのオブジェクトにアクセスする)の処理を行うので、 間違いでは(*it)の選手で描画しても良さそうだけど、実はこの時点では(*it)は最後の選手の「次」の要素を指しているので、 指摘されていたように「変なメモリに」アクセスしようとして実行中エラーになったと思われる。 そして選手、ボール、ゴールが表示されないのは、今のカメラ初期位置からではどう動かしても最初に見えるのがボールだったので、 そのボールを描画しようとした瞬間にエラーになっていたので、結局、選手やゴールも表示されていなかったと思われる。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/716
717: SGGK ◆6pZCoAtaxk [sage] 2009/04/16(木) 22:55:00 ID:oOQiiACl 今日は進まず・・・orz >620の頃からカメラ移動の実装を始めて最終版ではないけど、とりあえずwsadキーで カメラを上下左右させて画面より大きいフィールドの表示が出来るようになった感じ。 ヒントもらったりしてるのに6週間くらい掛かってる。(プログラムは難しい〜) 目標である「オンライン3D対戦サッカーゲーム」はいつになったら出来るのだろうか。 あと何年かかるのかな〜。と・・・とりあえず次の目標ははっきりとはしてないけど、 今のカメラも完全ではないので少しずつ修正をしつつ、今度は、選手の動きについて考えてみる予定。 例えば、状況によって選手の動きを切り替えるみたいな感じ。 そういうのは「状態の管理」みたいな呼び方をされている考え方があるらしいので調べてみるつもり。 このスレの中でも「状態の管理」に触れている本が紹介されていたようなので、これも近いうちに検討してみる予定。 (以前、本屋で立ち読みしたら「状態の管理」に関するような事が書いてあった。) あくまで予定なんでまだ難しいようなら、当初の予定で言っていた14歳シリーズC++の最終章を3度目だけど、また読んでみるかも。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/717
718: SGGK ◆6pZCoAtaxk [sage] 2009/04/16(木) 22:59:13 ID:oOQiiACl 上で名前書くの忘れてた・・・orz >>377の事です。(汗;) http://peace.5ch.net/test/read.cgi/gamedev/1006284805/718
719: ◆Fp.xSEIREI [sage] 2009/04/18(土) 23:04:16 ID:aOAOT/3q 完成したら同人誌描かせて欲しいっていわれてモチベうp。冗談だろうけど 関数や全体の構造を整理(・∀・)ここから先は規模が大きくなってくるからバグが残ってると死ぬる http://peace.5ch.net/test/read.cgi/gamedev/1006284805/719
720: ◆Fp.xSEIREI [sage] 2009/04/19(日) 16:13:22 ID:XSKgKhL0 弾の移動計算に誤差が無いか10時間ほどつけっぱなしにしてくるくる回転させるテスト(・∀・) 1〜1.5ピクセル程度のズレが出たけど10時間でこれなら許容範囲かな http://peace.5ch.net/test/read.cgi/gamedev/1006284805/720
721: ◆Fp.xSEIREI [sage] 2009/04/19(日) 18:17:40 ID:XSKgKhL0 行動パターンの管理に関数ポインタが便利そうなので勉強(・∀・) http://peace.5ch.net/test/read.cgi/gamedev/1006284805/721
722: SGGK ◆6pZCoAtaxk [sage] 2009/04/19(日) 23:19:11 ID:x8CVMMaj >>719 同人と言えば、東方○X△(サッカーもあったような気がしたけどやった事無いので詳しくないw)みたいな感じとか? >>720 そういえば自分のプログラムも選手が敵味方で1ドットくらいずれてる感じ。今の所は原因を追究しないで放置。 >>721 こちらも似たような勉強を開始しそうな予感です〜。 こちらはちょっとやる気が下降気味〜。 >718の本、本屋で買おうと思ったものの理解出来そうに無いので延期。(たぶん半年後でも残っていそうなので、その時決めるつもり) >717で言っていた「状態の管理」はどちらかといえば「状態の遷移」だった。(>718の立ち読みで気付いたので、本屋に行った甲斐があったw) 「ゲームプログラム 状態の遷移」で検索すると色々出てくる。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/722
723: SGGK ◆6pZCoAtaxk [sage] 2009/04/20(月) 23:20:43 ID:UTrColEd 検索の結果、とりあえずこれを読んでみる予定。 ttp://www.geocities.co.jp/Playtown-Domino/5148/prog_04.html 検索に掛かるホームページを全部調べてからどのホームページで勉強しようかでは 時間が掛かるので、フィーリングでホームページを選択して、合わないとか難しいとか感じる場合には、他のホームページを探す考え。 プリントアウトした(・・・orz)ので、寝る時読む。たぶん30分ぐらいしか出来ない〜。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/723
724: ◆Fp.xSEIREI [sage] 2009/04/21(火) 01:11:11 ID:mtBNJ7D6 なんか便利そうなサイトだけど俺には理解できなかった(・∀・) クラスの説明読んでもやっぱり何が便利なのかわからなかったな〜 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/724
725: SGGK ◆6pZCoAtaxk [sage] 2009/04/22(水) 00:08:00 ID:3D0bZdQr 自分もあまりよく理解できませんでした・・・(汗) 改めてホームページを見てみると検索で引っ掛かったのは全体の中の第4章の部分だったので、 第1章から4章まで一週間位で目を通してみて、次どうするか考えてみるつもり〜。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/725
726: ◆Fp.xSEIREI [sage] 2009/04/23(木) 20:56:58 ID:nJV8X6SV 仕様について色々考える(・∀・) ごちゃごちゃやれることをふやすと操作性やゲームバランスがアレになりそうでうーむ http://peace.5ch.net/test/read.cgi/gamedev/1006284805/726
727: ◆J0BjoOlo7Q [sage] 2009/04/23(木) 21:17:39 ID:vYoM0ycb せーれーさんがVIPの某スレに普通に参加してたので笑ってしまった。 VIPは規制中というか馬鹿がいるんで半永久規制なんだけど。年明けてから通算10日も解禁されてないw 軽いゲーム作ってるんで、仲間にいれてくれい! 今日は雛形コピーして画面レイアウトちょっと考えただけ。想像を創造に。ってやつだな。 http://peace.5ch.net/test/read.cgi/gamedev/1006284805/727
728: ◆Fp.xSEIREI [sage] 2009/04/23(木) 21:25:14 ID:nJV8X6SV うほwww見つかったwwゲ製作でサクサク雑談したい時はあっちの方が人多くてねww 仲間が増えるのは歓迎だぜー(・∀・)頓挫しないなら…な… http://peace.5ch.net/test/read.cgi/gamedev/1006284805/728
729: ◆Fp.xSEIREI [sage] 2009/04/24(金) 11:18:04 ID:NubVyGSs ヘッダーファイルについていろいろ まだまだ未知の仕様がいっぱい http://peace.5ch.net/test/read.cgi/gamedev/1006284805/729
730: 弾幕シュー単独製作 ◆Fp.xSEIREI [sage] 2009/04/25(土) 02:37:36 ID:3Jx05WKM 関数ポインタを使用した新しいシステム導入成功 なんだかオブジェクト移動関数のヘッダー周辺がごっちゃごちゃしてきた http://peace.5ch.net/test/read.cgi/gamedev/1006284805/730
731: 名前は開発中のものです。 [sage] 2009/04/25(土) 04:34:05 ID:LGhFqrfu 関数ポインタ構造体に突っ込んだりして、これクラスでいいんじゃね?と思う日も近いな! http://peace.5ch.net/test/read.cgi/gamedev/1006284805/731
732: 弾幕シュー単独製作 ◆Fp.xSEIREI [sage] 2009/04/25(土) 07:08:46 ID:3Jx05WKM まだあと一歩クラスの使い方、利点がよくわからんのだよな… もにょもにょする http://peace.5ch.net/test/read.cgi/gamedev/1006284805/732
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 252 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.020s