跳轉到內容

2D Linux 遊戲程式設計入門/簡介

來自華夏公益教科書,開放世界開放書籍

本書涵蓋的內容

[編輯 | 編輯原始碼]

本書涵蓋了從頭到尾在 Linux 上編寫 2D 遊戲的步驟。從為各種發行版設定構建環境開始,到將遊戲打包以供分發結束。它還包括建立工具來簡化遊戲建立。例如,精靈和關卡編輯器。遊戲本身將使用 SDL 1.2 編寫,並使用 ALSA 進行音訊處理。我們將主要介紹 SDL 1.2,這可能是目前最常用的 SDL 版本,並簡要介紹其後續版本 SDL 1.3。(如果 SDL 1.3 變得更普遍,我們可能會完全切換到該庫。)關卡編輯器和其他輔助工具主要使用 Qt4 編寫。示例演算法可能會簡單地在適用時透過列印到 stdout 來演示,以方便起見。

Linux 可用於多種環境,因此本書還將介紹將程式碼從原始環境(在本例中為基於 AMD64 的 PC)移植到其他環境。兩個主要目標環境將是 F-200 和 Pandora。兩者都是基於 ARM 的手持裝置,但功能、輸入方案和螢幕解析度卻大不相同。我們將介紹從一個環境移植到另一個環境的各個方面,包括控制方案、螢幕解析度和縱橫比,以及程式設計注意事項。

它還將簡要介紹關卡設計方面的考慮因素,包括處理縱橫比時以及從街機環境過渡到 PC 和主機時的考慮因素。

本書不涵蓋的內容

[編輯 | 編輯原始碼]

這是一本程式設計書籍,一本關於建立 2D Linux 遊戲的程式碼和關卡的入門指南。它不涵蓋管理您的程式設計團隊,也不建議除本書中建立的遊戲以外的其他遊戲創意。它不會深入探討遊戲的營銷。

本書使用的語言和庫

[編輯 | 編輯原始碼]

本書中的程式碼是用 C++ 編寫的。它使用 SDL、Qt4 和 ALSA 庫。

本書的目標讀者

[編輯 | 編輯原始碼]

本書的目標讀者是那些想要在 Linux 上享受程式設計遊戲樂趣的人!它並不假設您擁有 C++ 程式設計的豐富背景,但需要對 C++ 語言有一定的瞭解。在對遊戲進行程式設計時,語言基礎知識將隨著主題的進展而進行回顧,但作為 C++ 的基礎入門,這將以不完整和雜亂無章的方式呈現語言。有許多優秀的 C++ 入門教程以連貫和全面的方式介紹語言,更適合教學生 C++。

本書中介紹的一些概念很複雜。在這種情況下,本書將逐步介紹概念。它旨在指導那些已經接觸過 C++ 但可能沒有太多經驗,並且可能沒有任何遊戲程式設計經驗的人。有經驗的程式設計師可能會發現本書對其他書籍很少涵蓋的主題有參考價值,儘管他們可能會發現本書中的細節很詳盡。

目標遊戲

[編輯 | 編輯原始碼]

本書的目標是引導學生完成程式設計和打包一個完整的 2D 平臺和橫向卷軸遊戲。超級馬里奧兄弟通常被認為是這種型別的典範。我們的遊戲,“一個流浪漢的命運”將遵循那些和其他優秀平臺遊戲的理念,同時也會加入我們自己的創意。這個最初遊戲的全部精靈都將是低解析度的。大多數概念應該能很好地移植到更高解析度的 2D 遊戲中。

華夏公益教科書