————— —————


这个回答主要是关于之前收集的部分相关线索的一个梳理,落点关联在混乱的环境中找到个人路径,以及加深对自己的了解并完成自我确认等方面。希望能对初阶部分覆盖到的区间的学习和理解起到助益


备注:回答前半部分是关于3D引擎编程的线索,中间部分则引入了一些或许能用来帮助理解和思考Gameplay Programmer与Engine Programmer 之间联系与差异的资料。
后部分则整合了些许关于游戏设计和独立游戏相关的线索,附带插入部分时间管理和学习理念相关的索引为辅。
大体结构则根据题目中描述的情况(非本专业 自学编程 游戏程序员)来按照可能的认识的顺序梳理。
所以总结来说,内容实际上虽贴靠“游戏程序员”的关键词,但并不全部围绕这部分。
前半部分内容相对好找到(可以百度关键词[游戏开发/游戏编程]试试看)
后半部分则算是内容重点?
当然,该回答也会随个人的学习进展不定期进行补充。
最后关于评论区中各位前辈留下的好建议也不要错过~

–2013 11 29

–2015:原提问标题前不久被改动了,但原理应该未变。

—————————————————–游戏编程?——————————————————–

游戏程序之类的职位关系以前一直好奇也不是很清楚,试图正视开始了调查,或许可先从了解软件工程/通用编程 (General Programming)和游戏开发的关系开始。

1.这个角度出发, 摘自Joel说软件 的这篇叫做《JOEL给计算机系大学生的建议》的文章,以及网络上关于软件工程/通用编程专业分类方面的一系列网友的发问皆可作为开头不错的索引。
此外,关于一些核心和共通的建议/信息,知乎上的一些回答值得留意,
有哪些适合程序员读的人文书籍? 新手关于如何看编程经典书的一些疑惑? – 苏椰的回答

2.在这个理解上,如果以 [游戏编程] / [游戏开发] 为关键词继续搜索
大部分通过标题可以看出内容侧重,比如可能会遇到一些关键词关于3d游戏引擎编程的文章
读完基本能形成一个结构化的认识

关于3D游戏引擎编程相关的技术书籍,上张实感参考图


图片来自于上述方式可搜索到的一篇关于3D游戏引擎编程 普及度较广的文章
《游戏程序员养成计划 (更新2013.3.19)》作者的书架照片
文章下面的回复也有很多内容可以作为对文章的补充比如:
#100楼 2012-05-22 16:11 lhy_ps 的回复有提及一些其他的相关博客(博客:ccancn,逍遥剑客,bugrunner, Milo Yip(0 bug事件))….

至此,如果你将若干篇类似文章进行一下对比,首先可以发现很多好书基本上是大家公认的,但同时,也会发现 不同人对于一些书籍的建议或多或少是不同的。

比如就以《windows游戏编程大师技巧》这两本书的意见作为举例 :


能够看出不同人的偏重也并不相同。

引入这样的一个对比的原因在于提醒:
[ 不同的人会因自身的学习轨迹和偏好的差异而在某些具体问题上给出各有侧重的建议,有时候甚至会出入很大,这时候就需要自己去思考和分析,同时也需要进一步集思广益,多参考不同角度的建议。 ]

所以如果对这篇文章进行一下补充,豆瓣上的这篇书评 我还是愿意尊它为龙书 (评论: DirectX 9.0 3D游戏开发编程基础),或许可推荐,作为类似主题从另一个角度的思考补充。

—————————————————-关于书目—————————————————————–

3.关于书目,上文提过的那类文章中通常都会有推荐。
话说其中有一些是探讨文化和思路的或许可以提前了解一下,以便于对与游戏程序员主题有关的方面进行认知补充

游戏之旅 云风著

这本书的定位或许可以参考这个书评:不是游戏编程教程书,而是闲时技术读物 (评论: 游戏之旅)

另外,你可能会听说过或者玩过诸如毁灭战士(DOOM) 雷神之锤(QUAKE) 德军总部(Wolfenstein) 这些游戏, 或许还在相关的游戏杂志上经常看到这些游戏被提起,若是有兴趣可以去拓展了解下这些游戏背后的故事,还有其背后作为游戏史上比较有传奇色彩的两个人

约翰 卡马克 (上)和 约翰 罗梅洛(下)….



记录了他们故事的书是这本 《DOOM启世录 》

这本书应该属于传记书,和上面那本相似又不太一样。

它大概能够让你了解游戏史中的一段时期的一段特殊的故事,了解两个行业名人曾经的飞扬青春和这个行业的一段发展历史,据说这本书激励了很多人进入游戏行业。

进一步拓展,《DOOM启世录》前部分曾有记载到早年约翰卡马克曾通过一本书受到了关于[黑客伦理]的影响,这本书就是《黑客:计算机革命的英雄》

book.douban.com/subject

其中诠释了什么是真正的黑客精神的意义、计算机对人类进步的意义、一种文化是如何形成的,以及由此可以了解到计算机革命的过程、计算机游戏的衍生和发展、以及第三代黑客(也被称为游戏黑客)

感觉似乎能作为对DOOM启世录中所没有描述到的更早期的时代的一个补充

———————————————–编程语言/C++——————————————————————

5.另一方面,上面资料基本都有提到C++,题主的题目也有谈到在学习C++

关于C++的学习:

看过的学习介绍性质的资料里,感觉可以推荐阅读刘未鹏(Pongba)博客中的部分内容,如这两篇:

学习C++:实践者的方法(Beta1) & & 你应当如何学习C++(以及编程)(rev#1)

如果对更多的相关博客感兴趣,也可以留意其文章下的回复、友情链接(链接了很多价值博客)等等…..顺藤摸瓜可以了解到更多其他的相似的个人博客。
如他常提到的并推荐的g9(g9yoayun) 孟岩(myan)…..(之前提到的云风 也有出现在他的友情链接里)

这两篇文章或许可以用以作为对行业情况的一个间接了解(其中第二篇里还包括了云风给出的建议) ,或许都是属于能侧面反映出思维逻辑的那种文章:

什么是你的不可替代性和核心竞争力什么是你的不可替代性和核心竞争力 怎样花两年时间去面试一个人怎样花两年时间去面试一个人

另外他还写过一篇文章 我在南大的七年 也可以作为一种对学习状态和探索精神的参考吧

如果对获得和判断信息以及利用信息平台存在一些困扰,最后可以推荐一篇 阳志平的文章,可以提供很多其他相关思路和线索:

不上大学,你可以学些什么? yangzhiping.com/psy/ope

—————————————————————————————————————————————-

最后如果回到学习编程本身,谈到该如何学习它,该注意什么以及怀着怎样的心态,觉得这篇文章《业余爱好者如何学习编程》里对一些迷思的分析挺有价值(警惕学习本身 专注于创造 保持初心 慎重被标签化…..)或许可以推荐阅读

若对类似上文提及的刘未鹏的带有激励性质的经历故事很感兴趣的话,网络上也还有一些其他领域的类似记录关于经历的文章可以搜索

=

————————————-游戏程序员?—————————————————–

=


上面的资料的概览,大概对游戏编程(或许上面说的更偏向3D引擎方面 )营造出一个范围性和概念性的感觉。

诸如上述资料也直观的引出了一个迷思:上面那么多东西是否要都学?那么多书是否全要看完?游戏程序员到底是干嘛的?

所以这里有引出些关于游戏程序员分工的资料:

Milo Yip博客的文章《混合语言的游戏开发系统架构》中的一段话:

一个游戏通常会由不同的人员制作,编程人员大概可以分为做Technology、Toolset、Gameplay等领域。Technology 指做游戏引擎核心部份,或客制化第三方的游戏引擎。Toolset 包括面向不同使用者的软件工具,从Content pipeline (如汇入汇出档案)、Asset Management、Level Editor及其他编辑工具等。而Gameplay 是指游戏内容中的行为部份,可以分为游戏的核心行为(如人物控制、战斗系统),及为个别人物及关卡编写的行为(如NPC对话、AI、任务、场境中的trigger等等)。

关于详细分工的资料,直观感觉大多以Technology为主(包括文章开头几段引入的资料)
而关于Gameplay的资料似乎较少,但并非不重要,这方面可以参考回答:
游戏逻辑程序员的成长出路? 游戏行业的程序员一般有哪几类分工?

也有很多关于探讨 编程开发书籍的反思 和 游戏引擎程序员面对的技术复杂性 等主题的文章也会有涉及分析到一些上述片段中提及的问题,也会谈到一些现象,应该可以帮助完善思考,有启发性

如文章《从零开始学游戏编程——可视化编程游戏开发工具学习指南》
以及逍遥剑客的《游戏开发那些难念的经》 也谈到了一些现象和误区,或许值得留意?

总而言之,关于游戏行业的整体认识和具体分工的内容,一些讲游戏引擎使用和游戏设计的书籍一般也都会有较系统的介绍,大同小异…
学校的图书馆里应该能很轻松的找到很多本去对比的进行阅读,这方面书籍在知乎上一些关于游戏设计的回答中已有比较全面的总结,也有很多相关资料整理。

以下是知乎上一些之前自己查找时,印象里和该话题有关的感觉蛮不错的问答拓展:

-1 . 有没有国产的游戏引擎?为什么很多游戏公司都是去购买的引擎,开发一个引擎和开发游戏比起来难了多少呢?

-2.Unity、Cocos2d-x、UDK 等手机游戏开发引擎分别有什么特性,适合开发哪些类型的游戏?

-3.游戏行业对社会的价值在哪?

-4.电子游戏这个产业会衰落吗?或者什么情况下可能会衰落?

-5.国产单机游戏为什么发展不起来?

-6.国外的游戏设计专业都有设置哪些课程?

-7.中国的单机游戏产业是否还有翻身的机会?

-8. 怎样学会制作独立游戏?

-9. 我十分不喜欢读医学,但是父母一定要让我报考医学,怎么办?


另外,关于IOS游戏开发和Unity3d似乎是当下(2013)的相关热点关键词 如:

1.Unity 这个 3D 引擎很厉害吗?听说可以完成各种终端的游戏研发?
zhihu.com/question/1955
2. 创办游戏科技公司,开发 iOS、安卓平台上类似《和风物语》这样的游戏,需要多少资金、什么样的团队、多长时间?
zhihu.com/question/1996

————————————————–独立游戏与游戏开发———————————————

上面资料偶尔会谈及【独立游戏】,况且就算不看那些,这几年“独立游戏”也已然早就成了一个热词儿了..(且越来越热)

关于【独立游戏】 可以先从独立游戏制作人作为最要的切入点
世界上有很多,国内最近比较知名的两位:
*. ( JenovaChen《旅途》的作者)
*.(Soulfram 《雨血》的作者)

他俩的经历的相关报道也是自己了解到独立游戏领域的一个契机关于他俩网易的见证专题之前有做过很全面的介绍了
–独立游戏《雨血》诞生记
–陈星汉的“中国式童年”
话说后者在知乎也有过注册:陈星汉

—*补充1: 前不久(2014 1 14) GADIOPRO VOL.125也有对陈星汉进行一次采访~
机核网的微博 新浪微博

(时代需求 主流文化 艺术与媒介 个性与愿景 仙剑与梦想 森林内外与市场 游戏粉丝与艺术工作者….)
—-*补充2:(2014 2 )李姬韧对2013年GDC上陈星汉的演讲Designing Journey进行了听译 感谢游戏邦。迟到一年,听打和翻译了@Jenov… 来自李姬韧_U

知乎上其实也有很多独立游戏开发者存在/活动着(并且会越来越多) ,如这个话题下也已积攒了很多相关的回答了:

知乎上有哪些独立游戏开发者?-什么促使你走上独立开发者之路?


社交网络上活跃的开发者数量很大,低调潜伏踏实做事的,活跃爱热闹的都有

在偶尔留意的过程中,慢慢能够发现,其实观察同行的活动这件事,除了偶尔能获得的一些有用的信息和间接的激励外,或许也有从他们的一些行动与言谈中观察到他们自己可能都并未发觉的不足这一层意义;

个人感觉,分解并引申开来,大概 一来有助于[自我反思] ,二来也有助于帮助自己之后[识别”真正的前辈“和“志同道合人”] 吧。

有能量又有趣的同道中人也真的很多,如果单纯只是为了罗列的话也真的很想把每个自己感兴趣且在关注的人都介绍一遍。
只不过,真正适合自己去学习和了解的人还是只有靠自己去观察才最合适,志趣相投的人相信也终归会相遇?

这里之前曾推荐了一些主要围绕IN星球的,相对活跃度较高且我之前关注稍多些的用户。

不过现在还是觉得作为补充,仅简化为主的梳理几个用户作为开展关注的初始引子好了,之前太个人化了描述也太复杂了,仔细想来并不合适 :

* Lancelot Gao 关键词: ludumdare
《蜡烛人》高鸣万字解读:一个粗糙原型如何走向GDC的舞台?

*大谷Spitzer :EDDY紫 大学生信息技术比赛
摆摊卖游戏的蛋疼大学生* 李姬韧游戏设计梦工厂:卷首语:Game Loading )

*团队[鱼-Fish]与王熠 图形学 艺术设计
具体参考:《访IGF学生组最佳作品奖《鱼》制作团队》
新相关:独立游戏开发群英会:王熠 (你在VICE的这个群英会系列里还能看到更多~ )

*音乐创作者 Lanx
上面正好提到了群英会系列 ;正好私心推荐下这位哥们LANX的音乐:)
新相关: 独立游戏开发群英会之:Lanx

*独立游戏开发 [大叔UncleBig2D] 《UNCLE GO!!》 梁大叔的游戏梦》

*[南塔斯] :关卡设计 独立游戏开发
写过上文提到过的有启发性的文章:《从零开始学游戏编程——可视化编程游戏开发工具学习指南》

*[彭必涛] http://weibo.com/diestr && IN星球-独立游戏创作净土
—–他15年->16年记录的回忆性质的那篇长文不错,包含了近几年大家有目共睹的蛮多标志性的递进节点,结合他个人的感悟和思考,蛮值得一读

*现在落点于游戏文化传播的 [游戏领航员]
最早有翻译游戏设计系列视频的
《额外加分 Extra Credit》
i.youku.com/u/UNjMwNTk1

* 独立游戏开发 [AliveGameStudio] 这个估计不用多介绍, 这一年以来了,不做游戏但常爱看B站的应该也有遇到:持续是一种力量也是一种意识,值得思考与学习。
拓展可参:AliveGameStudio的个人空间 –(暂时还未看到有类似上文的那种媒体的专访文出现,但或许以后该有的早晚会有? ——那种文的一种便捷之处便是就是信息密度含量够大,帮你快速了解一个人)

另外我自己搜索的时候发觉, [游戏开发日记] 或许也可以作为一个当你日后想看到类似内容时去进行搜索可用的关键词,刚才搜了下有很多类似的记录帖,或许观察和对比或许也是学习过程的一部分

豆瓣上相对来看暂时感觉似乎不是很多(其实应该也有很多)

关注过的人中,印象里暂时活跃度比较高的主要是[矩阵]

可参见回答:
个人如何成为一个优秀的独立游戏开发者?

结尾捎带补一个很喜欢的关于游戏的相册: 《Art Game?》

=

——————————————后记 更好的学习与线索—————————————————-

最后顺带分享一些关于学习方面的线索用以辅助主线的学习(不仅仅游戏开发的学习):

上面有提到过刘未鹏,其实我们还可以此为契机,顺带了解一下豆瓣上一些会被称为学习型豆友 的群体,这个称呼怎么来的不知道,就字面意思理解吧,大概也因为豆瓣还可以被用作一个很好的学习管理工具吧;

网上已有很多帖子进行过类似总结(上面提到信息平台的时候提及的阳志平也与此有关联)

与此相对应的这个主题的相关的文章 :

1.Azeril 的从哪里开始学习?——知识、学习、个人提升类站点分享douban.com/note/2127842
2..豆友S.A.M 转载伊卡洛斯的读书的迷思三部曲 :谈读书的方法、分类、成长模式的对比…
douban.com/note/1584904
3.Elact的经典总结:(系统结构版)豆瓣读书超1000后的体会
douban.com/note/1549991
4.配合上面伊卡洛斯的文章 JACK 的 谈自学 douban.com/note/2178644
5.在上面那篇文章的底部还可以看到 童牧晨玄 那篇经典的书评 登峰造极的艺术 book.douban.com/review/

还有他们很多人都会推荐的一本书可能蛮值得留意

《如何阅读一本书》
book.douban.com/subject
推荐书评: douban.com/note/2545836

如果对豆瓣上的类似内容侧重感兴趣,也可参考这篇作为索引:

萝莉依旧 整理的学习型友邻精选

另,图书豆列刘未鹏(pongba)的豆列 以及 童牧晨玄的读过的书列表M. Tong读过的书(114)里也都有很多和该话题有关的好线索可以拓展

一些相关的书评:

精力管理 (豆瓣)

秒杀一切时间管理书籍 (评论: Your Brain at Work)

Notes:一定要努力幸福! (评论: 幸福的方法)

程序员的思维修炼>

如果要补充的话 《暗时间》也值得考虑,涵盖的面和线索也很多,但内容也可以通过作者的博客来查阅 。
参考书评 book.douban.com/review/

* 最后,这方面的相关信息还可以参考 warfalcon(战隼) 的博客,内容和上述提及的资源有一定相关性 :
———补充: 最近刚好有见到他一些不错的回答分享:比如这个

《怎样看待 12 个月内自学完成 4 年麻省理工学院计算机科学的 33 门课程的 Scott H. Young 所谓的超速学习理论和方法(费曼技巧)以及背后「Get More from Life」的理念?》

=
—————————————独立游戏/游戏设计 资料补充———————————————


文末关于独立游戏和游戏设计,列一些可能值得进一步参考的资料:

矩阵 翻译的 译言网 | 如何成为一个游戏设计师 伍兄 回答中提到的宋健的回答 计算机专业大学生如果想毕业后进入游戏行业,在大学期间应该怎样准备?
台湾部分则有王世颖的那篇《游戏开发真功夫之一百日转职游戏制作人》
—- 同时猴子灵药的博客的文章可以作为并列参考
– 演講分享:為什麼你不該進入遊戲業? &猴子靈藥 [Monkey Potion]
– 演講摘錄:進入遊戲業,你是認真的嗎? & 猴子靈藥 [Monkey Potion]
此外,猴子灵药翻译的这篇很不错。
《How to Prototype a Game in Under 7 Days》:如何在七天內完成遊戲原型 &猴子靈藥 [Monkey Potion]

Derek Yu对独立游戏开发者的入门建议和其后续补充,可以作为启动去制作自己的游戏前很好的拓展阅读:

– 译言精选-Derek Yu对独立游戏开发者的入门建议
– Derek Yu谈电子游戏的成熟度、挑战性和艺术属性
– 译言精选-如何做完一款游戏

拓展的相关话题也联系到包括“关卡设计师(LevelDesigner)”和“TA(Technical Artist) ”,有一些线索或许可以作为了解概念的入手点:

“LevelDesign”

机核网关于[南塔斯]的两期采访 music.weibo.com/gamecor
Vol.80《游戏设计之旅》 & Vol.83《什么是关卡设计》

周新建 我在瑞典做游戏——ubisoft-massive关卡设计师周建新访谈
张小飞 游戏人生 重重关卡——专访游戏关卡设计师张小飞

“Technical Artist”

游戏里的天气系统实现起来很难吗? 【GADIOPRO VOL.147】懂技术的美术!专访Crystal Dynamics技术美术-金晶

最后有关该话题推荐纪录片《独立游戏大电影 (豆瓣)》


更多纪录片参考:网络上有哪些不错的游戏题材的纪录片?

此外TED上也有一些不错的游戏人的演讲值得推荐:

比如威尔怀特的 Will Wright: Spore, birth of a game


Jane McGonigal:

Jane McGonigal: Gaming can make a better world

Jane McGonigal: The game that can give you 10 extra years of life

还有演讲者最近的书:游戏改变世界 (豆瓣),上面提到的书中比如幸福心理学等理念这本书里也有涉及


文章末尾摘录DerekYu在给独立游戏开发者的建议中的话作为结束:

“当然,看到这个词被滥用或者作为装逼工具是让人不爽的。和所有标签一样,“独立游戏”会滋生教条主义、拉帮结派和其他弊端。但它的优势是毋庸置疑的。作为一个曾经因为害怕朝九晚五而放弃职业游戏制作的人,我可以负责任的说,这个词是有价值的。”

“你就是你的作品——理解并开发你自己。作为一个独立开发者,你的作品比那些成百上千人开发出来的作品会更加个人化。为了制作一个真正成功的游戏,你需要对自我有相当的认识。幸运的是,逐步获悉你之所以成为“你自己”的原因——你的口味、你在乎的东西、你的能力——的过程是生活中最大的快乐之一,而这个过程又和你努力成长为一个独立创作者的目标密不可分。珍惜它!”

“你需要把所有的精力都放在和创作有关的事情上,而看似平淡无奇的琐事会吃掉你极大的精力。 规划你的实际工作地点和建立为你提供帮助的人际网络同样重要,这对你作为一个独立创作者来说息息相关。”

“朋友,别再束手旁观了:你是一名游戏开发者。”

                                                                   -----Derek Yu

祝学习进步 心想事成


希望能有点帮助~

2012 12 26

2013 11 29

2014 9 25

2014 11 17

2015

2016

文章来源于互联网:如何成为一名优秀的游戏程序员?

发表评论