我想再利用閒暇時間瞭解下 Linux 的程式開發,以俾得以對 Linux 系統底層有更進一步的應用與控制。因為未來開放式硬體的架構 (ex. Raspberry Pi, BeagleBoard, Cubieboard ...etc),必然是以 Linux 為開源系統,並以此為基準點,建立各類硬體裝置控制的應用。
我偏好採用 C++ 作為 Linux 開發的程式語言,畢竟 Linux 系統底層/服務 大都以 C/C++ (其實還是要當為兩種不同的語言,只是 C++ 可以很容易引用 C 的函式庫。)來開發的。再則:
- 高移植性:重點在於函式庫的跨平台 (Windows/Linux ...)、跨硬體架構 (Intel/ARM-based CPU)!且太多開源各類的函式庫可資引用,方便太多。
- High-Performance。
- 物件化的始祖:畢竟我還是習慣採物件化的思維來設計與開發,具 OOP 的機制還是會比較直覺。
我希望初期先透過一個主題來持續學習與實踐 C++ 的開發 (先不需牽扯到系統底層處)。因為畢竟與工作無關,且是當成休閒嗜好的輕鬆態度學習的;所以我想乾脆就把 RogueLike 遊戲 的程式開發作為學習的標的。
因為我現在也正在玩 DCSS (Dungeon Crawl Stone Soup),而 RogueLike Game 不需著重在畫面音效等,僅需利用 ASCII 字符的格狀畫面來呈現即可,所以就不用考量到畫面效果的處理技術。另外一點很重要的是,大部分的 RogueLike 遊戲係以 Open-Source 連原始程式碼都免費釋出,還有許多教學資源可供充分的研究與學習。
我就打算以這一系列-Complete roguelike tutorial using C++ and libtcod,作為我學習以 Linux C++ 開發 RogueLike 遊戲的教案,然後逐步的把心得筆記下來。
總之,我是打算抱著很輕鬆的態度來學習 Linux C++ 的,應該是會視之為 long-term 的學習歷程。
※「RogueLike in Linux C++」文章系列目錄索引:
o Linux C++-開發環境與Hello程式。
o RogueLike in Linux C++-安裝所需函式庫。
o RogueLike in Linux C++-專案設定與GitHub。