首先,題主要做的是學好C++,爲什麼這麼說呢?因爲不管是現在的圖形引擎(如OpenGL)還是遊戲製作引擎(如Cocos2d-x)都是把C++作爲主力語言的。
那麼,我就先推薦幾本C++的入門書籍吧:
樓主可以按照順序依次看下來,由於都是我看過的書,我可以完全保證這些書的質量!
接下來,樓主可以去 Problems|LeetCode OJ,Programming problems and Competitions::HackerRank 這些網站刷一些算法題,畢竟光說不練肯定是不行的 =_=。
接着,擺在題主面前的是兩條不同的發展路線
- Gameplay Programmer(遊戲型程序員)
- Graphics Programmer(圖形程序員)
由於Gameplay主要集中於遊戲邏輯的編寫,在這一塊,我的經驗是最好從使用一個遊戲引擎開始,考慮到你的C++和程序員背景,推薦你使用Cocos2d-x這個遊戲引擎,下面是這個引擎的網址。
遊戲邏輯部分,你需要理解遊戲中的場景管理,資源管理,狀態機,AI和網絡這些模塊的編寫。具體的操作可以查看我的這個答案:
學Cocos2d-x,需要掌握多少C++知識?大概多久可以做出一個遊戲
另一種是Graphics Programmer,或者說是Engine Programmer,他們是給程序員寫程序的程序員(有點繞口啊=O=)。這部分你需要學習的是OpenGL和ORGE等等
首先,你要學習的是OpenGL,首先我們要看的當然是這個紅寶書了!OpenGL編程指南(原書第7版)(豆瓣)
然後,就是讀一些OGRE的源碼了,國內的許多“自研引擎”就是通過ORGE做出來的,所以,作爲一個Graphics Programmer讀這個引擎的源碼是非常必要的
最後呢?我們不管是當那種程序員,我們最終都是要做出項目的。
如果你是圖形程序員,那麼最好的項目就是,自己做一個遊戲引擎
如果你是Gameplay Programmer,那麼最好的項目j就是,自己做一個遊戲項目
比如說我最近做個一個Demo類型的遊戲項目:MrNerverDie/Four - GitHub MrNerverDie/Four · GitHub