当前位置: 首页 > news >正文

【第87期】程序员怎样上元宇宙的车?

7b9c645e7800ae1a70292f72eb3f2ff1.gif

导读:游戏程序员的快速学习之路,从这4步开始。

作者:罗培羽

来源:大数据DT(ID:hzdashuju)

不管你是否看好,元宇宙在2021年确实是火了。在这个宏大的概念中,目前最接近落地成为现实的,就是游戏。

游戏并不是什么新鲜事物,从人类文明诞生之初,游戏就已经存在。即便是程序员编写的电子游戏,也有好几十年的历史了。1960年代,C语言之父丹尼斯·里奇和同事肯·汤普逊为了能在一台没有操作系统的新计算机上继续玩游戏,特意为这台计算机开发了Unix系统。

如今元宇宙为游戏提供了全新的平台,那么作为程序员,尤其是游戏行业相关的程序员,怎样迅速赶上元宇宙这趟车,找到一条高效学习的路径?笔者制作了“游戏程序员的快速学习之路”,并配上相关书籍,供你参考。游戏程序员需要学习的内容很多,既有计算机基础内容,又有游戏领域特定的。

4f5d2bfbf1b7746871cfc80e701bae52.png

▲快速之路

随着行业发展,人才需求在发生变化。其一,行业高速变革,市场瞬息万变,这就要求程序员能够有更强的适应性和全面性;而随着行业成熟,分工必将越发细致,这就要求程序员能够有自己的强项。总而言之,“有长项、无短板”的T型人才适合当代职场所需,“游戏程序员的快速学习之路”也是按照T型人才的发展路线来制作。

e1f9fa0ac4400052ffcd4b2051acb1be.png

第1步:扎实基础

选择了计算机专业最重要的4门课程,这4门课程是计算机类研究生的必考科目,可见它的重要性。专业同学可以从基础学起,非专业同学也可以从第二步学起,但后续需要花时间补足基础。

dc53b1ee7a6a83ab393f2bbef8642bfd.png

深入理解计算机系统

(原书第3版)

作者:兰德尔 E. 布莱恩特 大卫 R. 奥哈拉伦

推荐语:豆瓣评分9.8硬核神书!将所有计算机系统相关知识融会贯通,助你成为凤毛麟角的高级程序员。本书是一本将计算机软件和硬件理论结合讲述的经典教程,内容覆盖计算机导论、体系结构和处理器设计等多门课程。卡内基-梅隆大学、北京大学、上海交大等国内外众多知名高校选用指定教材。本书的最大优点是为程序员描述计算机系统的实现细节,通过描述程序是如何映射到系统上,以及程序是如何执行的,使读者更好地理解程序的行为,以及造成效率低下的原因。

e39ab9006054cd7d79a1997be02ac149.png

计算机组成原理

作者:Alan Clements

推荐语:专业教科书,介绍计算机体系结构。

1db38b07e83573d5eb6aa7d27da02b85.png

现代操作系统

作者:Andrew S. Tanenbaum, Herbert Bos

推荐语:操作系统领域的经典教材,包括进程与线程、内存管理、文件系统、输入/输出、死锁、虚拟化等等。

更多相关图书推荐:

  • 《数据结构与算法分析》 

  • 作者:Mark Allen Weiss

  • 国外数据结构与算法分析方面的标准教材,介绍了数据结构以及算法分析。

  • 《计算机网络:自顶向下方法》

  • 作者:James,F.Kurose,Keith,W.Ross

  • 经典的计算机网络教材,讲授计算机网络的原理及其协议。

第2步:全面入门

跟着游戏公司带新人的节奏,亲手制作一款游戏出来。通过这一步能够较为全面的接触游戏程序涉及的多项内容,而且将理论和实践结合起来。

a93ecaa86d65d41374f18b969038a0fe.png

百万在线:大型游戏服务端开发

作者:罗培羽

推荐语:基于C++与Lua语言开发游戏服务端的入门图书,内容涵盖Skynet引擎、C++底层开发、服务端架构设计等多个方面,全面展现网络游戏核心技术。

81a58c92d46d38b1f35f1e5c53fdd016.png

Unity3D网络游戏实战

作者:罗培羽

推荐语:包含完整的多人对战游戏案例,揭秘登录注册、游戏大厅、战斗系统等模块的实现细节。

第3步:专项坚攻

选择一两个感兴趣的点,较为深入的学习。在某个专题有深入的研究,将会增加自己的职业竞争力。对某个专题较深的理解,也能够补充在“全面入门”阶段一些尚未很好理解的内容,提高自身上限。

6500c47a4a99617f728cfa9b252c72ae.png

Unity人工智能实战

作者:Jorge Palacios

推荐语:本书涵盖了物体的智能移动、智能寻路、决策制定、地形生成、智能战术,模拟人的听觉、视觉、嗅觉的感知,棋类游戏的智能对手、机器学习、智能生成内容等技术。

1e7853167df4b6fbbe75083829d4c3f6.png

Unity AR/VR

作者:王寒 张义红 王少笛

推荐语:全面的Unity3D技能,让小白读者也能轻松上手AR/VR开发。

e91c0e4083c305a8c1b27c003f37ebcb.png

Cocos Creator游戏开发实战

作者:满硕泉

推荐语:Cocos引擎创始人和主程等官方代表高度评价,资深游戏开发专家撰写,从原理、开发方法、性能优化多角度讲解。游戏设计师、游戏开发者的游戏感体验设计指南。

更多相关图书推荐:

  • 《Unix/Linux系统编程》

  • 作者:K.C. Wang

  • 提供计算机系统软件知识和高级编程技能,使读者能够与操作系统内核交互,有效利用系统资源,开发应用软件。

  • 《数据库系统内幕》 

  • 作者:Alex Petrov

  • 阐述现代数据库和存储引擎背后的内部概念,深入介绍数据存储、数据构建块、分布式系统和数据集群,指出现代数据库之间最重要的区别在于决定存储结构和数据分布的子系统。

  • 《多人在线游戏架构实战:基于C++的分布式游戏编程》

  • 作者:彭放

  • 讲述大型多人在线游戏开发的框架与编程实战,最终得到一个完整的、基于ECS模式的、高效的分布式服务端框架。

  • 《TCP/IP详解 卷1:协议》

  • 作者:Kevin R. Fall

  • 讲述TCP/IP协议,结合大量实例讲述TCP/IP协议族的定义原因,以及在各种不同的操作系统中的应用及工作方式。

  • 《OpenGL编程指南》

  • 作者:John M.Kessenich,Grahaam Sellers,Dave Shreiner

  • OpenGL官方权威指南,素有“OpenGL红宝书”美誉。

  • 《Unity3D高级编程 主程手记》

  • 作者:陆泽西

  • 层层拆解Unity3D游戏客户端架构,深入剖析各个模块技术方案,详细讲解游戏客户端的渲染原理。

  • 《自己动手实现Lua:虚拟机、编译器和标准库》

  • 作者:张秀宏

  • 面向Lua程序员和脚本语言爱好者的语言自制指南和实战宝典,阐述Lua语言的核心语法和实现原理,深入探讨Lua虚拟机、编译器和标准库,并给出了实际可以编译执行的代码。

第4步:升华

在对某些专题有深入研究之后,再反过来看基础,会得到不一样的收获。这时候能够站在更高的角度看待问题,也能够更客观的把握技术方案的优劣之分。

b593b7bbf49a5be0ebe9c34f5ebb407b.png

凤凰架构:构建可靠的大型分布式系统

作者:周志明

推荐语:从架构视角讲解如何构建大型分布式系统的著作。

3e25fa6e7f1232f3e4576c541bccfbf8.png

IT项目管理

(原书第9版)

作者:Kathy Schwalbe

推荐语:阐释与IT项目管理相关的概念、技巧、工具、技术和实践,是一本涵盖10大管理知识领域(项目整合、范围、进度、成本、质量、资源、沟通、风险、采购和干系人管理)和5个过程组(启动、计划、执行、监控和收尾)的教科书。

更多相关图书推荐:

  • 《垃圾回收算法手册:自动内存管理的艺术》

  • 作者:Richard Jones,Eliot Moss,Antony Hosking

  • 探讨高性能垃圾回收器的设计者与实现,在简单的传统回收算法之外,本书还涵盖了并行垃圾回收、增量式垃圾回收、并发垃圾回收以及实时垃圾回收。

  • 《C++代码整洁之道:C++17可持续软件开发模式实践》

  • 作者:Stephan Roth

  • 帮助C++程序员提高技能水平,举例说明如何编写易于理解的、灵活的、可维护的和高效的C++代码。

小结

2017年,miloyip发布了《A Study Path for Game Programmer》(游戏程序员的学习之路,https://github.com/miloyip/game-programmer),当中列举220本游戏开发类书籍。

不过,书籍太多反倒难以挑选,于是筹划制作“快速学习之路”,使得有读完所列书籍的可行性。

807df05a8adc28f793f346e270a0f7ea.png

2022华章科技年度新知发布

7b28fb1a26952cfbe9c3a4f3b02720c0.png

欢迎扫码预约

d1a94a1b87112a674d279f3ca9162c46.png

第086期赠书活动中奖名单公布

96f6ec8a13f3856dbad915b8bccda733.png

9f25d273b81ec2e0ebf6b878bafd0b52.png

赠书规则

送书规则:感谢大家对华章图书的信任与支持。在留言区谈谈你想要哪本书及理由。小编会在留言池随机捞2条锦鲤,分别包邮送出1本正版书籍。本推文中的图书可任选一本。

截止日期:1月14日下午17:00

特别注意

1、请按规则结合自身工作与学习的经历留言请规避百度式名词解释式言论,走心留言优先。

2、阅读最多、分享最多者优先。参与活跃者优先。同一人每月最多获赠一本书。

特别说明:本活动无任何内幕,最终解释权归华章公司所有。

198c2c7f724e5b1e95e2de614a3219b5.gif

29b36ef9a07069514a3b703dcb2149bf.png

扫码关注【华章计算机】视频号

每天来听华章哥讲书

062bff2937deda6b229821b0fb7bb69d.gif

更多精彩回顾

书讯 | 1月书讯(下)| 2022年的第一本书

书讯 | 1月书讯(上)| 2022年的第一本书

资讯 | 重磅!达摩院发布2022十大科技趋势

书单 | 6本书,读懂2022年最火的边缘计算

干货 | Flink1.14.2发布,除了log4j漏洞你还需要关注什么?

收藏 | Docker冲顶技术热词,微服务应用热度不减,中国云原生开发者真实现状如何?

上新 | 【新书速递】金融领域可解释机器学习模型与实践

ef0ba52f903a3990a5f2fffeb832e876.gif

相关文章:

  • 什么是贝叶斯定理?朴素贝叶斯有多“朴素”?终于有人讲明白了
  • 数据中台怎么选型?终于有人讲明白了
  • 一幅真实的产品世界全景图,产品小白向上突破必看!
  • 自主IT行业生态需要会造计算机的人才
  • AI正在模仿人类大脑!2021年10篇顶会论文:大脑也在「无监督」学习
  • 终于有人把“嵌入式人工智能”讲明白了
  • 数据分析的 5 种归纳方法
  • 四位RISC先驱获「工程学界诺贝尔奖」,图灵奖得主David Patterson、John Hennessy获奖...
  • 【第88期】这10本硬核技术书,带你读懂5G、物联网和边缘计算,玩转元宇宙
  • 抖音的推荐技术这么强,为什么还有人觉得推荐的一点都不准呢?
  • 【新书速递】如何高效学习存储系统?一本书全都讲明白
  • 学会这10个设计原则,离架构师又进了一步!!!
  • Electron开发者该如何提升自己的技能水平
  • 终于有人把ROS机器人操作系统讲明白了
  • 一文看懂——序列数据的生成:GAN的方法
  • 【347天】每日项目总结系列085(2018.01.18)
  • 【391天】每日项目总结系列128(2018.03.03)
  • EOS是什么
  • ES6核心特性
  • Idea+maven+scala构建包并在spark on yarn 运行
  • Invalidate和postInvalidate的区别
  • Java小白进阶笔记(3)-初级面向对象
  • rabbitmq延迟消息示例
  • Spark RDD学习: aggregate函数
  • TCP拥塞控制
  • 订阅Forge Viewer所有的事件
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 力扣(LeetCode)357
  • 前嗅ForeSpider中数据浏览界面介绍
  • 区块链分支循环
  • 如何设计一个微型分布式架构?
  • 一些css基础学习笔记
  • 优秀架构师必须掌握的架构思维
  • 怎样选择前端框架
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 回归生活:清理微信公众号
  • ​Spring Boot 分片上传文件
  • ​比特币大跌的 2 个原因
  • ​如何在iOS手机上查看应用日志
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • (bean配置类的注解开发)学习Spring的第十三天
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (C++17) std算法之执行策略 execution
  • (poj1.3.2)1791(构造法模拟)
  • (TOJ2804)Even? Odd?
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (十六)Flask之蓝图
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • ******之网络***——物理***
  • ****Linux下Mysql的安装和配置
  • .bat批处理(六):替换字符串中匹配的子串
  • .net core 依赖注入的基本用发
  • .Net Web项目创建比较不错的参考文章
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .net 反编译_.net反编译的相关问题