1

C ++/Allegroで2Dプラットフォーマーを完成させました。そのまだ不完全な段階です...

ゲーム開発に熱中している人たちからのピアレビューはどうしたらいいのだろうか。私のプロジェクトを次の理由でレビューしたいと思います

  1. ゲームプレイ
  2. 衝突検出
  3. OOPの使用
  4. サウンド、エフェクトなどのプログラミング
  5. それ以上のアイデア
  6. 私がもっとうまくやれたかもしれない方法
  7. 最適化する方法

現在のコードはいくつかの場所でゴミのように見えます...それで、いくつかの単純化手法も提案できますか?

更新されたリンクで私のプロジェクトを(必要に応じて)表示できます-nincompoop (直接リンク)

http://ideamonk.googlepages.com/nincompoop_distro.rar

今のところ、私はC#とXNAに切り替えていますが、感銘を受けたので、すべてを学ぶのは非常に簡単で迅速です。

http://catalog.xna.com/GameDetails.aspx?releaseId=341

私はここで製品を販売したり、何かを普及させたりするつもりはありません...私の意図は、より良い人々からより良いヒントを得ることです。私がプロジェクトをアップロードしたページについては、いかなる種類の広告でもサポートされていません。安心してください。

4

2 に答える 2

3

ソースコードで最初に気付いたのは、ゲームロジックのほとんどがmain.cppファイルにあり、ネストが11タブまで進んでいることです。コードを整理するために、これは悪夢です。もちろん、私も最初のゲームでこれを行いました。:)最初にできることは、メインのゲームループを単純化して次のようにすることです。

int main () 
{
    game_object gob;
    gob.init_allegro();
    gob.load_assets();
    while(true) {
        gob.handle_inputs()
        if (!gob.update())
            break;
        gob.render();
    }
    gob.cleanup();
}

他のすべては、game_objectクラスにリファクタリングする必要があります。この方法で管理する方がはるかに簡単です。また、深いネストを回避できるため、コードが実際にページに収まる可能性があります。コードの深さが3つを超える場合は、実行していることを別のメソッドまたは別のクラスにリファクタリングする必要があります。

私の2番目の提案は、gotoを次のようなもう少し正気なものに置き換えることです。

bool playerwins = check_win_condition();

if(playerwins) {
    // win condition code
} else {
    // lose condition code
}
于 2008-10-31T17:09:41.893 に答える
1

前のエピソードからの RECAP -

なぜ人々があなたに反対票を投じて攻撃的なのか理解できません。良い仕事を続けてください... – Daok(27分前)

査読を求めることで何かひどく間違ったことはありますか? ダウンボタンを押す前に考えてみてください。明日あなたも査読が必要になるかもしれません! – Abhishek Mishra (26 分前)

@Daok:それは私が58秒前に正確に疑問に思っていたことです!– Abhishek Mishra (25 分前)

これはばかげています。SO の質問の典型的な型には合わないかもしれませんが、査読は悪いことではありません。– Thomas Owens (23 分前)

@Mitchel Sellers:このプロジェクトに取り組んでいる間、ゲーム開発について良い議論があった..だから私はそれをレビューに載せるのが良いと思った..すごい!ycombinator のクラウドはさらに賢くなり、驚くべきフィードバックをもたらします – Abhishek Mishra (21 分前)

それが質問の言い回しと口調かもしれないと思います。助けを求める質問というよりは、製品発表のように聞こえます。「自分のプロジェクトを適切に査読する方法」などと表現されていれば、人々はそれほど厳しくなかったかもしれません。– マーク イングラム (21 分前)

ポイントは、これは Stack Overflow の目的ではないということです。特定の技術的な質問をするためのものです。– Remi Depres-Smyth (19 分前)

おっと...ええ、質問を入力したときに頭の中で転がっていました...それを本当の質問に言い換えさせてください! :) – Abhishek Mishra (18 分前)

ゲームを改善する方法と同様に、技術的なフィードバックを提供することもできます..さらに、レビュー用にソースコードも公開しています! もう一度質問を開く方法はありますか? – Abhishek Mishra (17 分前)

コードレビューを依頼し、ここで受け取りました。Abhishek、誰かがこれを再度開いて編集できるようになったら、次の質問を見てください。クリーンアップのアドバイス? コードレビューの質問例として。– ジョン・ルディ (12 分前)

@ジョン:ありがとう!それがうまくいくことを願っています!

于 2008-10-29T14:12:01.727 に答える