书籍作者:王杰 | ISBN:9787301335000 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:7149 |
创建日期:2023-05-18 | 发布日期:2023-05-18 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
本书将以一款开放世界类游戏的实践过程为主线,为读者呈现从零开始上线一款游戏的实践路线、游戏引擎Unity的开发模式,以及游戏开发的核心框架。
本书共分为3篇,第1篇是场景搭建篇,第2篇是脚本开发篇,第3篇是发布上线篇。第1篇包含第1章和第2章,主要介绍在Unity中如何创建一个游戏项目,如何搭建一款游戏的场景和界面。第2篇包含第3章到第5章,主要介绍一款游戏的核心模块,即游戏控制、角色动画和核心玩法,同时实践一款游戏《小猪奇奇》的完整开发流程。第3篇包含第6章到第8章,主要介绍游戏的移动端发布流程,同时对游戏进行测试与完善,最终把书中的游戏案例打造成一款符合上线标准的游戏。
王杰
9年游戏开发经验
曾任职蓝港游戏主程、乐视VR技术总监
2018年至今任职北京米唐科技有限公司CEO
目前一直专注于游戏开发和VR相关领域
平时在北京信息科技大学、北京信息职业技术学院、北京建筑大学等高校教授Unity相关课程
游戏大厂资深主程结合10年游戏开发经验和3年高校实际教学经验,钻研上百款手游案例,总结了自身从初学者成长为技术总监的成长之路,为Unity初学者倾心打造一条全流程实践路线,帮助初学者开发并上线属于自己的第一款开放世界类手游。附赠8节教学视频和案例工程源文件。
笔者很喜欢技术,可以说是非常热爱技术,于是选择了对技术要求很高的游戏行业。从业以来,笔者边工作边学习,不断地在实践中积累经验和知识,提升能力。为了精进自身的核心技术,在工作之余,笔者常研究不同类型的手游项目,这着实让笔者受益匪浅。久而久之,笔者深切地体会到了各类游戏的精妙之处。同时,不同类型的游戏之间总是存在一种共同的规律,这个发现让笔者欣喜若狂。
在欣喜之余,笔者非常希望能够把各类游戏的精妙之处以及存在于它们之间的共同规律分享给同样热爱技术的朋友们,这是本书的由来之一。
在研究了几十款游戏的核心技术之后,笔者发现了另一个问题:在学习一款游戏的技术时,手边总是缺少一本关于游戏实践类的书籍——能够依据正确而具体的路线厘清一款游戏的脉络,从而深入地实践一款游戏。想拥有这类书籍的想法一直萦绕在笔者的心底, 对于想要从零开始研究一款游戏的朋友们而言,他们对这类书籍的渴望一定和笔者一样迫切,这是本书的由来之二。
于是笔者萌生了编写本书的想法,研究了几十款游戏的实践经验,希望通过本书把它们归结为一个通用的实践规律,让大家少走弯路,在实践各类游戏的过程中不断成长。
手机游戏作为大众娱乐的重要途径,行业内聚集了大量的人才资源。使用Unity的开发者约占手游开发人群的42%,这充分说明了游戏引擎Unity的成功。为了成为一名专业的Unity手游开发者,很多人会观看大量的教学视频,甚至盲目地报各种学习班,他们迫切地想通过各种方式加入手游开发者的队伍。笔者希望通过本书提供的正确的方法论帮助大家正确地学习手游开发知识,成为一名真正的手游开发者,切身地感受到手游开发的脉搏所在!
“前路荆棘漫漫,岁月静好如初”是笔者很喜欢的一句话,也是一名手游开发者应该一直保持的心态。从做Vega Prime军事仿真项目,到在蓝港游戏开发Unity手机游戏,再到任职乐视VR(虚拟现实)的技术总监,笔者几乎接触了基于Unity 开发的所有应用形态, 比如VR、AR(增强现实)、游戏,甚至是时下流行的元宇宙。
笔者是从2013年的第一份工作开始接触Unity的,到2017年,已经是乐视VR的技术负责人了。笔者用了短短的4年时间,完成了技术工作的一个大循环,身边的朋友们经常说笔者是“开挂”了。事实上,学习绝对不是一蹴而就的事情。在这4年的学习过程中,从一个零基础的“菜鸟”到一个大企业的技术总监,笔者学会了慢慢学习,也学会了实践学习。实践学习是本书采用并且推崇的学习方法,俗话说“熟能生巧”,只要多多实践,相信大家一定能不断地成长,也一定能掌握任何一门技术。
从工作开始,笔者便时常在北京各大高校讲授与Unity相关的课程,也在知乎分享了一些学习心得。在这段分享的时光里,笔者结识了许许多多热爱游戏的朋友,也遇到了很多对Unity开发感兴趣的人。有些朋友经常问笔者是否有一种能让零基础的初学者快速精通Unity的学习方法,还有些朋友觉得游戏开发是一件遥不可及的事情,精通Unity一定需要很多年的历练才行,这跟笔者对于手游开发的感受不同。笔者认为,任何技术都可以通过实践来快速习得,手游开发也不例外。
本书的出发点和解决的痛点
笔者希望通过讲解一个真实的游戏案例的实践过程,能够让读者制作出一款真正的手机游戏,而且是一款资深游戏开发者才能搞定的开放世界类手游,以此来打破大家对手游开发的畏难心理。大家熟悉的游戏《原神》就是一款开放世界类手游,可以想象一下,实践完本书的内容,你将成为一个独立的手游开发者,并且能完整地开发出一款类似《原神》的开放世界类手游,这岂不是一件大好事?
言归正传,游戏公司开发一款开放世界类手游通常需要有一个几十人的制作团队,而这种现象往往会给初学者,甚至中级开发者一个错误的引导,让他们觉得开放世界类手游的开发很难,甚至产生畏学心理。想成为一名资深的游戏开发者到底要经过多少道门槛?一个初学者什么时候才能成为一个主程(即主要的技术开发程序员)呢?
事实上,大多数程序员需要三到五年的实践学习才能成为一个主程,才有机会接触、开发、搭建一款游戏的核心框架,这导致很多程序员根本没有机会学习到一款游戏最重要的部分,即核心框架。没有机会承担游戏的核心框架的开发工作,又怎么可能成长为一名资深的手游开发者呢?
通常,一名程序员的职业生涯中大部分的时间都花费在打磨普通的功能模块上,而没有足够的时间去认真地打磨自身的硬核能力。举个例子,如果你刚开始做的是游戏的背包系统,那么在之后的若干款游戏的制作中,公司都会让你负责做背包系统,你的工作就是做更多的普通功能模块。当然,有一部分核心主程是公司重点培养的技术骨干,只有这部分主程才有机会不断地打磨自身的硬核能力,这也是大多数程序员喜欢称自己是“搬砖工”的主要原因。
上述困难正是本书要回答并解决的问题。如果读者朋友们能够认真地跟随本书一步一步地完成实践,那么你们也将和游戏公司里的核心主程,甚至技术总监一样,具备游戏开发的硬核能力!
说到这里,大家会觉得,原来这是写给初级程序员的一本书啊,实际上绝非如此。笔者希望每一个与手游制作相关的人员在看完本书之后都能有所收获,所以本书以真实的商业化项目来做实践案例。只有真实的项目才能给初学者建立一个正确的手游开发观,才能给中级开发者指明一条深入学习硬核技术的途径,才能扩展资深游戏开发者的技术视野。
倘若你不是一名程序员,而是一名游戏建模人员,或是一名游戏策划人员,又或是一名游戏制作人,如果认真地阅读本书,你将走进一名游戏开发者的技术世界,体会真正的技术魅力。哪怕你只是一个纯粹的游戏爱好者,如果静下心来阅读本书,也将拥有一个全新的视角,去正确地看待游戏、游戏行业以及游戏人,并且能塑造一个崭新的游戏观。
对读者的建议
1.初学者
本书是零基础入门的极佳实践书籍,以一种梯度化的难易程度,实践一款简单却很高级的游戏。哪怕你是一名零基础的初学者,只要认真地实践本书的游戏案例,也一定能够成功地上线一款手机游戏。这不是一本传统的理论书籍,书中将只讲解一些C#语言和Unity的常用知识,主要梳理的是实践过程中涉及的知识点,以保证读者能够理解、学会并使用这些知识。本书是一款手游开发的全流程实践教程,这一点决定了本书将非常适合初学者。笔者对初学者学习本书的唯一要求是,慢慢实践,多多交流!
2.初中级程序员
如果你是一位初中级程序员,正在参与开发一款游戏的功能模块,并且不想一直局限于游戏开发的某一个环节,那么跟着本书一起实践吧!相信有一定基础的你,一定可以通过认真地实践本书的内容来搭建起一款手机游戏的核心框架。此外,你将对自身当前的技术状态有一个非常清晰的认识。最重要的是,本书能明确地告诉你,一个主程在一款游戏的开发工作中应该负责实现哪些功能,以及这些功能是如何实现的。
3.游戏主程
如果你是一个游戏主程,那么本书的最大魅力在于,实践本书的内容能检验你当前的硬核能力,让你可以查漏补缺,有针对性地学习缺乏的知识,补齐短板。另外,倘若你只是擅长开发某一种类型的游戏,那么一定要阅读本书,本书将极大地扩展你的技术视野,拓宽你的技术之路。
在工作中,你是否感觉到技术总监的技术视野很宽,甚至当公司需要设计一个多元化的游戏框架时,一个合格的技术总监也一定能随时随地设计一个,这是因为他们会积极主动地研究各种类型的游戏,不放过每一次实践新技术的机会。所以,大家一定要认真地阅读本书,一步一步地实践下去,通过对比不同类型的游戏技术,找到一把贯通技术之路的钥匙。
4.游戏相关人员
如果你是美术人员、策划人员或制作人,本书将带你走进程序员的技术世界。无论对团队合作还是团队搭建,本书都是你与程序员沟通合作的桥梁。如果你是一名手游爱好者,本书的最大魅力在于,你将进入一个陌生而奇妙的游戏开发世界。
第1篇 场景搭建篇
第1章 场景搭建
1.1 创建工程
1.1.1 创建目录
1.1.2 设置参数
1.1.3 Unity的界面布局
1.2 创建场景
1.2.1 创建物体
1.2.2 关联脚本
1.3 美化游戏
1.3.1 丰富场景
1.3.2 增加计分功能
1.3.3 试运行
1.4 Beta版本
1.4.1 调整界面
1.4.2 捕捉玩法
1.4.3 关联物体
1.4.4 大功告成
第2章 UI界面
2.1 基础UI界面
2.1.1 登录界面
2.1.2 捕捉界面
2.2 功能UI框架
2.2.1 界面层次结构
2.2.2 核心代码的实现
2.2.3 辅助代码的实现
2.3 Alpha版本
2.3.1 试运行
2.3.2 大功告成
第2篇 脚本开发篇
第3章 游戏控制
3.1 固定3D视角
3.1.1 核心代码的实现
3.1.2 设置摄像机脚本
3.2 实现专业的角色移动
3.2.1 角色移动
3.2.2 角色朝向
3.2.3 动画切换
3.3 实现摇杆控制
3.3.1 添加摇杆界面
3.3.2 添加摇杆输入代码
3.3.3 脚本关联摇杆
3.4 完善游戏功能
3.4.1 添加新场景
3.4.2 摄像机优化
第4章 角色动画
4.1 主角动画
4.1.1 游戏升级
4.1.2 主角动画实现
4.2 敌人动画
4.2.1 有限状态机的简单实现
4.2.2 爬行的蜗牛
第5章 核心玩法
5.1 游戏流程
5.1.1 战斗逻辑
5.1.2 物品掉落
5.2 游戏主角
5.2.1 能力图鉴
5.2.2 背包逻辑
5.2.3 输入控制层
5.3 PC版本
5.3.1 发布PC版本
5.3.2 测试版本功能
第3篇 发布上线篇
第6章 发布移动版
6.1 发布移动端
6.1.1 测试版本功能
6.1.2 切换到安卓发布平台
6.1.3 发布设置
6.1.4 发布流程
6.1.5 发布完成
6.2 游戏部署
6.2.1 选择安卓手机
6.2.2 安装游戏
6.2.3 运行游戏
第7章 测试与完善
7.1 完善游戏功能
7.1.1 界面最终版
7.1.2 金币系统逻辑最终版
7.2 资源优化——清理冗余资源
7.2.1 清理冗余图片
7.2.2 清理冗余模型
7.2.3 清理冗余脚本和冗余代码
第8章 游戏上线
8.1 游戏上架
8.1.1 注册账号
8.1.2 创建游戏
8.1.3 完善资料
8.2 大功告成