2008-10-29 20 views
2

我剛剛在C++/Allegro中完成了一個2D平臺遊戲。它仍然處於一個不完整的階段......查看我的遊戲項目或(如何同行評審我的項目)?

我想知道如何從進入遊戲開發的人那裏進行同行評議。 我想先回顧一下上

理由我的項目
  1. 玩遊戲
  2. 碰撞檢測
  3. 使用OOP
  4. 聲音效果等
  5. 任何進一步的想法
  6. 方式的編程我可以做得更好
  7. 優化方法

當前的代碼在某些地方看起來像垃圾...所以你也可以建議一些簡化技術?

你可以在更新的鏈接查看我的項目(如果你願意的話) - nincompoop(direct link)

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

截至目前,我切換到C#和XNA,發現它很容易和快速學習都是因爲我印象深刻的 -

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

我不打算出售任何產品或推廣的在這裏......我的意圖是讓技巧從更好的人身上獲得更好的效果。至於我上傳我的項目的頁面,它不支持任何類型的廣告。所以請安心。從早先情節

+0

哪裏的源代碼?我DL'ed遊戲,只是一個exe和一個自述文件。 – postfuturist 2008-10-30 16:58:24

回答

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個標籤,那麼你所做的任何事情都需要被重構爲另一種方法,甚至是一個單獨的類。

我的第二個建議是用的東西多一點理智這樣的替換您轉到的:

bool playerwins = check_win_condition(); 

if(playerwins) { 
    // win condition code 
} else { 
    // lose condition code 
} 
1

重點回顧 -

我不明白爲什麼人們投票你失望和反感。保持良好的工作... - 道克(27分鐘前)

要求同行評審的任何錯誤?在按下按鈕之前想想,明天你可能也需要同行評議! - Abhishek Mishra(26分鐘前)

@Daok:那就是我剛纔在58秒前想的! - 阿布舍克米什拉(25分鐘前)

這很愚蠢。它可能不適合SO問題的典型模式,但同行評審並不是一件壞事,不值得一提的是4票反對。 - 托馬斯歐文斯(23分鐘前)

@米切爾賣家:你知道嗎,在我正在研究這個項目的時候,已經有很多關於遊戲開發的討論..所以我認爲這將是很好的把它放在fr審查..但@ stackoverflow ...事情真的很棒! ycombinator人羣更智能化,他們拿出了驚人的反饋 - 阿布舍克米什拉(21分鐘前)

我認爲這可能是問題的短語和語調。這聽起來更像產品公告,而不是幫助問題。如果它被形容爲「如何正確評審我的項目」等等,那麼人們可能不那麼苛刻。 - 馬克英格拉姆(21分鐘前)

問題是,這不是堆棧溢出的用途。這是爲了詢問具體的技術問題。 - Remi Despres-Smyth(19分鐘前)

woops ...是的,當我輸入問題時,它在我腦海裏滾動...讓我把它改寫成REAL問題! :) - Abhishek Mishra(18分鐘前)

和一個人可以提供技術反饋,就如何改善遊戲..除了我也提供審查的源代碼!有沒有辦法再次打開一個問題? - Abhishek Mishra(17分鐘前)

我要求代碼審查,並在此處收到它。阿布舍克,如果有人重新打開這個,你可以編輯它,看看這個問題:K & R Exercise: My Code Works, But Feels Stinky; Advice for Cleanup?作爲代碼審查問題的例子。 - John Rudy(12分鐘前)

@John:謝謝!希望它的作品!