[過去ログ] 1人でゲームが作れるように修行します。 (984レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
826
(1): ひややっこ 2009/08/27(木)22:19 ID:GmqjVtRm(1) AAS
規制明け。

ごめん飽きた。
プレイヤーを動かす前提のところまでは作って、
さてこれから敵AI、盤面評価に取り掛かろうかという土台作りのところまで。
ここまででもクソース晒してるんだから、穴が開くまで視姦して必要なもの盗んでくれ。

レーダーの実装は、レーダー用に別座標を用意するんじゃなく、座標一元管理して
割り算とかで描画ごとに計算して求めるのがスジ。
省7
827: SGGK ◆6pZCoAtaxk 2009/08/28(金)23:27 ID:sBvEqBOX(1) AAS
>>826
お・・・お疲れ様です〜。でも再開の時には何時でもまた戻って来てください〜。
色々頂いたヒントもいつか活用できるようになれるよう修行は細々と続けていこうと思ってます(超ゆっくりですが)。

>782>825で自分で言った事がまだ出来ずの状態・・・orz
一応822氏の関数で画像データ読み込みの関数は書き直し、座標の初期化関数はいらないかもしれないので保留。
レーダーのクラス内にviewという名前のメンバ関数でも用意して表示しようかなと思ってるけど、物凄く作業が遅いので完成予想言えずな状態・・・orz。
828: SGGK ◆6pZCoAtaxk 2009/09/05(土)00:16 ID:mpLRq1Zr(1) AAS
レーダー画像読込、表示位置初期化、描画の関数を書いてコンパイル。
ヘッダファイルの書き忘れ、関数の定義と宣言での変数の個数不一致、メンバ変数のアクセス範囲間違い、
グラフィックハンドル4個欲しかったのにgh[3]と定義してgh[0]〜[3]あるような思い込み間違い。(gh[4]で定義したら直った。)
その他色々直してコンパイルは通ったものの、
1.選手を動かすとレーダーのフィールドが微妙に動く。
2.レーダーの点が1個しか出なくて、しかもボールが表示されない。
という現象が残ってるので、ゆっくりと考える・・・予定デス。
829
(1): 2009/09/05(土)01:22 ID:em7bUaop(1) AAS
あてずっぽな勘

>1.選手を動かすとレーダーのフィールドが微妙に動く。

動き方によるが、除算した時に端数が出て余計な事をしてるのかも。

>2.レーダーの点が1個しか出なくて、しかもボールが表示されない。

全部表示させるつもりが一個しか表示してなかった、とか
全ての点が計算間違いによって一箇所に重なってしまってるか、
一個を除いて画面外に出てしまってるのか、で原因を絞り込むのがいいかも。
830: SGGK ◆6pZCoAtaxk 2009/09/06(日)00:42 ID:PMabGNkj(1) AAS
>>829
レーダー付きました〜。
原因は、描画する時に指定するレーダーのグラフィックハンドルと選手やボールのグラフィックハンドルの指定が入れ替わっていた事。
レーダーは、自分がコントロールできる選手の動きにあわせて動こうとしてしまい、選手やボールはレーダーの座標左上に全部重なって表示されていた・・・orz

>全ての点が計算間違いによって一箇所に重なってしまってるか、  ← が原因。ありがとうございました〜♪

次は、>>760で言っていた所を直す予定。3ヶ月以上過ぎて忘れかけてますが、
原因は分かってるのでどのようにプログラムを書くかを考えていく予定〜。
831
(1): SGGK ◆6pZCoAtaxk 2009/09/17(木)22:24 ID:ujPBRvzy(1) AAS
>>760の問題は3日程で解決したけど、今度はボールが動かない問題発生。良く見ると、ボールが微妙に振動している。

とりあえず、>>760については、
選手の移動関数が、1.静止、2.マウス位置に向かう、3.ボール位置に向かう、4(x、y)に向かう、の4種類切り替えるようにしてあるのに対し、
呼び出された関数側でDXライブラリのGetMousePoint関数でマウス位置を得るようにしているため、移動関数側で「2.マウス位置に向かう」関数だけがカメラの座標を得られるようにして、cx+mx、cy+my
の変換をする必要があるけど、それだと関数1〜4を共通に呼び出して、呼び出された側で1〜4を切り替えるしくみが崩れるので今の自分では出来そうにない。
結局、選手の移動関数を呼び出す側でカメラの座標を読み出せるようにして、GetMousePoint関数も選手の移動関数を呼び出す側で使い、(cx+mx、cy+my)を「(x、y)に向かう」関数に渡して解決。

ボールが動かない問題については、昨日やっと原因に気が付いたけど、正解かどうかは未確認なので、後日の予定。
832: SGGK ◆6pZCoAtaxk 2009/09/19(土)00:22 ID:TwF/0L0P(1) AAS
うpに備えてフォルダをコピーしてそのフォルダと主要なファイルの番号を1つ上げる。

>>831のボールが動かず微妙に振動してる問題が解決。
ボールが画面端に来た時に反射するためのif文の範囲が(0,0)〜(640、480)になっていた。
ボールの初期位置はフィールドの範囲(0,0)〜(1696,1088)での座標(848,544)にしていたので
このif文だと常に条件に引っ掛かりループ毎に向きが反転して、1ループでの微小な移動しかしてない状態で向きが反転するので
振動しているように見えたのが原因。
ボール反転のif文の範囲を(0,0)〜(1696,1088)にして解決!
省2
833: SGGK ◆6pZCoAtaxk 2009/09/19(土)00:40 ID:5Ck1thZ0(1/2) AAS
原因は、ボールの移動関数の中で、選手が蹴る瞬間のx、y方向を計算する為の毎ループ更新されてる数値を
呼び出してるのだけど、その数値は選手の移動位置を計算する時にループ毎に更新され、選手のメンバ変数に入力しておかなければ
ならないけど、その計算式が入ってなかった為、x方向、y方向ともに初期値の1が使われ続けていたから。

が、それを直しても何故か動かない。・・・orz
相当悩んだが、ふと「コンパイルされてないのでは?」と思い、フォルダ内のobjファイルを見ると日付が古い!更新されてない?
良く見ると、選手の移動関数は、ヘッダファイルに宣言、定義、オブジェクト(インスタンス?)の生成処理がまとめて記述してあり、
これを修正したのに何も反映されてない事に気付く。(printfDX入れても変化無いのでおかしいと思った。)
省2
834
(3): SGGK ◆6pZCoAtaxk 2009/09/19(土)01:06 ID:5Ck1thZ0(2/2) AAS
ここで区切りを付けてうp

外部リンク[html]:gamdev4.hp.infoseek.co.jp
835
(1): STG ◆Fp.xSEIREI 2009/09/21(月)09:21 ID:EUcZHdoo(1) AAS
こちらのスレには久々の出没。エターナったわけではない
PC移行した直後に新PCのマザー死んだり規制巻き込まれたり散々だぜー

クラスの使い方というか便利さがやっと理解できたのでソースを1から書き直す。スパゲティを解消するためでもありより良い処理を実装するためであり
クラス便利すぎワロタ

>>834
問題なく動いたー
ボールか操作キャラを追いかけるように自動でカメラ動かすとサッカーゲームっぽくなりそう
省1
836
(1): SGGK ◆6pZCoAtaxk 2009/09/22(火)00:48 ID:we6NkNm8(1) AAS
>>835
PC移行、規制解除おめです〜!

>ボールか操作キャラを追いかけるように自動でカメラ動かす

な・・・なるほど!難しそうだけど次はこれ(↑)を目標にしてみます〜!。
837: SGGK ◆6pZCoAtaxk 2009/10/02(金)00:25 ID:qUjxUVKo(1) AAS
改めて見ると自分の書き込み口調が2ちゃん的になりつつあるような気が・・・orz
それにしても時間の流れのなんと早いこと・・・、作り始めて約2年と1ヶ月半程でこの進み具合では
諦めるのが普通なのかもしれないし、続けるべきか悩むところ。

>836の課題はまだ出来ず・・・orz
カメラ(画面)の中心がボールを追いかける方法でやろうとしたのに対し、カメラ(画面)はボールのある方向とは異なる方向に向かってしまう。
838
(1): 2009/10/02(金)01:19 ID:LvKXbccb(1) AAS
>カメラ(画面)の中心がボールを追いかける方法でやろうとしたのに対し、
>カメラ(画面)はボールのある方向とは異なる方向に向かってしまう。

カメラの位置ってのはカメラの位置として独立したものでしょう?

そのカメラの座標に、プレイヤーが操作したキャラクターを中心とした座標を入れるか、
ボールを中心とした座標を入れるか、の違いでしかないでしょう?

もしそこが正しくできているのに違う方向に動いてるのだとしたら
それは入れる座標そのものが間違ってるとしか考えられません。
省1
839: SGGK ◆6pZCoAtaxk 2009/10/03(土)00:20 ID:tUVDaRpM(1) AAS
>>834でうpした時のデータで作業していて上書きしてしまった事に気付く・・・orz

>>838 
助言ありがとうございます〜。
1日おいて目を皿にしてソースを見たところ、間違い発見。

>それは入れる座標そのものが間違ってるとしか考えられません。
↑どうやらこれが原因のようです。

ボールの座標とカメラ中央座標の距離を出す式の中でカメラ中央座標はフィールド全体で見た座標にしなければいけなかったのに、
省8
840
(1): STG ◆Fp.xSEIREI 2009/10/05(月)22:58 ID:avu8M6ED(1) AAS
画像リンク[jpg]:www.dotup.org
左の壁にボール押し込んで遊んでたらボール増えたw
当たり判定は無い模様
841: STG ◆Fp.xSEIREI 2009/10/06(火)06:13 ID:l/SEN5NP(1/2) AAS
テンプレートを覚えた!
SUGEEEEEEEEEEEEEEEEEEEEEEE
型自由って何てチート
多態勢によって適切なオーバーロード関数が呼び出される!
842
(1): 2009/10/06(火)11:48 ID:LS2z0sEa(1) AAS
その分余計にメモり食うけどねー
843
(1): 2009/10/06(火)21:10 ID:YLRyQOlh(1) AAS
>>834の時点でボール分裂するよ
って言おうとしたら、>>SGGK氏じゃなく>>せいれい氏だった(笑)

テンプレートやオーバーロード・オーバーライドは意味不明バグの温床になるからなあ。
理解はしててもイマイチ使う気になれない。
テンプレ推奨のSTLとかは使うけど。

ゲームプログラムならば、ソースがキレイになるならメモリや実行速度程度は許容範囲。
844: STG ◆Fp.xSEIREI 2009/10/06(火)21:36 ID:l/SEN5NP(2/2) AAS
>>842
なるほどー、やっぱりデメリットもあるのね

>>843
SGGK氏は気づいてるのかな

強力で便利な機能だけど危険だよなぁ
STLはやりたいことが微妙にできそうに無かったから似たようなのを自作
一年前のCを始めたころのソースはひどくてとても手直しできそうに無いから
省1
845: SGGK ◆6pZCoAtaxk 2009/10/07(水)00:02 ID:6L6MNmu7(1) AAS
>>840
ありがとうございます〜。これは気付いてませんでした。(汗;)

>左の壁にボール押し込んで

↑このコメントがヒントになってるような気がするので調べてみます。
画面に出るオブジェクトの移動計算と描画を別々の関数にしたときに何か見落としがあったのかもしれません。
原因がわかるまで日数かかりそうな予感・・・orz
846: SGGK ◆6pZCoAtaxk 2009/10/18(日)21:33 ID:MJjq88tM(1) AAS
2、3日しか経っていないような気がするのに、実際は10日以上過ぎてた。orz
ボールの表示は1個になった感じ。

自分のプログラムのメインループは順序がおかしいかもしれないけど次のようになっていて、、
(1)カメラ画面の座標計算
(2)カメラの見ている範囲にあるもの全ての描画
(3)選手の座標計算
(4)ボールの座標計算
省8
847: SGGK ◆6pZCoAtaxk 2009/10/19(月)23:02 ID:HC3YJnG/(1) AAS
今日は画面の切り替え(スタート画面、ゲーム画面と終了画面)が出来る様にしようと思ったものの、
やり方をすっかり忘れてしまってる(忘れるのはものすごく早い)ので、
14歳からはじめるC++の該当部分を読むつもり。(今日はあと30分くらいしかないorz)
画面の切り替えは元々参考にしていたソースに残っていたのに当時は画面遷移処理があるとソースが理解しにくいので削除してしまっていた・・・orz
結局それをまた元に戻そうというのは時間の無駄だったかも・・・。
本当はこのスレで一時期いろんなHPで調べてた「状態遷移の考え」を使いたかったけど、
14歳ソース復活の方がたぶん作業が早く進むと思うのでこちらを選択。
省1
848: STG ◆Fp.xSEIREI 2009/10/25(日)06:58 ID:0L4tr0A8(1) AAS
キーコンフィグ関係をざくっと組んだー
ここに来て初めてビット演算を勉強
849: SGGK 2009/10/29(木)00:23 ID:WOQZyTTw(1) AAS
パソコンが不調でコテハンの番号が見つからず、復帰に時間がかかりそうなので生存報告〜。
「ビット演算 ゲームプログラム」で検索!
難しそうなページがいろいろヒットしましたが、ひとつの変数でいろいろな
状態をチェックするテクニックみたいなものかも・・・。
いまやろうとしている「状態遷移」での判定にも応用できそうな感じ。
・・・と言ってる状況なので実はまだ画面の遷移はできてませんorz
時間の過ぎるのはアッという間だけど、今はまだあきらめないつもり。
850
(2): 2010/01/16(土)13:32 ID:h9+5xWTR(1) AAS
すっかり書き込みなくなったけど、やってるかな〜。
851
(1): 2010/01/16(土)21:05 ID:1E+5//pv(1) AAS
>>850
久々に来たかと思ったら違ったw
もう辞めちゃったかもね。。。
852
(1): STG ◆Fp.xSEIREI 2010/01/17(日)00:17 ID:SItBpq9Q(1) AAS
俺は生きてるぞー
他の人は知らんww
853
(1): 436 2010/01/17(日)02:33 ID:n4iFgyhw(1) AAS
すいません、すっかり怠けとります・・・俺は駄目な人間です
ストーリーや設定のアイディアだけが溜まっていく駄目進行・・・
854: SGGK ◆6pZCoAtaxk 2010/01/19(火)00:15 ID:fX0Gghpg(1) AAS
パソコンの不具合はなんとかなり、コテハン番号も無事見つかった。
書き込み規制が昨年末から続いていたけどやっと解除されたので久々に書き込み〜。

>>850
かなり休んでしまいましたが、まだ諦めてはいないです〜。
>>851
諦めてはいないけど、これ以上先にいけるか微妙に思ってます・・・。
>>852
省4
855
(1): 2010/01/19(火)01:18 ID:KBTIDtQy(1) AAS
プログラムなんて小さな目標の積み重ねだと思うけどなぁ。

「画像表示させてみよう……できた」
「動かしてみよう……できた」
「操作してみよう……できた」
「動ける範囲制限してみよう……できた」
「背景つけてみよう……できた」
(中略)
省1
856
(1): 2010/01/19(火)01:49 ID:c3+27muf(1) AAS
おお、意外にも(ごめんw)みんな生きてる
久々に自分も何か作ろうかしら
857: SGGK ◆6pZCoAtaxk 2010/01/20(水)23:55 ID:rGiwGeCw(1) AAS
>>855
書いた直後に自分も(大きな)は(小さな)だよな〜と思いましたw
まずは小目標として、昨年止まっていた画面の状態遷移の実装を今月中に出来るよう急ごうと思ってます。
>>856
自分は昨年末頃から制作継続が微妙な感じでしたが、なんとか戻ってきましたw
たぶん制作カモ〜ン!だと思いますよ〜。
858: 2010/01/27(水)22:19 ID:Dt03y0tk(1) AAS
なんとなくぼちぼちやってる。
タワーディフェンス系って、勝利の快感が薄いんだよなあ。
ボロボロになるまで攻められて虫の息でも守りきったという事実への達成感がどうにも実感できない。
859: SGGK ◆6pZCoAtaxk 2010/01/31(日)21:37 ID:i2sNFclZ(1) AAS
タワーディフェンス系といえば過去にコマンド&コンカーみたいなゲームをプレイしたことがあって、
資源採掘、武器生産、建築、防衛、侵攻、その他などのバランスを取るのが難しくてなかなか勝てなかった記憶があります。

こちらは昨年のパソコン不具合でソフト全部入れ直したのがうまくいってないようで、
問題無かったはずのプログラムがなぜかコンパイルエラー・・・orz
本(14歳シリーズ)の設定見直してコンパイラがDXライブラリを認識してくれるようにはなったみたいだけど、
ある変数が初期化されてないというエラーが残ってて、これをどう初期化すればよいのかわからずSTOP。
適当な数字入れると画面がものすごくちらついたり、画面が上下に2分割して画像が入れ替わったりする。
省2
860: SGGK ◆6pZCoAtaxk 2010/02/01(月)23:01 ID:sCeHScUP(1) AAS
コンパイラは通るようになったけど、画面の振動は直らず・・・orz
この症状は直っていたと思ってたけど、そうではなかったらしい。
原因としてはカメラがその中央にボールを見るように移動するところでカメラの中心座標とボールの座標を元に次のフレームでの座標を計算するための
sin、cosを算出する時に使うカメラ中心〜ボールの距離(←ちなみにこれが昨日言ってた初期化してなかった変数値)が
0に近くなるときに四捨五入でもされて座標が1ドット分振動してるではと考えてた。
なので距離が一致してもおかしくないほどに「カメラ中心〜ボールの距離」が小さくなった時には
座標の更新をしないようにしたにも関わらず振動する。
省1
861: STG ◆Fp.xSEIREI 2010/02/14(日)05:17 ID:P68kmKyJ(1) AAS
マルチスレッドについて勉強中
これは面白そう
862: SGGK ◆6pZCoAtaxk 2010/02/18(木)00:00 ID:i6/kfDhg(1) AAS
こ…こちらの方はあまり進んでなくて昨年から遷移のやり方を時々色々調べてたけど理解できそうにないので、
結局if〜thenでやりそうな予感デス…orz
エクセルで遷移図もどきを一枚だけ書いてみたところ。
863: 2010/02/18(木)01:48 ID:ncTcoxx+(1) AAS
解らない事にいつまでもこだわってたら前へは進めないよ。

もちろん困難を乗り越えていく事で成長するわけだから、そういう姿勢は大事だが、
今はそんなレベルの話じゃないでしょう。

赤ん坊が歩こうとするのに、先に右足を出すか左足を出すか悩んでるみたいなもんだ。
864: SGGK ◆6pZCoAtaxk 2010/02/18(木)23:59 ID:hae32g78(1) AAS
た…確かにそのような気がします。
とりあえず現状で出来るやり方でトライしてみます。
今日は遷移に使う画像を2枚作成。
865: 2010/02/23(火)02:57 ID:WaulUepv(1) AAS
私も修行させてもらいますね
866: STG ◆Fp.xSEIREI 2010/02/23(火)03:22 ID:FpMmFhwO(1) AAS
どうぞどうぞ

マルチスレッドおもしろい
調子に乗ってバックでBGMデータ1000個読み込ませたらメモリ死んだ
867: SGGK ◆6pZCoAtaxk 2010/02/23(火)23:27 ID:oeK0muLS(1) AAS
どうぞです〜!
こちらは、以下にUPしてる図中の「5秒後にGAMEOVER画面からタイトル画面に移動」が
うまくいかなくて停滞中・・・orz
外部リンク[html]:gamdev4.hp.infoseek.co.jp
868: SGGK ◆6pZCoAtaxk 2010/02/25(木)23:58 ID:l4qfFF3S(1) AAS
原因らしきところはわかってきた感じだけど、まだバグは取れず。

画面の状態が切り替わった時に必ず一度だけ(例えばゲーム画面からゲームオーバー画面に切り替わる時)

starttime = GetNowCount();

を実行し、その後はループを繰り返すたびに例えばゲームオーバー画面中のプログラム内では、

if((GetNowCount()-starttime )> 5000){
setGameState(GAME_TITLE);
}
省3
869: STG ◆Fp.xSEIREI 2010/02/26(金)02:59 ID:Hug2MG2J(1) AAS
人によってぜんぜん違う方法で実装してて新鮮だ
俺の場合はメインループを60fpsで回してそこから各画面にとんでるから5秒カウントするなら毎フレームごとにカウンタを++して300以上なら画面遷移呼び出しとかになるかな
870: SGGK ◆6pZCoAtaxk 2010/02/27(土)07:28 ID:AOAbO/fF(1) AAS
なるほど!そういう方法もありますね。
ループ時間を精密な同一時間で制御する技をまだ自分が持ってないので、現状での導入は難しいですが、
どうしても今のバグが取れなかったら、大体5秒みたいな感じでもいいのでカウンタ式でやってみます。

バグの方はまだちょっと…な感じ。
変数のスコープ(有効範囲)をどこかで勘違いしてるんだろうけど、それらしき記述が見当たらず…orz
871
(1): 2010/02/27(土)12:10 ID:6SrDyvbd(1) AAS
デバッグ作業に「思い込み」は厳禁ですぜw
872
(1): SGGK ◆6pZCoAtaxk 2010/02/28(日)02:16 ID:o0dFT4m9(1) AAS
久々にこんな時間まで粘ってしまったけど、なんとかバグが取れました。
>>871
まさに「思い込み」でした…orz
原因は、変数のスコープというよりは、基底クラスと継承クラスの両方で同じ名前の変数starttimeを宣言していた事。

自分のプログラムは基底クラスにメインループ関数やsetGameState()が定義してあって、
それを継承したクラスからもそれらの関数がそのまま使えるんだけど、
メインループ関数の中で動く関数、つまりタイトル、ゲーム、コンティニューの処理に関する関数は、
省7
873: 2010/02/28(日)17:41 ID:JBjJTmz9(1/2) AAS
プログラミングもできない
超初心者でも参加していいんですか?
874
(1): 2010/02/28(日)18:02 ID:mlqUZ1eF(1) AAS
参加するのはいいけど、ここは別に住人が親切に教えてくれるスレじゃないよ?
あくまで自分が自分の力で修行するだけ。
俺みたいな部外者はその経過を見て、ただ茶々入れるだけ。
875
(2): 2010/02/28(日)19:38 ID:JBjJTmz9(2/2) AAS
修行するぞ修行するぞ修行するぞ

とりあえずC言語やってみます
876: SGGK ◆6pZCoAtaxk 2010/02/28(日)23:18 ID:u1gAibe+(1) AAS
こんばんは!
自分は過去に何度か挫折してて、今回だってどこまでやれるのかは自分でも見えてないです…orz
なので、お互い気楽にいきましょ〜!

(次の目標)
ゲームの最低限の流れの部分作成に挑戦の予定。
とりあえず簡単なイメージ図を書いてから始めるつもり。
877: SGGK ◆6pZCoAtaxk 2010/03/02(火)22:56 ID:wihORnjW(1) AAS
やっと掲示板につながるようになったみたい。

>>874
どうもです〜!(スルーっぽい形になってしまったかのように思えて気になり戻ってきました…)
自分はいつ躓いてもおかしくない状況ですけど、やれるだけ頑張ってみます〜!

次の図は出来た。理由が言葉に出来ないけど実装が出来そうにない予感。
もう少し考えてみて、たとえ出来なくても図はUPするつもりです〜。
878
(1): 436 2010/03/03(水)03:06 ID:onEVT9cS(1) AAS
どさくさに紛れて規制解除されてた
>>872
バグ取り乙です。上からスクロールはそういう演出かと思ったら偶然だったのかw
>>875
自分も去年始めて、今C言語の復習やってる様な亀初心者ですが
お互い頑張りましょう
879
(1): STG ◆Fp.xSEIREI 2010/03/03(水)18:57 ID:+JZHI3ef(1) AAS
>>875
がんば(・∀・)

ずいぶん前に作っていた双方向リストを実際に動かしてみたらバグだらけでワロタ
とりあえず見つかったバグはとれたけどまだ何か潜んでいそうで恐ろしい
880: SGGK ◆6pZCoAtaxk 2010/03/03(水)23:00 ID:JLhMluy2(1) AAS
>>878
どうもです〜♪。そう!偶然なのです…。
とりあえず動いているならいいという事にして今は放置して先に進む作戦にしました。
>>879
バグ直したと思ったら、他の部分の動きがおかしくなったり…といった事を自分はよくやってマス。

次にやろうとしている内容の図。かなり難しそうな感じ。
外部リンク[html]:gamdev4.hp.infoseek.co.jp
881
(1): SGGK ◆6pZCoAtaxk 2010/03/06(土)01:21 ID:lGhx1E2m(1) AAS
今日は試合時間表示処理の修正に挑戦。
今までメインループ関数の最後の方に命令文をズラリと並べてたのを一つの関数にまとめてみた。
今回の定義にはvirtualを付けなくても良かったのに間違えて付けてコンパイルしたら、
画面が完全にフリーズしてしまい、パソコン再起動…orz
882
(3): 2010/03/07(日)00:34 ID:1FEgywit(1) AAS
皆さんは作ったゲームとかをどこかに掲載してるんですか?
883
(1): STG ◆Fp.xSEIREI 2010/03/07(日)01:34 ID:u718oayl(1) AAS
>>881
こっちはブルースクリーン
あんまり関係ないかもしれんがデバッグ始まった瞬間になったから怖い

>>882
まだ掲載とかできるレベルじゃないなぁ
884
(1): 2010/03/07(日)02:08 ID:UI08O01q(1) AAS
>>882
自分のサイトとブログだけ。宣伝無し。
885: SGGK ◆6pZCoAtaxk 2010/03/07(日)23:10 ID:dT9xMVU/(1) AAS
>>882
自分はこのスレでUPに使ってる掲示板で全部です〜。
>>883
OSの動作にまで影響していそうなバグが出た時は冷や汗ものです〜。
>>884
サッカーゲーム完成→サイトオープン!!に向けて道は険しいけど、これからも頑張ります〜!

今日は選手のデータ初期化を修正。
省17
886: SGGK ◆6pZCoAtaxk 2010/03/08(月)22:10 ID:967VSo8v(1) AAS
昨日のデータセット関数はすぐには動かなくて、最初に動いた時には選手の数が半分くらいだった。
この方法を諦めかけてた頃にデータセット関数の中の記述が以下の様に間違ってる事に気付いた。

pos_x=pos_x0;//pos_x0は関数の引数
pos_y=pos_x0;//pos_x0は関数の引数

正解は、
pos_x=pos_x0;//pos_x0は関数の引数
pos_y=pos_y0;//pos_y0は関数の引数
省2
887
(39): 2010/03/16(火)10:46 ID:/X6k6iTE(1) AAS
俺も参加していいかな?
簡単な3DのRPGを作ってみたい。
888
(1): STG ◆Fp.xSEIREI 2010/03/16(火)12:50 ID:RVuFBq2b(1) AAS
どうぞどうぞ
3Dの時点で簡単じゃない気もしてくるけど

ゲーム内ウィンドウとか文字列云々の制作。
もうちょっと作れば一番楽しいゲーム本体部分の制作にとりかかれそう
889: 887 2010/03/16(火)17:01 ID:PauBuwXO(1) AAS
>>888
絵が描けなくて、3Dならモデルを作ってしまえば後が楽なのかなぁと思いまして…

とりあえずVC++EEでSDL+OpenGLで修行してみようと思います。
無料だったので github でソースコード管理してみようと思います。

外部リンク:github.com
890: 887 2010/03/17(水)09:26 ID:4WiRN6jG(1) AAS
とりあえずビューワモードみたいなところまでできた。

外部リンク:github.com

そろそろモデルの表示をやろうかな。
その前にフレームレート制御か。
891: SGGK ◆6pZCoAtaxk 2010/03/18(木)00:01 ID:lJDNUzV1(1) AAS
どうぞです〜!
自分もいつかは3Dに挑戦したいと思ってるので期待してます〜!

ボールの移動関数書き直しはバグが40個近く出てしまい、まだまだ取れそうにない状態。
892: 887 2010/03/18(木)00:46 ID:0fv2BQKl(1) AAS
モデル表示は
外部リンク[htm]:cedec.cesa.or.jp
のゲームグラフィックス・プログラミング入門(後半)に習って

blender ==エクスポート==> 独自形式 ==コンバート==> バイナリ

にしてゲームではバイナリを読み込むようにしようと思う。

とりあえずBlenderのスクリプトを勉強中。
893: SGGK ◆6pZCoAtaxk 2010/03/18(木)23:36 ID:3ndk63Yx(1) AAS
HP、色々参考にしてみます〜。

ボールのオブジェクトが持っているデータ、例えばxにアクセスするときに
getx()という関数作っていたけど、変数の個数分の関数を作るのが
結構大変な作業なので、xを外部から自由にアクセスできるようにしてデータアクセス用の関数を
なくそうとしてみた。例えば、

if(ball.getx()<0) ball.dx=-1*(ball.dx); を

if(ball.x()<0) ball.dx=-1*(ball.dx); にすればいいかなと思ったら以下のメッセージ付のバグが発生。
省5
894: 887 2010/03/20(土)14:51 ID:FMPMmQsj(1/2) AAS
モデル表示でテクスチャ表示もできるようにしようとすると
メッシュデータとかテクスチャデータとかのリソースの管理が煩雑になるなぁ。

リソース管理周りからしっかり作らないと厳しそうだ。
895: 887 2010/03/20(土)20:16 ID:FMPMmQsj(2/2) AAS
外部リンク:github.com

テクスチャ付モデル表示ができるようになった。
次はボーン入れてアニメーション。
896: 887 2010/03/21(日)01:30 ID:fya3TTIM(1) AAS
実は終了時に永久ループになってた!!
直して上げ直した。落とした人ごめんよ…
897: SGGK ◆6pZCoAtaxk 2010/03/21(日)11:29 ID:NgIHJZXt(1) AAS
こちらはボール関係で色々作業中〜!

今までのボール移動処理はボールクラスのmove関数の中で選手とボールのあたり判定が「真」であり、かつxキーが押されている場合に
ボールのx、y座標の更新が開始され、30ループの間、微小な移動量dx、dyをx、yに加えていくやりかた。
でもボールのクラスの中で選手22人とボールのあたり判定をしたり、選手のキー入力をチェックするのは
なんとなく不自然でわかりにくい感じがするように思ってきたので、それらの処理を選手関係のクラスにカット&ペーストしてみた。
しかし、そうすると今度は選手のクラスを作る側がボールクラスの移動アルゴリズムまで把握していなければ、プログラムを書けないような書き方になってしまうので、
30ループ座標更新するところは、kicked(dx、dy)という名前の関数にして、これをボールクラスのメンバ関数にして、
省1
898
(1): STG ◆Fp.xSEIREI 2010/03/22(月)04:53 ID:+2vRg2cR(1) AAS
ゲーム内のメッセージウィンドウとかその他オブジェクトまわりの処理をうんたら
自機も敵も弾もエフェクトも背景、ウィンドウも全部同じ型のクラスを継承しているから面白い実装ができたりややこしくなったり
描画関数や移動関数が一つで済むのがうれしい
メッセージを表示するウィンドウをなめらかに表示させようとして発生したリスト関連のバグの修正に二日費やした。双方向リスト怖い
899: 887 2010/03/22(月)21:48 ID:A/K5vhYE(1) AAS
なんとなくスキンメッシュの概念が分かった。
スキンメッシュは自前とシェーダーどっちでやるのがいいんだろうか。

シェーダーが動かないPCのことも考えて自前にしようかな。
900: SGGK ◆6pZCoAtaxk 2010/03/22(月)23:56 ID:JKvlGYeF(1) AAS
こちらも少しだけどやってマス〜!

多少変更があったけど、kick関数実装終了。
選手データを管理するクラスから直接ボールデータにアクセスできないのが後になって分かり、
ボールデータクラスのオブジェクトをメンバに持つボールコントロールクラスのメンバ関数にkick関数を定義した。
という具合に自分でもソースをあまり良く理解出来ていないため作業効率がよくない感じ…orz

次はゴールのあたり判定をやる予定。
901: 887 2010/03/23(火)22:09 ID:qWz/PVJb(1) AAS
外部リンク:github.com

スキンメッシュを実装。
処理負荷が気になったので負荷メーターを入れてみた。
今の開発環境(100円PC aspire one aoa150)だと20体位で限界が…

ほとんど描画に食われてるんだけど、これからマップとかも描くと厳しそうだなぁ。
902: SGGK ◆6pZCoAtaxk 2010/03/24(水)00:44 ID:e6avgSmm(1) AAS
3D動いてるの確認できました〜!(呼吸してるみたいな感じ)

こちらの作業は進まず…orz
今日の進捗は、いままで線を引く命令で書いてたゴールの絵をやめて
グラフィックにしようかなと思ったところまで。
903: 887 2010/03/25(木)10:56 ID:SnoPjuNE(1) AAS
モデルとかのリソース作りが面倒だ…
今週はblenderの使い方の勉強と
リソースの作り方を考えることで終わりそう…
904
(1): SGGK ◆6pZCoAtaxk 2010/03/25(木)23:48 ID:5ex7jJAh(1) AAS
ゴールの絵(単なるコの字型だけど)を画面に表示させようとしてる段階。
いままでブラックボックス同然にしていた表示処理の中身を完全に忘れてるので、
今後の事も考えて今この段階で思いだそうとしてるところ。
905
(1): 887 2010/03/27(土)00:39 ID:PrpcgIm6(1) AAS
外部リンク:github.com
SRPG version 0.0.4
右クリックでモーション切り替えができます。
今のところ、アイドル・走り・パンチの3つ。

モデルを作ってしまえばモーションを作るのは楽なことが判明。
2Dでアニメーションを描くことを考えれば、やっぱり3Dにしておいて正解だった。

さて、次はどうしよう。
省1
906
(2): 2010/03/27(土)03:16 ID:/pzlREtt(1/2) AAS
おお、スゴイ
俺もSDL+OpenGLでやろうと思ってるから励みになる
1-
あと 78 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.031s