Ads by Google

--年--月--日 - スポンサー広告

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

HARD

2008年09月12日 - 日記

-ゲームの難易度って、どうやって調整しているの?
絶妙な難易度が設定されているゲームとは一体どんなのがあるだろう。

-レースゲームでバグを出す話
プログラム上のややこしい部分を付くのが効果的なんだろうけど、流石にここまで想像はできそうにない。
昔くーぽんのゲームでいくつかバグ報告したけど、『しゃがみ状態で攻撃を喰らうと、しゃがみ攻撃のエフェクトが出なくなる』とか、一見すると訳わからんバグばかりだったしなあ。中でも、『ある技行動後に特定のコマンドを連続入力するとキャラがどっか行っちゃうバグ』。あれは本当に意味がわからなかった。

-今井麻美さんと中村繪里子さんが参加した「FEZ」のチュートリアルムービーをUp。江頭2:50さんからの新たな挑戦状も?
FEZは面白そうだとは思っていたけどやってない。戦争ゲーと聞いて敬遠してました。確かロボに乗れるんだったか、あれはちょっと興味あったけど。
FEZプロモと一緒に、レスポンスの悪いテトリスでも如何。



[ゲーム] アラド
そういえば言ってなかったけどカイン鯖なので、よろしk(ry

天城マップ。
竜人Dは、ボスのリバサ電撃と檻さえ気をつけてれば遠距離職はさほど苦戦することはないんだが、人形館Dに行くと敵が硬いわ魔法撃ってくるわで、油断すると通常マップで乙る。ボスの魔法・石化・操作逆転が更にうざったらしい。魔法→操作逆転、で避けようと思ったら向かって行って乙とか泣ける。
まぁ人形館で絶望したものの、次のゴレム塔Dはボスハメに気付いてからは大分楽だったんだけど。

手持ち高Lvがガンナーとメイジだからトントン拍子でいけてると思う。遠距離職はお手軽高火力で美味しいです。で、調子乗って玄関D行ったら開幕で乙って吹いた。


[???] 懐古
ヒント:ようつべ 物理気相成長法 5ヶ月前
むかしの ぼくらです
死ななきゃ安いゲームとまではいかないが、1ヒットからの絶望は相当のもの。


[話題] ソースの書き方
プログラムの課題出されて提出に至ったまではよかったけど、手直し食らって、また食らって・・・繰り返してたらほぼ全ての文を手直し食らってたオチ。書き方が気に食わないってんで訂正くらってるもんで、腑に落ちないと言えば落ちない。
例えばif文だと、なんとなく僕はelse使いたくないと思っているので
if(a==0)
   条件文;
else
   条件文;
でなく、
if(a==0)
   条件文;
if(a!=0)
   条件文;
極論こうやっちゃう。指摘されるまで気付かなかった辺り、完璧無意識です。


[運営]
-リンクのtarget属性を無くした
-60日間更新のないサイトを一時リンク撤去

TRACKBACK


この記事にトラックバックする(FC2ブログユーザー)

コメント

HARD

>難易度
 難易度とはちょっと違いますが、以下を見て思った事。
ttp://www.geocities.co.jp/SiliconValley-Sunnyvale/6160/newtech/smb111.htm
 懐古厨ってわけじゃ無いですが、これを読むとやっぱりマリオは本当によく考えられて作られたんだと感じますね。確かに難易度も大切だと思いますが、まずはユーザーの腕をそこまで意識させずに引っ張り上げる過程があってこそな気がします。斬新なジャンルなら特に。

>ソース
 これはどっちの意見も分かるなあ……。自分も昔はこう書けと言われるたびに、内心では密やかに反発したもんです。別にこれでも動くんだからいいだろとw ただ他人のソースも読むようになってから、とにかく誰にでも読みやすいコードを書く事を心がけるようになりましたね。ひどいソースは変数名やメソッド名に統一感は無いわ、コメントはろくに付けないわ、1メソッドが助長過ぎという反面教師みたいな感じでw 今では自分も大分ましになりましたが、無意識に書いてるとそうなりかけてて慌てて直したりしてます。のちのちの修正になると、それだけ無駄な時間を使ってしまうので。
 自分はelseを使う派、というか処理の状況によりけりです。elseを使うとそれが一まとめの処理だという事が明確に分かるので可読性が良くなる気がします。あとその条件式が大量にある場合、速度が上がる可能性があります。例えばいかさんの例だと、if文のみを使う場合は両方とも比較が行なわれますが、elseを使った場合、a == 0という条件が通った時にその後の比較が行なわれなくなります。つまり条件式の比較が一つ減る訳です。と言っても、ほんの数μs程度で、実感は全くありませんがw それに今のコンパイラはとても賢いので、無駄な処理をしようとした場合は最適化してくれる事もあります。ただ、ロボットなどの組み込み系はまだまだCPUの性能が低いので、少しでも早いプログラムは今でも求められているのかもしれませんね。
  • 2008-09-12 |
  • 夢空
  • URL
  • edit ]

HARD

>バグチェック
ここに書かれているように全ての工程をイチイチ全部チェックしていくという地獄の作業です。
ありとあらゆる操作を一通り行い、その箇所でバグが出た場合、更に該当しそうな箇所も
総チェックしたりと本当に地道で過酷。
あとはとにかくユーザーが普通はやらないようなこともやってみたり。
絶対やらないだろ、っていう箇所ほどバグが多いもんです。


>ソースの書き方
else を使わないなんてとんでもない!
この書き方だと間違いなくバグが発生するでしょう。
上と下が同じ挙動をすると思えばそうではないことはすぐわかると思います。
下の場合1回目の if で仮に if (a != 0) になるような代入が行われた場合、
2回とも処理を行うことになり完全に上の場合と違う挙動が発生します。

他にも else は例外的に自分が想定していない状態が発生した場合、保険的な処理(アサート処理とか)
を入れておくことが出来るのでプログラムのセキュリティがあがります。

最後に比較演算のあとに括弧は必ずつけておきましょう。if とか for とかには絶対。
これが出来ていないプログラムは高確率でバグを生みます。
慣習的に括弧をつけるクセがないといざバグが出て対処に物凄く手間取ります。
動けばいい、っていうプログラムが後々信じられないような状態を引き起こすことに。
  • 2008-09-13 |
  • Alwei
  • URL
  • edit ]

HARD

>夢空さん
・難易度
普段気にも留めず難なくクリアしていく1ステージでしたが、こう見ると至る所にプレイヤーへの配慮が暗になされているんですね。説明のないチュートリアルと言ったところでしょうか。この造りには素直に感動してしまいます。
多少難易度が高いとしても、きちんとプレイヤーを導くことができれば、きっとこなすことができるということでしょうかね。

・ソース
柔軟な考えができず、一度書き上げてしまうと他の条件式がなかなか浮かばないんですよね。それで時間が経ってしまいやさぐれてしまうこともしばしばw
他人のソースを見ることがなかなか無く、あったとしても100行程度のプログラムですから、まだゴチャゴチャにはならないですね。変な変数名はよく見かけるので、これはなるべくわかりやすいようにと意識してますが。
状況によりけりですが、まだその状況を判別することができない現状。例が極論過ぎるので、「elseに決まっている」となってしまうのですが。実際の文出すのが一番判り易いのでしょうけど・・・。
余計な処理をさせるな、自分がやらないことをプログラムにやらせるな、といったことをよく言われます。スピードとしては些細な問題だとしても、気をつけなければいけないですね。

>Alweiさん
・バグチェック
上のようなことを色々な場面で行う、そう考えただけでも眩暈がしてきますね。
普通にゲームを楽しんで、たまたま見つかったバグを報告する。そういった仕事なら大変気楽なのですがw

・ソース
elseを使った文でまた駄目出しを喰らったり。やはりまだまだ状況判断ができないようです。

括弧というのは中括弧({})のことでしょうか?
とにかく1行でも減らせるところは減らしたいと思ってるので、中が1行のときは省くことが多いですね・・・。
  • 2008-09-16 |
  • いかあき
  • URL
  • edit ]

HARD

よし、例を出してみると。

if (...)
 if (...)
  foo1();
  foo2();
 if (...)
  if (...)
   foo1();
   foo2();
  else
   for (...)
    foo1();
    foo2();
else
 hoge();

さて、どんな動作をするのかは実際に動かしてみるといいかと。
まあこんな極端な書き方をする人は即刻プログラマ失格ですが・・・
ここまで極端になることはなくても改良を加えるうちに一箇所でもこんなコードが
あったりすればそこは間違いなくバグが発生することでしょう。
プログラムは一度書いたらお終いなんてこと絶対にないので。

行数を減らすことは全然いいことではなく、可読性が損なわれるなら最初から長い方がいいです。
ベストは可読性も保ちつつ短くまとめること。
よってバグを生むくらいなら最初から中括弧はつけるべき。
2chのスレだけど参考に。
http://pc11.2ch.net/test/read.cgi/tech/1173416521/
  • 2008-09-17 |
  • Alwei
  • URL
  • edit ]

HARD

いやーこれは知りませんでした。通常なら始めのif文の条件に当てはまらなければ2個目のelseに入る、と思うわけですが、どうやら一つ目のelseに入ってしまうようですね。
可読性云々は個人的な主観が入ってしまうので、それだけでは納得はできませんが、こういった明らかにおかしな挙動をされると、確かにたまったものではないですね。
スレでは、344でまとまってる感じですね。
  • 2008-09-17 |
  • いかあき
  • URL
  • edit ]
      

コメントの投稿

管理者にだけ表示を許可する

このサイトについて


いかあき
(烏賊)
あまり深海にいかないでもらいたい。