感謝邀請 :)
首先,遊戲編程也是編程,一些編程的基礎書籍是必須的,
樓主提到的【Head First】系列都比較簡明易懂,值得一看。
這類書籍沒有太多推薦,主要看你想學習的語言。
基礎書籍不用看太多,也不用看很深,重要的是看的時候要動手。
一些關鍵問題要弄明白,例如記憶體管理。
當你還不熟悉的時候,開發時最好時刻準備一本基礎書在身邊,開發遇到什麽問題可以隨時翻閱(當然,Google也是居家必備,但不夠系統)。
其次,設計模式,很多初學者覺得它很難懂,是因為沒有明白設計模式的目的。
設計模式是解決某類問題的方式,要弄懂它,你需要明白」某類問題「是什麽。如果你開發的時候都沒有遇到這類問題,那麽你也很難真正明白某種設計模式的精髓。
所以我覺得可以先大概了解一些常見的設計模式和它們所解決的問題,然後當你遇到某類問題的時候可以想起某個模式,然後再深入研究它。
而介紹設計模式的書籍我推薦兩部,
一個是【敏捷軟體開發,原則,模式,實踐】 :
敏捷軟體開發 (豆瓣),
另一個是【Game Programming Patterns】:
http:// gameprogrammingpatterns.com /。
前者是一個很全面的軟體工程的書籍,主要講用敏捷的方法來進行軟體開發,裏面有相當一部份介紹商業軟體常用的設計模式。雖然這本書不是遊戲領域的,但是它講到了很多編程的知識都適用在遊戲領域的編程當中。這本書有C#版。
後者是專註遊戲編程領域裏面的設計模式,它涵蓋了遊戲邏輯,遊戲編輯器,和遊戲引擎的編程。它每一節都是從一個遊戲編程的問題開始展開,然後提出一些解決方案,最後將解決方案規範化,形成設計模式。雖然很多時候它沒有給出很完善的設計模式方案,但是它給出了很多線索,可以讓感興趣的讀者深入研究下去。這本書是開源的,不用錢,不過是英文版,例子是用C++寫的。
最後,就是遊戲編程細分領域的書籍了,例如AI,物理,圖形等等,
這些方面的入門書籍我只看過AI方面的,例如【遊戲人工智慧編程案例精髓】和【遊戲開發中的人工智慧】,它們都是比較粗略地介紹人工智慧在遊戲中的基本運用,但是要寫出真正能用的程式碼,還是需要看一些相關的論文,部落格等等。
最後附送一些對我非常有幫助的遊戲編程部落格:
Amit’s Game Programming Information一個很全面的資源集合
http://www.aisharing.com/專註AI的部落格,不過有一段時間沒更新了
------------Update 1------------
感謝
@sxd和
@Finney Tang的提醒,AI分享站的網域名稱改成
AI分享站了 :)