編輯推薦
網絡昵稱“淺墨”,90後,熱愛遊戲編程的傢夥,有點倔的僞IT文藝青年。因為在CSDN上開設《Visual C++遊戲開發》博客專欄而被網友熟知。本科畢業於烏剋蘭國立航空航天大學和南京航空航天大學,目前在南京航空航天大學讀研究生。
“願盡以綿薄之力,薪火相傳遊戲開發的信仰與夢想,復興國産單機遊戲。”
CSDN明星博主“淺墨”誠心傾力之作。
引導開創正能量&文藝IT技術圖書新風潮。
關於遊戲編程的入門訣竅,你要的答案就在這裏。
復興國産遊戲,實現遊戲大作開發夢想,從這本書開始。
內容簡介
端遊開發是目前熱的職業,報酬豐厚且能實現自己的遊戲夢想。作者曆經一年時間,編寫瞭這本詳細講解Windows遊戲開發的入門圖書。
《逐夢旅程:Windows遊戲編程之從零開始》由淺入深,從Windows遊戲開發的基本概念開始講解,寓教於樂,每個知識點都配有經典的遊戲源碼作為實例。讓讀者可以從零開始,邊玩邊學,熟練掌握Visual C++遊戲開發。
《逐夢旅程:Windows遊戲編程之從零開始》涵蓋瞭市場上新的DirectXll技術,使讀者在第一時間接觸新、前沿的遊戲開發技術,同時《逐夢旅程:Windows遊戲編程之從零開始》對目前遊戲市場裏熱門的幾大遊戲引擎都進行瞭深入淺齣的剖析和講解,讓讀者輕鬆邁入Windows遊戲開發的天堂。
《逐夢旅程:Windows遊戲編程之從零開始》適閤Windows遊戲開發的初學者閱讀,也適閤作為高等院校和培訓學校相關專業的教學參考書
內頁插圖
精彩書評
以前看遊戲編程的教材跟天書一樣,自己像是迷失航嚮的水手,淺墨大哥就像天賜的船長,像船長緻敬!一定要好好學習!
——網友jiuzoujian
文章簡單易懂,還用瞭不少比喻,很形象,應該花瞭不少心思。把復雜的問題轉化為簡單的語言,這就是所謂的“深入淺齣”,為編程的至高境界。
——網友nevermorewish
端遊開發是目前迴報豐厚的開發方嚮,年薪可達幾十萬。這本書為“小白”打開一扇實現遊戲開發夢想的大門。
——網友思想魚
目錄
序篇 逐夢·遊戲開發夢想的重量
第1章 高瞻遠矚——遊戲開發麵麵觀
1.1 逐夢——夢想讓我們不孤單
1.1.1 現在的努力,就是為瞭證明小時候吹過的牛
1.1.2 為夢想,為國産遊戲的未來,請把這本書讀下去
1.2 遊戲産業的黎明
1.3 遊戲産業的分類——六大遊戲市場
1.3.1 3A級遊戲開發領域
1.3.2 社交和休閑遊戲開發領域
1.3.3 移動遊戲開發領域
1.3.4 功能型遊戲開發領域
1.3.5 學術型遊戲開發領域
1.3.6 獨立型遊戲開發領域
1.4 遊戲平颱與遊戲開發編程語言的認知
1.5 對遊戲類型的認知
1.6 遊戲開發中圖形API的概念
1.7 遊戲編程學習路綫總結
1.8 章節小憩
第一篇 起航·夯實遊戲程序之根
第2章 開鋒你的絕世名刃——Visual Studio開發環境的安裝、配置
2.1 Visual Studio、VC++和C++的那些事兒
2.2 Visual Studio 2010的下載、安裝與配置
2.2.1 下載Visual Studio 2010
2.2.2 安裝Visual Studio 2010
2.2.3 初次配置Visual Studio 2010
2.2.4 Visual Studio 2010常用設置介紹
2.3 Visual Studio 2010使用指南
2.3.1 集成開發環境簡介
2.3.2 Visual Studio界麵概述
2.3.3 工具欄選項
2.4 百科全書——幫助文檔與MSDN
2.4.1 MSDN的安裝
2.4.2 離綫查看MSDN的方法
2.4.3 使用MSDN幫助文檔
2.5 Coding路上不孤單——強大的編程助手Visual Assistx
2.6 長徵第一步——第一個程序的創建與編寫
2.6.1 關於項目與解決方案
2.6.2 第一個程序的創建與編寫
2.6.3 Visual Studio文件類型分析
2.7 章節小憩
第3章 啓程-Windows編程基礎
3.1 高瞻遠矚-Windows編程體係與遊戲編程
3.2 理解兩個術語-API與SDK
3.2.1 何為API
3.2.2 什麼是SDK
3.3 Windows程序的“心髒”——WinMain函數
3.3.1 WinMain函數
3.3.2 MessageBox函數
3.3.3 PlaySound函數
3.3.4 示例程序Firstblood!
3.4 Windows程序的“外貌”——窗口
3.5 Windows資源的“身份證”——句柄
……
第二篇 初探·GDI 2D遊戲編程
第三篇 飛躍·DirectX遊戲編程基礎
第四篇 緻用·DirectX遊戲編程應用
第五篇 升華·緻我們的遊戲開發夢想
後記 總有天你將破蛹而齣
前言/序言
逐夢旅程:Windows遊戲編程之從零開始
《逐夢旅程:Windows遊戲編程之從零開始》是一本旨在引領讀者踏上遊戲開發奇幻之旅的實踐性指南。本書將帶你從最基礎的編程概念齣發,逐步深入到Windows平颱遊戲開發的各個核心環節,直至能夠獨立構思並實現一款屬於自己的小型遊戲。我們摒棄瞭晦澀難懂的理論堆砌,而是以大量生動、可執行的代碼示例和循序漸進的項目驅動,讓你在動手實踐中學習,在解決問題的過程中成長。 核心內容概述: 本書的結構設計遵循“由淺入深,循序漸進”的原則,確保即便是零編程基礎的讀者也能輕鬆上手。我們將首先建立堅實的編程基石,然後逐步引入遊戲開發所需的特定技術和概念。 第一部分:編程基礎與開發環境搭建 在正式進入遊戲編程的世界之前,紮實的編程基礎是必不可少的。本部分將為你打下堅實的根基: C++語言入門: 作為遊戲開發領域最常用、性能最優秀的語言之一,C++是本書的首選。我們將從變量、數據類型、運算符、控製結構(如if-else、for、while循環)等基礎知識講起,逐步深入到函數、數組、指針、引用等核心概念。我們會著重講解麵嚮對象編程(OOP)的思想,包括類、對象、繼承、多態和封裝,這些是構建復雜遊戲係統的關鍵。 Visual Studio開發環境: Visual Studio是Windows平颱強大的集成開發環境(IDE),本書將詳細介紹如何安裝和配置Visual Studio,以及如何使用其強大的調試工具、代碼編輯器和項目管理功能。我們將演示如何創建新的C++項目,如何編寫、編譯和運行你的第一個“Hello, World!”程序,以及如何利用Visual Studio的強大功能來提高開發效率。 基本算法與數據結構: 為瞭編寫齣高效的遊戲代碼,瞭解一些基本的算法(如排序、搜索)和數據結構(如鏈錶、隊列、棧)是必要的。本書不會深入到計算機科學的理論層麵,而是選擇與遊戲開發緊密相關的部分進行講解,讓你理解它們在遊戲中的應用場景。 第二部分:Windows API與圖形基礎 要製作圖形界麵的遊戲,你需要與操作係統進行交互。Windows API(應用程序接口)提供瞭這種能力。 Windows消息機製: 深入理解Windows的消息循環、消息隊列以及如何響應用戶輸入(鍵盤、鼠標)是Windows程序開發的核心。我們將學習如何處理各種消息,例如窗口創建、銷毀、繪製、用戶輸入等,並通過示例展示如何在遊戲中捕獲這些事件。 GDI(圖形設備接口)入門: GDI是Windows提供的基礎圖形繪製API,通過它可以實現簡單的圖形繪製,如綫條、矩形、圓形、文本以及位圖的顯示。本書將指導你如何使用GDI函數在窗口上繪製像素,繪製各種基本圖形,並加載和顯示圖片,為後續更復雜的圖形渲染打下基礎。 DirectX初步(概念與集成): 雖然GDI能實現基礎繪製,但對於現代遊戲的光影、3D效果來說遠遠不夠。本書將在概念層麵介紹DirectX,並演示如何將其初步集成到你的Windows應用程序中,為後續更高級的圖形編程做鋪墊。我們將側重於理解DirectX的目標和作用,以及它如何提供更強大的圖形渲染能力。 第三部分:2D遊戲核心開發 掌握瞭基礎圖形繪製能力後,我們就可以開始構建2D遊戲瞭。 遊戲循環(Game Loop): 遊戲循環是所有遊戲的骨架,它負責遊戲的不斷更新和渲染。我們將詳細講解遊戲循環的工作原理,包括輸入處理、遊戲邏輯更新、場景渲染等環節,並指導你如何構建一個穩定高效的遊戲循環。 精靈(Sprite)與動畫: 精靈是遊戲中可移動的圖像單元,例如角色、敵人、道具等。我們將學習如何加載和管理精靈紋理,如何實現精靈的移動、鏇轉和縮放。同時,我們還將學習如何通過幀動畫技術實現精靈的生動化,讓遊戲角色動起來。 碰撞檢測與響應: 遊戲的核心樂趣之一在於互動,而碰撞檢測是實現互動的關鍵。我們將介紹二維空間中常見的碰撞檢測算法,如AABB(軸對齊邊界框)碰撞檢測、圓形碰撞檢測,並講解如何根據碰撞結果觸發相應的遊戲邏輯,例如角色受到傷害、道具被拾取等。 遊戲場景與層級管理: 隨著遊戲復雜度的增加,場景管理變得尤為重要。我們將學習如何組織遊戲中的不同場景(如主菜單、遊戲關卡、結束界麵),以及如何實現場景之間的切換。同時,還會介紹層級管理的概念,以便更好地組織和管理遊戲中的各種元素。 音頻集成: 聲音是提升遊戲沉浸感的關鍵元素。我們將學習如何加載和播放背景音樂(BGM)和音效(SFX),並介紹一些基本的音頻處理概念,如音量控製、聲道管理等。 第四部分:高級2D技術與進階 在掌握瞭2D遊戲開發的基礎後,我們將進一步探索一些更高級的技術,讓你的遊戲更具特色。 Tilemap(瓦片地圖)的應用: 對於很多類型的2D遊戲,特彆是RPG和策略遊戲,瓦片地圖是一種高效且靈活的場景構建方式。我們將學習如何使用瓦片編輯器創建地圖,如何在遊戲中加載和渲染瓦片地圖,以及如何處理地圖上的碰撞和交互。 粒子係統(Particle System): 粒子係統可以用來創建爆炸、火焰、煙霧、魔法效果等動態視覺元素,極大地增強遊戲的錶現力。我們將學習如何構建和管理粒子係統,包括粒子的生成、生命周期、運動、外觀等屬性的控製。 簡單的物理模擬(可選): 在某些遊戲中,簡單的物理模擬可以帶來更真實的體驗。我們將介紹一些基本的物理概念,如重力、速度、加速度,並演示如何在遊戲中實現簡單的物理效果,例如拋物綫運動。 遊戲AI基礎(簡單行為): 即使是簡單的AI也能讓遊戲世界更加生動。我們將介紹一些基礎的AI行為,如巡邏、追擊、躲避等,並指導你如何為遊戲中的NPC(非玩傢角色)實現這些行為。 第五部分:項目實戰與優化 理論學習終究需要通過實踐來鞏固。本部分將引導你完成一個完整的小型2D遊戲項目,將前麵學到的知識融會貫通。 完整項目開發: 我們將以一個具體的遊戲類型為例(例如一個簡單的平颱跳躍遊戲或太空射擊遊戲),從頭到尾演示項目的開發過程。這包括遊戲設計、代碼架構、資源整閤、功能實現等各個環節。 代碼重構與優化: 隨著項目的推進,代碼的組織和效率會變得越來越重要。我們將學習如何進行代碼重構,提高代碼的可讀性和可維護性,並介紹一些基本的性能優化技巧,確保遊戲流暢運行。 調試與測試: 發現並修復Bug是開發過程中不可避免的一部分。我們將強調調試技巧的重要性,並指導你如何進行有效的遊戲測試,確保遊戲的穩定性和用戶體驗。 學習資源與社區: 遊戲開發是一個持續學習的過程。本書將為你提供一些寶貴的學習資源,包括官方文檔、在綫教程、開發社區等,幫助你在未來的開發道路上不斷進步。 本書的特點: 實踐導嚮: 每一章都配有大量可運行的代碼示例,讓你邊學邊練。 零基礎友好: 從最基礎的C++語法講起,無需任何編程經驗。 項目驅動: 通過完成小型項目來鞏固和應用所學知識。 貼近實際: 講解的內容都是遊戲開發中最實用、最核心的技術。 循序漸進: 難度逐漸遞增,層層深入,讓你逐步建立自信。 易於理解: 用通俗易懂的語言解釋復雜的概念,配以清晰的圖示。 《逐夢旅程:Windows遊戲編程之從零開始》不僅是一本書,更是一段旅程的起點。它將激發你對遊戲開發的熱情,為你打開通往數字娛樂世界的大門。無論你懷揣著怎樣的遊戲夢想,本書都將是你最忠實的夥伴和最堅實的基石。準備好,讓我們一起踏上這場激動人心的逐夢之旅吧!