[網友來信]
我想學遊戲程式設計。但我無法分辨「遊戲程式設計」與「軟體程式設計」差別在哪裡?我是新手,想透過自修學會。有人說學遊戲程式設計得先學 ActionScript 3 或 Java 語言,是真的嗎?它們差別在哪裡?另外,可以推薦我一些書籍或網站讓我自修嗎?我有興趣的是「桌機遊戲」這一方面的。
[紀老師回答]
遊戲設計屬於軟體設計的一種。就像你問「游泳與自由式有什麼分別?」我會回答「自由式是游泳的一種」是一樣的。
如果想學「遊戲程式設計」,沒有一定從哪一種語言入手,就像想學會開車,沒有一定要從 Toyota 還是 Nissan 先學是一樣的。目前遊戲平台有三:網頁遊戲(類似 Facebook 的一些小遊戲)、手機遊戲(Android 與 iPhone/iPad)、桌機遊戲(一般是 Windows 平台)。每種要學的語言不同。
如果是「網頁遊戲」,你應該依照 HTML5 --> CSS3 --> JavaScript 這樣的學習路徑進行。有人告訴你要學 ActionScript 3 (AS3),就是指「網頁遊戲」這一塊。不過由於 iPhone/iPad 不支援 Flash(ActionScript 就是 Flash 背後的電腦語言),加上開發 Flash 的 Adobe 公司,自己都已經宣布不再開發 Flash 新版本了(放棄了)。所以現在開始學「網頁遊戲」的人,我個人不推薦學 ActionScript 3。因為這樣設計出來的遊戲,可能沒辦法讓 iPhone/iPad 上面的玩家玩你的遊戲。所以還是推薦你用 HTML5 / CSS3 / JavaScript 這三種技術來製作「網頁遊戲」。
如果是「手機遊戲」,又得細分「Android 平台」與「iPhone/iPad 平台(後簡稱 iOS 平台)」。「Android 平台」使用 Java 當成官方語言,寫遊戲就得用 Java。這就是你為何被建議要學 Java 的原因。「iOS 平台」使用 Objective-C 這種語言(C 語言的進化版,包含 C 語言所有語法)當成官方語言。所以如果你要寫「iOS 平台」上的遊戲,就得學 Objective-C。
如果是「桌機遊戲」,類似「暗黑破壞神 III」這類的,使用的是 C++ 這種語言。所以你得學 C++。
入門難度部分,「桌機遊戲」(C++)與「手機遊戲」(Java 或 Objective-C)差不多,「網頁遊戲」相對簡單。沒有說從哪一種入手才是「正確」的。大多看你個人的選擇與技術背景偏向哪一邊來決定。
每一條路從「完全不懂」,到能「獨立作業」,「網頁遊戲」一般約需 9 ~ 12 個月的訓練。「手機遊戲」與「桌機遊戲」則大約需 1.5 年~2 年。期間包括「語法學習」、「遊戲設計概念」、「美術處理(原畫、動畫製作)」、「遊戲函式庫學習」這四大塊。當然實際上手時間,還是依個人狀況而不同。
如果您有興趣的是「桌機遊戲」,我個人會推薦先往 C++ 那一條路邁進。不知您會不會排斥看英文書呢?我個人都是看英文的,因為有些中文書的電腦名詞翻譯比較混亂(如:Literals 在台灣就有「定字」、「字面字」、「實字」...等翻譯),會造成理解上的困難。所以先推薦英文的給您。如果看英文有困難再跟我說。
書籍的話,我個人推薦這本:
http://www.amazon.com/Primer-Plus-Edition-Developers-Library/dp/0321776402/
當然,國外網友推薦的這一系列 C++ 書單,每本都是經典:
http://www.drdobbs.com/cpp/c-reading-list/240155654/
您也可以試著看看這一系列的 C++ Tutorials:
http://www.tutorialboneyard.com/Pages/CTutorials.aspx
如果懶得看書,喜歡「視頻教學」的,可以看這個 YouTube 播放清單 (73 支影片,英文發音,完全免費):
https://www.youtube.com/watch?v=tvC1WCdV1XU&list=PLAE85DE8440AA6B83
以上都是我個人珍藏。不知道適不適合您?希望有幫助!
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
java library中文 在 Mave教學| Maven 初學者中文教程 的推薦與評價
定義package: 初始建立的Java Package, 如idv.kentyeh.software ... 至於commons-loggin是否須要使用到其它的Library,根本完全不用在意,因為Maven會自動導入相關的 ... ... <看更多>
java library中文 在 20.1 使用JDBC 連接資料庫- JavaSE6Tutorial - GitHub 的推薦與評價
JDBC(Java DataBase Connectivity)是用於執行SQL 的Java 解決方案,它將不同資料 ... 有c:\workspace\library\mysql-connector-java-3.1.13-bin.jar 這個路徑設定。 ... <看更多>