2011-01-07 203 views
1

我很新的遊戲編程所以請原諒我很模糊的問題:P設計和負荷水平

我已經開始使用iPhone上的OpenGL作爲自學的手段在2D遊戲工作遊戲編程。我已經到了編寫引擎的地步,獲得了碰撞檢測等工作和其他動畫,但現在我需要真正開始創建某種可播放的東西,而我的第一個重大問題就是在關卡上。對於我的項目,我將使用Tiled map作爲關卡,我的問題是:我將如何去設計關卡?我的意思是,程序員如何知道某些敵人在某個地圖上的哪一點會發揮作用?他們如何指定將會發生的級別中的某些事情?總體而言,是否有一種設計級別的方法(從編程的角度來看),並能夠加載它來使用它?遊戲程序員如何做到這一點?我當然知道這裏有一個敵人的AI部分,所以我當然不會爲每個敵人預先編寫每一個動作,但至少基本知道每個人何時應該進場並且這樣的事情呢?再次感謝您的幫助,我再一次很抱歉,如果我的問題是過於模糊,因爲我剛剛開始:d

回答

3

你可以從老式的方式開始:讓小怪靜止不動。你的地圖數據可以包含小怪,他們所在的位置,他們是什麼類型,以及他們如何移動。精心設計的地圖可以使遊戲非常具有挑戰性和樂趣。

對於AI,通常需要多種算法的混合。假如你正在做一個單人自由模式的星際爭霸,那麼人工智能可以結合啓發式(即預先制定的策略,如洪水玩家基礎與壓倒性的權力,創造第二基地)和最小最大算法決策(即在遭遇時,像在國際象棋中那樣去掉最具威脅性的單位)。這是一個有趣的話題,也是許多程序員/科學家職業生涯的基礎。

0

看看這個this頁,有很多資源,遊戲開發商

3

那麼其通常是你爲了滿足你的需要而做的事情。沒有一條正確的道路。

對於我在幾年前工作過的3D平臺遊戲,我設計了編輯器和遊戲邏輯。遊戲邏輯全部是C++層次結構,每個對象都有能力將消息傳遞給其他對象。要激活一個打開門的槓桿,我只需簡單地設置一個簡單的「觸發區」,它本身就是一個邏輯對象,簡單地說,檢查用戶是否在球體內部(因爲水平被組織成某些「區域」I不需要檢查不在我當前區域中的觸發器)。觸發器將激活槓桿(這將啓動動畫)。然後,槓桿被設置爲在門被拉動時啓動門。由於任何對象都可能成爲觸發器,因此將觸發器鏈接在一起很簡單。我甚至可以將觸發器分配給某些點。例如AnimationBegin,AnimationEnd,在一段時間之後,或者它可以被鍵入到動畫中的特定關鍵幀。由於每個對象都可能具有這樣的觸發器,因此設計編輯器很容易,可以讓您選擇觸發器事件,然後設置發生觸發器時激活哪個對象。當然,這些觸發器可能會發生鍵盤動畫,這允許我做同步對象運動的更多令人討厭的陷阱之類的東西...

這只是一種方法,它對我們所需要的功能非常有用。有許多不同的方法來解決這個問題。沒有一種方法是正確的,所以你最好的選擇是閱讀諸如「遊戲邏輯」和「遊戲對象行爲」之類的東西。更重要的是,你需要弄清楚你想要的是什麼樣的交互,並考慮你需要的狀態轉換。與直覺相反,我一直髮現設計框架工作比編寫實際邏輯要複雜得多。

祝你好運!