スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ゲーム制作状況 - 2013/11/21版 -

今日の報告!

衝突判定の方法を変えてみました。
結構大きな改革かもしれない。


~今まで~
Sample_20131121_1.jpg

~変更後~
Sample_20131121_2.jpg


要は、衝突判定 ⇒ 当たっていなければ動かす ではなく、
とりあえず動かす ⇒ 
衝突判定専用のクラスが、座標修正を実施

という風にしてみたのです。


前々から思ってたんですが、

"主人公クラス"があるとして、
そのクラス内で左右移動、ジャンプなどを行うのは良いとしても、
「壁とぶつかっているから、めり込まない方向に移動しないと」とか、
「敵とぶつかったから、HPを減らさないと」とか、

そんな判定まで"主人公クラス"が
担うべきではない
と思うのです。
("敵Aクラス"、"敵Bクラス"があった場合も同様。)

なので、各Moverクラスは移動のみにしました。
これによって発生するメリットと言えば
-------------------------------------------------
・新しいMoverクラスを作る際、
 似たような衝突判定部分を記載する必要が無くなる。
・この敵に当たると燃える、凍り付く、感電するというような、
 衝突応答もそれ専用のクラスに任せられるので、
 各Moverクラスの複雑性が減る。
・衝突判定を行うクラスが一つのみになるので、
 衝突判定周りの不具合の原因の特定が容易

-------------------------------------------------
大体こんな感じでしょうか。

逆にデメリットと言えば、
-------------------------------------------------
・衝突判定専用クラスの複雑性が増す
・衝突判定専用クラスから、
 各Moverクラス等にアクセスする必要が出て来る

(メンバ変数の書き換えなどで)
-------------------------------------------------
各Moverクラスの内部で完結していた衝突判定処理を、
別の専用Moverクラスで行う様になったので当然ですね。
(各Moverクラスから内部変数の値を引っ張ってきて
衝突判定結果を、各Moverクラスの内部変数にセットしなおす必要がある。)

ソースコードだとこんな感じ。
変数を取得する関数を呼ぶ ⇒ 衝突判定 ⇒ 変数をセットする関数を呼ぶ
の手順になります。
//座標の値を引っ張ってくる
int t_PosY = t_DrawerManager.GetPosY( t_DrawerHandle );
//矩形の座標の値を引っ張ってくる
int t_CollisionPosY = t_CollisionManager.GetPosY( t_CollisionHandle );

if( //床と衝突していれば ){
//画像の座標を修正
t_DrawerManager.SetPosY( t_DrawerHandle, t_PosY )
//矩形の座標を修正
t_CollisionManager.SetPosY( t_CollisionHandle, t_CollisionPosY );
//落下時刻をリセット(メンバ変数のm_FallTimeをtimeGetTime関数で更新)
t_MoverManager.ResetFallTime( t_MoverHandle );
}


ここら辺の関数呼び出しがネックにならないかは、
ちょっと心配ではありますが、これで実装をしようと思います。



また、単純な主人公と動かないブロックとの衝突判定は実装できたので、
次は、動かせるブロックや、摩擦で移動速度が低下する処理などの実装を行います。

頑張るぞ…!


~今日のひとこと~
デバッグの仕事をしている自分から一言。

iPhoneやAndroidアプリのレビューについてですが、
サクラが居るんじゃないか?(自作自演で評価を高くする)
と、疑問を持った方がいたりするんじゃないかなと思います。

まぁ、これは普通にあります。


・レビューをお願いします!
 評価は★★★★☆以上でお願いします

とか、

・レビュー及びコメントの記載をお願いします!
「高評価のレビューする事を対価に、アプリ開発会社様より、
 キックバックを貰う件」
については記載しないで下さい


とか、なんか無茶苦茶な裏があったりとか。
(公に、「ツイートでつぶやいてくれた方の中から抽選でオリジナル●●が当たる!」みたいな
  キャンペーンをしている企業もあるので、レビューやツイートを対価とした商品配布等は
  今後 増えて来るかもしれない。)


更に、知り合いに聞く所によると、
アプリのレビュー評価を上げる
専門の企業もある
とか。
例:
★★★★☆ ハマるw
★★★★☆ おもしろい
★★★★★ 楽しい!
★★★★★ クセになる
★★★★☆ サイコー!
★★★★★ 自分の生活の一つです。
★★★★★ 面白いです!
(短文が多いイメージ。
 …かといって短文のレビュー = 業者ではないと思います。)



そんな企業あるの!?と思いましたが、
SEO対策の企業があるくらいだし、
レビュー評価アップの企業もあるんだろうなぁと納得しました。
(アプリのランキングもありますし、一種のSEO対策と言っていいのかも)

【余談】
また、アプリの売り上げを上げる為に
自爆営業(?)やってる所もあるらしい。

社員は全員、このアプリで10000円分のアイテム購入を行って下さい
みたいな。 (強制的に有料アイテム購入を促す。)


最近だと、年賀状を10000枚配れなければ自腹で買い取りなさい
という事をやらされてる、みたいな噂も聞きますし、
ソーシャルゲームでも、自爆営業をやっている所はあるのかもしれません。
(自分だったら…断る。給料から天引きされ始めたら、訴えるか、転職する。)
スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント
コメントの投稿
管理者にだけ表示を許可する



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。