编辑推荐
网络昵称“浅墨”,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游戏编程之从零开始》不仅是一本书,更是一段旅程的起点。它将激发你对游戏开发的热情,为你打开通往数字娱乐世界的大门。无论你怀揣着怎样的游戏梦想,本书都将是你最忠实的伙伴和最坚实的基石。准备好,让我们一起踏上这场激动人心的逐梦之旅吧!