找回密码
 立即注册
查看: 1088|回复: 20

[简易教程] 想要自己做一款游戏,需要学习哪些知识?

[复制链接]
发表于 2021-3-18 07:12 | 显示全部楼层 |阅读模式
想要自己做一款游戏,需要学习哪些知识?
发表于 2021-3-18 07:13 | 显示全部楼层
以这篇真诚的回答,致敬每一个 愿意把人生奉献给游戏事业的人。



上一次更新:2020年9月15日。 这次更新把程序上的教学资源重新整理了一下。把过时的教程链接清除了,重新推荐了教学链接。顺便写了点科普的内容。然后把美术教学部分给删除了,因为我认为之前写的内容没有太大的指导意义。现在正在重新写一遍美术学习引导。
这篇回答还在龟速更新中,大家如果特别想了解哪一部分,或者对已提到的部分还有疑问,可以在回答下留言。收到反馈能帮我更好地解答~这篇文章,是重点针对想业余自己开发游戏的朋友,如果你想成为职业的游戏设计师,那么还推荐我的另一篇文章:中学生该如何一步步成为职业游戏设计师


我从小学一年级开始玩游戏,在初中二年级的时候,确立了毕生的理想是设计游戏。
那个时候,我完全不知道该如何开始学习,身边也没有任何一个游戏行业,哪怕是互联网行业的人。那个时候我做了三个努力,一个是在网上大量搜索“游戏设计师”相关的信息,看看需要具备怎样的能力;二是开始学习Photoshop和3Dsmax(那时候感觉好难好难,另一方面那个年代学习资料非常匮乏,没有什么教程可看);三是在编程上开始学习HTML语言(确实是不知道该学什么,所以非常盲目地学了一个,现在看起来偏得非常离谱)
到高中的时候,我有一台自己的笔记本电脑,不过平时也就用来玩玩Dota和老滚5,HTML因为太过简单没啥可学的了,3Dsmax感觉这辈子也学不会了。高中的时候有社团,但没有一个和游戏相关的(那个年代是政治不正确的事情),所以我加入了唯一一可能沾一点点边的学校组织:校电视台。企图掌握一点视频编辑的技术,兴许以后做游戏能用上。后来当上台长,做得一手好视频,但感觉还是偏离正道了。高中的时候很忙,学习压力也很大,我也逐渐了解到我要做的“游戏设计”不是一个单纯的技术活,所以我也不着急学技术了,而是开始看很多游戏设计相关的书,开始建立自己的游戏设计理论。同时我也看了一些编剧方面的书,为以后创作游戏背景故事打基础。高中三年基本就是在拼命汲取游戏理论。
到了大学,我才真正开始学习游戏开发相关的技术。我的专业是数字媒体技术,应该是国内最适合游戏设计师学习的本科专业了(敲重点,再问我选什么专业我就)。大一就跟计算机专业一样,编程上从C、C++开始学,到后面的数据结构、计算机网络、计算机图形学,都是专业公共课程。我们专业还有素描、视听语言、音视频处理这种专业课。另外,在老师的指路下,大一我就开始自学Unity了。大一结束的时候,我花一整周的时间,做了自己第一个游戏。叫《Space Shot》的打飞机游戏。因为我已经研究了很多设计理论,所以在做这么一个小小的存活2分钟的射击游戏中,我运用了很多机制设计上的技巧,高中时代学习的东西终于能运用上了,感觉很不错。
放个小视频感受一下我学习一年时做的处女作:
知乎视频上传失败~改天再传吧~
学习游戏设计到现在有快十年了,主要研究游戏的核心玩法设计,学过编程,学过美术,也学过音乐音效制作。大二实习在游戏行业实习的时候做过运营,当时负责一款MMORPG游戏的土耳其市场。目前在一个很老牌的过气游戏公司里任主策划,负责一个沙盒游戏项目。我的目标是做一个全能游戏设计师——说啥啥都懂,做啥啥不行。目前的个人实力可以一人独立做出CS、吃鸡这样的游戏。我大四的毕业设计就自己开发了一个枪战射击的网络游戏。  花了三个月晚上我打Dota的时间,嘿小意思,洒洒水啦。
细分说技能的话:
    技术:任意编程语言,三天就能上手,随便什么库,什么软件拿起来就能用。市面上啥游戏引擎都摸过,甚至想自己造轮子,后来遭到现实的毒打,不过我还有一丝血还没放弃美术:系统地学习过游戏美术,概念设计、配色、建模、骨骼、蒙皮、贴图绘制、数字雕刻、材质制作、动画制作、运动捕捉,这些的每一项都不精通(美工我是不可能亲自做美工的)声音:在学校学过音效处理,给电影做过音效配音;  自己做视频配音配乐挺拿手; 学过乐理、会用一些编曲软件,会弹钢琴(一般玩游戏玩郁闷了才练下琴,所以这个手指它不灵啊)其他:高中就开始玩摄影摄像,做过大型舞台摄像、随行摄影;会用AE、PR做做宣传视频,做做小动画片。(高中的时候还有点才气,写诗写词撩妹纸不在话下,后来发现沙雕的快乐才是真正的快乐,所以大学之后就喜欢写段子,同时锻炼策划的基本功:吹牛皮)
上面这些是我的技能树,每一个单项技能和专业人士是没得比的,但基本都往专业水平去努力学了。重要的是基本上所有这些技能我都是自学的,所以我还算比较了解自学游戏设计与开发怎样才能避免走弯路。我也很想给同样选择了游戏事业,志同道合的朋友一些帮助。我也曾经少年过,做过游戏梦,心怀过“伟大的”游戏想法。这么多年过去,现在我已经具备独立开发游戏的能力了。这个时间还不算久,因此我还能记得中学时期的我,在站门外是什么感觉。我理解你们。发自内心地想要帮助你们实现游戏梦。有的知友在看完回答后私信我说,找到了人生的方向,今后几年的奋斗目标。我很感动,真诚地希望中国出现越来越多真正的游戏人,优秀的游戏设计师。这篇回答从2016年7月开始写,一直写到现在,几年多过去了,期间我一直在推敲我给出的学习方案的合理性以及效率最大化,并跟踪了一些刚入门的学习者的学习进度,学习体验。以此为基础来完善我们的学习路线。这也是为什么我更新得如此缓慢。我原本就计划是在两年之内完成本回答,包括美术和音乐的全部内容。为此我需要亲自去走一遍每个领域的学习路线,再总结成适合自学的方法论。在理论经过亲自验证之前,我不会公开宣扬,这是我坚持的做事原则。在2017年,我把美术方面从概念设计到次时代级模型制作的整个流程通学了一遍,后来我也试着亲自带几个人来一次全面的学习。做这些事情,花费了我大量的精力,但我仍然坚持拒绝接受任何资金回报,以免变了味,成了个人商业培训。我做这些事的目的很纯粹,如前文所说,就是希望看到中国出现更多优秀的游戏设计师。
同时,我也发现了一些非常不好的现象:许多私信联系我的学习者,连此篇回答都没能认真看完,就来问我应该如何开始自学,是否能提供学习资源。我通篇都在讲述如何自学,每一个板块后面都贴了资源。人家写了几个月的回答,如果连花费一小时阅读的耐心都没有,那么我也只能认为他更没有耐心来学习几年的游戏开发了。因此在私信提问我之前,请认真阅读此回答,这是一种对他人工作的尊重。最开始,我会逐个回答每个人的私信。现在每天都会收到许多的私信,而且大部分都是重复问我在下文中回答过的问题,之后对于这种问题,我一概不予回复了。祝好运~(啊,妹纸除外)
现在开始严肃地讨论。看了题主的问题,我看得出题主是一个真正想做游戏的人,而不是一个只想通过游戏赚钱的人。确实是这样的话,题主不需要去趟国内游戏行业这趟浑水,更不急通过进游戏公司来学习。在你什么都不会的情况下,就算进公司你也只能做苦逼体力活(比如:黑盒测试、配表、客服),成长很慢。而且国内游戏行业是一个聊钱聊产品聊运营的地方,那些所谓的大佬开口闭口都是运营指标什么“次留/日活/付费率/ARPU/流水”,这些玩意儿对纯洁的新人建立正确的游戏设计价值观只是有害无益。 我们需要聊的是游戏设计本身,脱离游戏作为资本变现工具的那部分。现在我假设你的目标和我一样是做一个“全能游戏设计师”,并且假设你是高中刚毕业,什么都不会。这个假设的起点很低,终点比较高,要高于你单纯地做出一款小游戏来。应该能满足你的需求吧,客官?
在这样的前提下,你要达到你的目标,需要哪些的能力?我先给你展示一下
这是A大的游戏开发日记视频列表:AliveGameStudio的个人空间
A大就是一个既会编程,又会美术,又会策划,又会音乐的人。这系列视频就展示了一个全能游戏设计师需要具备的所有“硬”技能以及技能应该达到的熟练程度。
题主你先看几期他的视频,了解一下他所具备的能力。好像他的游戏在steam已经上架了,可以支援一波。(A大:Q币已到账)
这里我罗列一下一个全能设计师所应掌握的最基本技能,然后后面再逐个给出相应技能的学习计划
硬技能分为四个大块:
1、程序
4、设计(核心玩法、交互等)
2、美术
3、声音
我写过一篇教学大纲,详细讲解了每个部分需要学习哪些课程:游戏设计专业 教学大纲
这个学院派的大纲可以当作一个最全面的规划路线,但并非每个人都要全面学习。根据自己的情况和兴趣来安排即可。
下面我针对完全自学者,来逐个分享学习方法。
————Part1 独立游戏人必须会编程—————

程序,对目前你的情况来说,是这些技能里面最重要,最迫切需要,也是最好学习的一项。为什么是它呢,因为你只有会编程、掌握了一款游戏引擎,你才会真正明白:游戏,作为一款软件来说它的本质是怎样的,它是如何运作的。你不知道汽车是如何工作的,你也可以开车,但是让制造你就制造不出这辆车对吧。了解程序,就是了解一款游戏在电脑上工作的原理。并且当你编程能力过关,掌握了一款游戏引擎后,即使你其他什么都不懂你也已经能够做出简单的游戏demo了。实现这些,最快只需要几个月的时间。但是如果你先攻学其他几项,这都不可能。
那么编程应该如何开始学呢?
有很多种打开方式,我在第一版回答中给出了一些可选项,但是我后来我考虑到纯新人不具备判断和抉择的能力,很容易到处撞墙。所以现在我只给出一条学习路线。设置这条路线的指导思想是:
在保证知识稳固的前提下,最快速地学以致用。
编程学习路线分三步:
1、学习C#
2、学习Unity
3、学习C#
首先C#在游戏开发中是一种脚本语言。脚本语言是做什么的呢?就是给计算机发出指令,让它什么时候做什么事情。比如,警察想命令一条警犬做一些事情,会发出手势指令:“靠”、“坐”、“来”、“叫”、“扫撕”……当警犬看到这些手势指令时,它就会做相应的行为。而这些手势合集,在控制计算机时,对应的就是脚本语言。比如我写一句“Delete Bullet”,意思就是删除这颗子弹;写一句“Soldier Fire”,意思就是让这个士兵开火。C#就是用来发出这些指令的。
然后我们说学Unity,Unity是一个游戏引擎。游戏引擎中集合了开发一个游戏所需要的大部分工具、组件、环境等内容。就像拍一部电影,我们需要摄像机、摇臂、灯光、挑干等基础工具。做游戏也需要摄像机、灯光、地形、人物控制器等组件,游戏引擎里面就包括了许多这些基础内容。掌握游戏引擎,使我们不用重头开始造轮子,而是直接拿现成的轮子来组装车。而组装车的过程中,需要用C#语言来告诉Unity,我哪个槽位放哪个轮子。这种命令很简单,就像写一句“if Player Move, Camera Move.”意思就是说:如果玩家移动,摄像机就移动。跟写英文差不多吧。其中摄像机、玩家这些东西,都是Unity提供的。希望你现在理解了C#和Unity的相互关系。
一般来说C#编程能力是学Unity的前置条件。但是,对于什么都不懂的人来说,直接学习C#会感到无聊、迷茫、没有尽头,不知道现在所学的这些东西在以后实际做游戏时会怎么用到,很可能会让理想之路产生动摇。那么直接学Unity就不会无聊了,因为所学的东西我们能很直观地了解今后会如何发挥作用,比如怎么控制摄像机,怎么控制人物行走,怎么做一个地形。但是因为没有编程基础,所以需要写脚本的地方学起来会比较吃力。这个时候吶,我们就会想到要去学习编程。然后带着目标去学C#。学了一点,又回到Unity里实践使用。这样形成良性循环。这个思路和许多做视频教学的老师不谋而合,应该是对新手最舒服的一条路线。
我突然想起我和一个知友的聊天记录也能解释这样安排的原因。


这是一个大一的学生,之前只跟学校的课程学过一点C++,我估计也就几节课的程度。加我好友之后,我给他指点了一下学编程的路径,然后一个月后他就能做点东西出来了。来看下面这张图。第一屏是他的发的说说,是刚学Unity几天时发出来装X的,被我批了一顿。后面是一个月后他找我来汇报学习进度的记录。注意看时间,真人实践证明了按我给的这个路线是可以做到短时间内上手游戏开发的。


OK,希望你看完这番对话,再返回去看看前面两大段,把C#与Unity的关系和学习方式彻底理解了。
小结一下程序学习路径:我们先从C#学起,初学的编程的时候可以不求甚解,先记住形式,之后会慢慢自行理解。当C#学到无聊、乏闷的时候(会发生在任何进度点)就先放下,转而去学Unity。Unity中有相当一部分功能是不需要懂编程也能用的,我们可以学到不少东西。当稍微进阶的时候,我们就会接触到编程的部分,这时之前学的C#一定会让我们感到熟悉。通过Unity教程,我们也能反哺巩固C#的知识。但是更多时候,我们会发现Unity教程中关于编程的部分,我们实在跟不走了,很多代码不能理解。那么我们自然会想到回去学好C#。这是一个相辅相成的过程。避免了专门学编程语言时的痛苦。
下面是学习资源推荐环节:

首先推荐擅码网的新人起步套装:擅码网-Unity3D学习路线图
可以看到,擅码网Monkey老师安排的学习路线和我所想就是一致的。
另外再推荐Siki老师的私教课程:Uinty A计划 2.0
这两位老师的视频教程是我群内许多新人朋友们筛选出的质量最高的教程。其中Monkey老师讲得更慢更细致,适合零基础入学。Siki老师的教程总是跟随时代走在前沿,从不落伍。大家按需购买。
另外再推荐几个入门网站:
    AboutCG.com 这是我最喜欢的国内教程网站,最开始只做美术教程,现在很全面,各种和ACG制作相关的教程都有(2020年9月新增)泰课在线-杂糅了各式各样的游戏开发教程C# 教程 | 菜鸟教程-百度搜索“C#教程”第一个网站C# 编程指南-这个是微软的C#官方手册,如果在学习过程中遇到任何知识点偏差,应该优先参考这份官方说明。
有些朋友喜欢看书,那么我也推荐一本:《C#图解教程》。关于Unity的教学书,我就不推荐了,并且强烈不建议通过书来学习Unity。因为随着引擎的升级,书过时得很快,并且很难跟随操作。

然后在进阶学习的时候一定要使用下面这三个网站:
    Unity - Manual: Unity Manual——这是官方手册,就是Unity的使用说明书,追根溯源所有的教程,都是源自于这份官方手册。如果在必要的情况下要自己研究某个系统,阅读这份手册就是第一步。Unity - Scripting API:——如果有任何的官方编写的函数不认识,不理解,不知道如何使用,应该在这里先搜索一下。Unity - Community——Unity官方论坛&社区。国外学unity的都在这里提问、解答、交流经验,所以百度和google没有答案的时候一定要到这里搜索。
非常重要,非常重要,非常重要:
进阶的教程,请上http://youtube.com和http://udemy.com搜索“unity tutorial”,每年都会有新的与时俱进的高质量的教程出来。siki老师有些教程也是翻制国外的教程的,如果英文没问题,完全应该直接看最新的英文教程。如果英语很蹩,那现在开始学英语还来得及。
学习资源推荐完毕。最早的回答中我贴了许多教程的网盘链接,招来了无数伸手党。后来我反思这件事情,觉得许多人是不配免费获得那些教程的。他们要么学习动机很功利,要么为了理想一点都不愿意付出,也经不起坚持。这样的人,我认为应该坚决阻挡在门外。稍稍提高点门槛的高度,让真正有心的人进得来,让无所谓的人知难而退,是我现在的做公益的思想。
另外再补充一下关于编程语言的选择,很多人会问,C#和C/C++,我应该先学哪个?我不学C#学JAVA可以吗?我学Python可以吗?这种问题,一般都出自于,还没真正开始学编程的朋友。我这么跟你们比喻一下,当你想知道应该选什么编程语言起步的时候,就好比你吃饭,你问你妈你到底该用竹筷子/木筷子,还是不锈钢筷子。毫无意义的问题。同时广大一根筋的程序员们还会一板一眼地跟你们分析这个问题,最后推荐最伟大的编程语言PHP(现在是Python了吗?噢知道了)
啊,不要相信他们的鬼话。破解这个问题最简单的办法,就是你随便挑一个编程语言学一个星期,然后去学另一个语言,你就会明白我什么意思了。
至于学校里要你学的要你考试的那些C++、高数、线代、数据结构、马哲、大学生心理健康、撩妹的艺术,别来问我重不重要。问就是:重要。(你们这些小逼崽子就是懒还想把挂科的锅扔给我,我早就看出来了~呸~)
————Part2 设计师的理论,良心,与信念—————

最开始我们假设了,我们的目标是:成为一个全能游戏设计师。那么本质还是一个游戏设计师。一个游戏设计师和常人的核心区别在于哪里呢?我认为有两点:1、实践性能力,他能够带领团队把一项设计转换为具体的游戏软件(和导演类似)2、思考与判断力,一个合格的游戏设计师应该具备自己的设计理念,同时深谙普适法则。 这和任何领域的艺术家都一样,比如说美术,每一个美术艺术家都有自己独特的绘画风格,但他们都知道如何做视线的第一落点第二落点。一个游戏设计师应该有自己的理念更应该具备基础的理论。我相信一句话:每一个玩家在游戏设计上都有自己的想法。如果说这个“想法”是一个成熟的理念&设计灵感,而他想要通过开发把这款游戏做出来,那么我通常会建议他首先去研究一下最基础的游戏设计理论,看看自己的设计是否有违背一些基础法则哪些部分和前人总结的道理相顺应。然后通过基础理论来完善自己的设计。
设计理论如何习得呢?对新手而言,两个方法:1、阅读;2、思考
1、阅读

我先说说读书。这里推荐一个顺序阅读的书单:
    第一本:《快乐之道:游戏设计的黄金法则》,这是一本启蒙级的设计丛书。它不会教你如何一步一步地设计出一个游戏,但它会在思想层面上醍醐灌顶,让你重新认识你所钟爱的“游戏”,以及发现“游戏”的更多可能性。我认为游戏设计师,应该为这个世界带来更美好的价值。利益攻心是无法做出游戏的。所以先阅读这本书洗礼一下内心,开始建立今后在游戏设计上的道德基础,这是一个游戏设计师的必修课。 建议配合阅读《金刚经说什么》。




    第二本:《游戏改变世界》(《Reality Is Broken》)。阅读第一本书,目的是先建立正确的设计师价值观,第二本书是真正让我们开拓视野,更进一步地发现“游戏”的更多可能性。这很重要,我们理想的高度,受限于我们视野之所及。如果我们生于十九世纪上叶,压根儿没有见过电子游戏,如今便不会立志做游戏。如果我们现在看不到游戏在更多领域的价值,看不到游戏的更好形式,也很难在思想/设计上超越现在市面上的游戏。《游戏改变世界》这本书的使命,就是让我们看到游戏让世界变得更好的可能性。补充:作者Jane曾经在TED有个演讲,可以说是这本书的浓缩版,时长20分钟。大家也可以在TED看看她的其他演讲。
Jane McGonigal: The game that can give you 10 extra years of life




    第三本:《全景探秘游戏设计艺术》。在通过前两本书打了一些基础之后,应该可以开始尝试来讨论我们语境下的游戏了。这是一本从“思想”到“设计”的关键过渡书籍。书中作者谈论了游戏的四大基本元素以及元素的耦合、玩家的分类、设计师所应具备的基本素质(不同于我们讨论的技能)、游戏迭代设计的过程等等内容,实在是非常充实。作为第一本了解游戏设计工艺流程的书非常合适。


    第四本:《剑与电——角色扮演游戏设计艺术》。通过第四本,我希望能够更深入地讨论游戏的设计过程。推荐这一本书,是因为 一、他的语言简单幽默,充满鸡血,游戏路上坎坷难行,你需要在适当的时候来一碗;二、RPG游戏是各种游戏类型中系统较为全面的一类,无论做什么游戏,研究RPG游戏都有帮助,而且我知道过半想学做游戏的人都想过做RPG游戏,所以我也是特意挑选了这本豆瓣都没收藏的书放这里。(常年缺货,十分珍贵)


推荐书单暂时到此结束,先小结一下书单的设置目标:
    第一阶段建立正确的设计师价值观 第二阶段扩展眼界,看见游戏的更多可能 第三阶段系统地认识电子游戏,设计&开发流程,了解设计师基本素养 第四阶段深入研究自己感兴趣的游戏类别,专项问题研究
我心中有一个怀疑,就是真完全的没有接触过游戏设计,而且平时也没有主动在网上搜索过相关内容的朋友,估计对于游戏的开发流程真的全无概念,那么我推荐的第三本书《全景探秘游戏设计艺术》还并不能帮你达到第三阶段的目标。针对这种情况,我想再推荐一下下面这本《游戏设计基础》,顺带它的两兄弟吧。 ╮(╯_╰)╭其实我个人是不喜欢第一本书的,因为它几乎是地毯式地普及了一遍游戏设计&开发的所有内容。我当时看的时候感受就是:你把所有东西都摆了出来,说几句大家都知道的道理,然后就切下一个话题?嗯~~不过~~但是~对于真的没有了解过游戏设计的朋友,也许书中说的东西还是对你很有帮助的,这很百科全书。《游戏开发核心技术》属于第四阶段读物,是讲故事与剧情的,建议配合阅读《故事》——罗伯特·麦基。


第四阶读段物补充:《游戏运营管理》。我首先需要提一下游戏运营。因为我们辛辛苦苦做的游戏总是要给人玩的,也理所应当通过它来赚取我们应得的收入。毕竟我们用一生来奋斗的事业,也应该能养活我们一生,不然理想就会被面包打败。游戏如何赚钱呢?在这方面国内的游戏领域真是处于宇宙领先的地位。而撑起国内游戏行业的支柱就是游戏运营。暂且不谈各种臭不要脸到没有下限到起死回生的运营手段,我觉得最需要了解游戏运营的不是专门的运营人员,而是总设计师。对一款游戏最了解的人,是总设计师。一个半途接手的运营人员,永远无法比总设计师更了解这款游戏,所以他要去做游戏调优,要去添置运营活动,要去促进消费,总是或多或少地会对游戏的生命周期造成损伤。而如果设计师在游戏设计的过程中就预设好了针对性的运营方案,那么不但不会缩短生命周期,反而会更大地促进玩家活跃度等运营指标。运营能力对于设计师的重要性不言而喻。但是考虑到一说专项问题研究,估计朋友们就会去死磕打击感、可重玩性、心流线路、玩家交互等设计问题而忽视运营问题,所以这里需要特别提一下。下面这本书建议配合阅读《营销管理》——Kotler P. / Keller K.L.


继续补充:游戏领域是一个超过硬科幻小说写作领域的更庞大的领域。因此需要我们设计者具备各种各样的素养和知识。光是上面这基本书是远远不够的,我们需要养成终生阅读的好习惯。下面是扩展的书单,我也不尽都读过,一起来读一读吧:关于游戏策划的书有哪些推荐? - 陈灼的回答。然后除了书,我们还需要去发现国内外最新的思想成果,往往这些东西都不在书里,而是在论文与论坛里。所以我们不仅要逛论坛,还要养成逛论文库的习惯。至于途径和资源,从百度和谷歌出发,去寻找自己喜欢的吧~(中文论坛我以前喜欢逛http://GameRes.com,可是现在越来觉得他们越来越肤浅了~)


——————————以上为阅读部分——————————


2、思考

设计师是需要有思维训练的,做思维训练的时候我们在练什么?先贴一个有意思的问答在这里,这是作家在进行思维训练时干的事情。对游戏设计师来说也是非常值得借鉴学习的。
作家都是如何提高构思能力的? - 马伯庸的回答
不过需要总结一下,他的回答中说的到思维训练是对于世界背景架构、剧情设计的训练,就是那些不懂游戏的资本家们常常挂在嘴边的IP。
下面我们来正式讨论关于思维的话题。
每一个游戏设计师都应该思考的一个问题:游戏设计方法论
有人说“设计游戏没有一个固定的方法可循。” “如果有那么一个方法的话,那么按此方法设计出来的游戏都是一个样。” “那种方法还没有出现,也几乎不可能出现。” ……
以上那些话,都是废话。我们作为职业游戏设计师的,本职使命就要找到这样一个方法,然后去实践它。设计游戏的过程,就是实践自己的设计方法论的过程。许多在职的设计师会说并没有自己的方法论,也能设计。那样的设计师一般分两种。一种是心里有数但是没有主观地成文地去总结出来。另一种,压根就没有,他们设计游戏的过程,往往会前后矛盾,前期要求所有已知的功能、所有在其他游戏中出现过的系统;中期陷入迷茫,不知道自己游戏的真正的乐趣该在哪里,应该往什么方向设计下去。后期发现之前做的许多功能都是白做了,整个游戏自己都不觉得好玩,面临推翻重来的窘境。
方法:为达成某个特定目的,可以用来实践(实际操作)的模式或过程(步骤),并包括使用的工具或技巧。
设计/开发游戏,其实和任何艺术创作、项目工作一样,就是一系列的行为实践的过程。任何一个过程都是可以总结成一套模式的(即方法论)。就像电影创作,可以形成好莱坞模式、日式、法式、冯小刚式、源氏。通过某种模式产出的电影,多多少少会带有该模式的印记,让人能够感觉出它是通过该模式制作出来的,比如好莱坞模式就是印记很强的一种。但是印记太强,并不是一件很好的事情。印记强意味着它容易趋于刻板,它的创作空间,它的变化空间受到了更多的限制。反过来说,也是这些限制、这些规则铸成了该模式。
那么一个好的模式应该是怎样的呢?
    它应该能提供模式最基本的功能,即对一系列行为过程的总结。它应该能适用于更多的对象。越是接近真理的东西,越能在更多的地方体现。(就像相对论和进化论)基于第二条,它指出了创作空间的范围。(这是它指导实践和自身进步的重要条件)
作为游戏设计师,或者是准游戏设计师,我们的一个本职使命就是要寻找这样一种模式(游戏设计方法论)。这不是顶尖的游戏设计师才能做的事情,而是每个敢自称游戏设计师的人都应该做的事情。也正是这个事情,自己的设计方法论的形成,让一个游戏设计师不同于其他的游戏设计师。大家耳熟能详的一些游戏设计师:
    宫本茂(超级马里奥系列)小岛秀夫(合金装备系列)陈星汉(旅、花)Jade Raymond 女制作人(刺客信条系列)Will Wright(模拟人生系列、模拟城市系列)Sid Meier(文明系列)
试着想一想,他们哪一个的游戏不是都有着自己别致的风格?是什么导致他们所做的游戏在风格上差异那么大呢?甚至我们可以说,如果他们不是要特意尝试完全不同的风格,那么他们开发的下一款游戏(即使是非系列作品)也将带着他们个人的风格。这一点宫本茂就是个行走的例子。那么是什么让他们的游戏即成功又保持了个人风格?
是他们自己的设计方法论。
上面花了一些篇幅强调方法论的重要性,以及我们应该寻找、创立自己的方法论。那么我们应该如何做这个事情呢?我希望抱砖引玉,给出一个自己的经验和建议:
即回答一些问题,并且在整个职业生涯中不断地修正自己的答案。这些问题如下面这样:
    游戏是什么?(我的定义能否同时用在文字冒险游戏、FPS游戏和扔沙包上)判断游戏好坏的标准是什么?(这个标准能否同时用在《魂斗罗》和《模拟人生》上)构成游戏的要素有什么?(某两种要素是不是可以归纳成一种)构成游戏的必须要素是什么?(《俄罗斯方块》和《Flappy Bird》有这些要素吗)游戏的终极目标是什么?(为什么是这个,可不可以是其他的)《EVE(星战前夜)》《Rust(腐蚀)》在哪些地方是相似的?(还有哪些完全不同的游戏存在相似的体验)我为什么做游戏?……………………
通过对自己提问,和回答上面这些问题,通过看书阅读和研究别人的理论,我们会不断地修正自己的回答,不断地形成自己的思想体系。千万不要满足于自己现在给出的答案! 思维训练,这些问题就能让我们在地铁上、公交车上、夜不能寐的晚上致身于游戏事业。
思维训练——游戏设计方法论,暂且说到这里。刚刚提出的最后一个问题:我们为什么做游戏?是一个至关重要的问题,我也想通过它引出下一个话题:游戏设计理念
游戏设计理念,不同于游戏设计方法论。方法论是指导我们行为和实践的一套理论。设计理念是驱动我们设计游戏的初始动力,也是我们追求的顶层目标。每一个设计师,会有自己笼统的设计理念方向,每一个作品也会有自己的一个或多个设计理念。我们往往会批评一个游戏没有灵魂,其中这个“灵魂”就是设计理念。它是设计师在构想和整个创作过程中不断倾注的东西,也是设计师用来指导改进游戏的顶层因素。
那么设计理念在游戏中是如何得到体现的呢?那很微妙,是我们在游戏中的获得的体验。游玩游戏的过程,可以说就是一个体验的过程(和游乐场一样)。我们从中获得什么样的体验,原则上取决于设计师想让我们获得怎样的体验。设计师通过在游戏项目中贯彻一种设计理念从而把目标体验加入游戏。(这是如何做到的呢?回答这个问题,需要先对游戏的构成要素具备深刻的理解。这已经超出了本文的范围。)
下面的段落我准备来介绍下设计理念,以及看一下不同的理念会对游戏设计产生什么影响。


(这里是挖好的坑,等待哪天补完。)


以上为 思维训练 & 设计理念 部分
————Part3 视觉与品质—————

如果我们有了编程能力,有了设计理论,有了一个游戏的想法……我们要把它表达出来。我不是说写案子给别人看,而是把想法可感官(受)化,可视化。那我们必然需要视觉元素的设计能力。游戏中所有对应视觉元素的工种都可以叫做美工(当然,准确的说需要除去计算机图形技术的编程人员)。美工下又有许多细分,比如:概念设定、人设、场景、建模师、贴图绘制、动作动画、特效制作、UI设计……这是一个庞大开发团队中的岗位列表。作为一个全能设计师,我们需要掌握其中大部分的技术和能力。我知道这有些难度,但这是可以做到的。而且为了全面掌控游戏的视觉品质,我们非常有必要达到这个高度。
在人们普遍的认识中,美术是很难学习的,而且还吃天赋和努力。我思考了很久,为什么美术难学。在经历了很多个失眠的夜晚之后,我思考出的最终原因是:美术创作无法在客观上评定好与坏。美术成功的边界是模糊的,这导致我们在学习的过程中,触摸不到阶段性成功的里程碑,甚至看不到路标。在这个思考的基础之上,我把美术分为“审美”和“技法”,其中“审美”就是没有标准的那一部分,而“技法”是可以通过练习来获得的。想要在美术上有所造诣,必须把审美水平提高,因为审美代表了一个人美术能力的上限。而所有的创作技法,都是去实现审美的工具。
如何提高自身的审美水平?这个问题,以我的自学经历是没法回答了。因为这部分我是由老师领路进门的。我的运气很好,遇到一位优秀的老师,这个经历是不可复制的。
我把对于游戏创作有巨大作用的审美能力列在了这里。每一个主题,其实前人都总结了相当多的理论。大家在Youtube搜索相应关键词,就能找到大把理论结合实践创作的视频,没事多看看。
另外多欣赏优秀作品也有助于开阔眼界,提高自身审美水平。接触优秀作品的方式,第一:多玩各种风格的游戏。第二:常逛设计师网站:ArtStation 、Pinterest、花瓣网 等等。
我相信大部分人还是有一些基础审美能力的,不至于认为传奇类页游里的大翅膀、一身黄金是好看的。但是大部分人是不懂任何美术创作技法的。因此我们迫切地需要学习各种美术技术。
在探讨如何学习这些技术之前,我希望你能够先了解游戏的制作过程,特别是美术部分的详细流程。为此我在专栏里写了一篇文章《一个游戏是如何被设计和开发出来的》。在继续了解美术学习之前,希望你能够先抽三个小时把这篇文章看完,包括其中的每一个视频。重点阅读3.2-3.8小节的内容。里面详细地介绍了从概念原型到游戏成品的所有创作过程。
那么,现在我假设你已经看完了那篇文章,并且对美术部分的每一项工作都有了直观的印象。我们来开始讨论如何学习。
“学习美术技法”是一个笼统的说法,我们需要把它拆分成几部分来学习。就像把“学习程序技术”拆分成学编程语言和游戏引擎。学习美术,我把它拆分成这么几项:
审美能力,上文已经提过了,这是需要持续地提高的。当建立起这个意识之后,作为设计师的一生都会不断地升华自己的审美能力。当然这也比较困难,不是通过文字和语言能够传授的。暂且放一下吧。
绘画技术,只指一切形式的二维绘画。在游戏开发中,绘画的主要目的是传达设计,让3D制作有参考依据。另外,还有UI、图标、立绘等元素也需要绘画技术来支持。在一个大型的较为标准的工作流程中,这一环节是非常重要的。不过在一些小制作中,其实绘画工作是可以简化甚至省略的。(PS:我个人只关注3D游戏的制作,对于2D不感兴趣,所以一切观点以3D游戏开发为基点。)
建模技术,3D模型是游戏世界的基本元素,建模就是指制作那些模型。模型的制作,在经过了这么多年的积淀后,已经有了非常规范的流程。但是整个流程中,存在许多概念需要知道,也有许多小技巧需要掌握。一旦掌握了建模的技术,再加上最开始提到的游戏引擎的使用,我们离自己亲手制作出游戏就很接近了。
动作技术,对于一些生物类的模型,他们是自己会动的,这些动作也需要我们来制作。比如,常见的人物动作:走、跑、跳、爬、射击、劈砍……如果你想做变形金刚的话,它变身过程的动画也是需要自己做的。有了动作动画,游戏世界才能变得生动起来。
在上面的三项硬技能当中,我强烈建立自学者从建模技术开始学习。如果按照专业美术的思路,他们应该会建议从绘画开始,先打美术基础,再学其他的东西。这个思路我反思过很久,它本身没有什么问题。只是它只适用于给“立志做游戏美术”的人采用。如果读者你个人是只想做一个专业的游戏美术的话,你可以从绘画开始学。但是我们假定的目标是:做一个全能游戏设计师,具备独立做出一款游戏的能力是我们的最终目标。而做出一款游戏,在美术上真正需要的是什么呢?请看下图,美术制作流程图:
能看到吗,最终进入游戏引擎的内容是:模型、贴图、动作。绘画工作产生的内容:线稿、设计稿都留在了制作流程中,没有被最终开发使用到。所以建模和动作的工作成果,是直接服务于游戏开发的,而绘画是间接服务。(PS:我个人是UI极简主义者,并且极力提倡去HUD化,所以2D元素均不考虑。)有了这个认识,我们就应该知道,做美术工作,直接产物是要做什么了。而动作、贴图的制作,又是依赖于模型的,所以我的建议是直接学习模型制作。
有人会问,如果没有前置的绘画工作,我可以建模吗?如果没有美术基础,我可以建好模型吗?回答是:完全可以,没有任何问题。为什么?因为建模的工作80%是对结构进行优雅地还原,是还原而不是设计结构。设计结构需要美术基础,而还原结构,长了眼睛就能做到。
接下来讨论工具的事情。
选择软件其实是一个很简单的问题,但是作为新人听到的声音越多,就越容易被混淆视听。这个说Max好,那个说Maya好,踌躇中又蹦出一个人说C4D最简单。这些都是噪音。因为在3D美术工作中,并不存在要限定于哪个制作工具。下面请看一下我个人的制作流程以及工具搭配方案:
3D建模流程及工具搭配方案(最后作品图来自Aniraiden)
这是我制作模型的详细流程,注意看,几乎每一个环节,我都可以使用不同的专业软件。同样的,每个环节我也可以都使用同一个软件,这取决于对模型的具体要求有多高,以及针对不同模型各个工具的制作效率有多高。我们总是会在效率和质量之间做一个权衡,选择最适合自己的方案。
在最开始的回答中,我详细地罗列介绍了每一个主流的3D制作软件,去分析它们的特点/适用场景(删了)。但是,后来我发现说那么多屁话没有用,不如简单直接地推荐一个软件用就行了。因为大家最关心的是能做出游戏,并不是想把软件们研究得透透的。那么,还真有这么一个工具,它把游戏美术制作流程中所有需要的功能都集成在了一起,真正的ALL IN ONE,并且比其他虚假的all in one都用起来舒服很多。它就是:Blender
这个软件在 建模/雕刻/UV/贴图/材质/动画/渲染 整个流程上都能胜任,并且只要切换一下上方的工作模式就能干相应的事情。每一个环节无缝衔接,模型不需要导入导出,简直就是为了做游戏而生。对于新手来说,只需要下载这一个软件,那么整个游戏美术的制作流程都在你面前摆着了。
另外有两点需要吹的:
1.这么强大的软件只有140MB大小
2.这是一个开源的软件,正版免费
3.Blender自己也在开发游戏引擎,你可以想象一下这意味着什么
先收藏好: Blender官网 / Blender中文社区
Blender社区是有很多教程的,大家稍微花点时间就能找到各种各样的教程。
其实,B站就有Blender的教程,简直了,各位弹幕里见吧。

有教程的陪伴,工具的上手学习应该不是问题。接下来我可以提供一系列的挑战,供各位去达成同时精练自己的技术。
1. 快速过一遍Blender的基础操作
2. 学习多边形建模,并建一个自己喜欢的机甲模型
3. 巩固多边形建模,掌握科学布线,建一个人体模型
4. 学习拆分UV和贴图绘制,给之前的机甲模型画贴图
5. 学习材质制作,给机甲模型做一套酷炫的材质
6. 学习雕刻,雕刻一个怪兽模型
7. 学习骨骼动画,给怪兽绑定骨骼,摆几个pose
8. 来找我给我展示一下你的每一个练习作品


未完待续……


(这篇回答还远远没有完成。因为近段时间在封闭开发一款有趣的生存游戏,住在别墅里,没有生活和工作的时间界限。所以只能在凌晨1点后大家都睡了的时候写回答,更得慢,大家也可以养肥了再看~如果这篇回答对你有帮助的话,点赞什么的都是次要的,分享给同样需要入门指导的朋友。
如果你已经完整地阅读了上文的所有内容,并且你还想加个交流群的话,QQ群:474891082。请注意,如果你在群里问的问题已被本答案回答过,那会受到大家攻击的。祝好运。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-3-18 07:19 | 显示全部楼层
从游戏玩家到走上游戏开发的道路,最后做一款自己的游戏,可以说是相当多人在少年时的梦想。当然,从理想到现实之间实际上还是有着很长的路要走。在今年的TGDC(腾讯游戏开发者大会)上,就有很多游戏行业的业内人士分享了自己在独立游戏创业之路上的各种心得体会,以及经验教训。而这篇文章就是根据我的一些亲身体验,来试着回答这个问题。




总体来说,游戏开发是个团队工程。如果要做到面面俱到,恐怕是很困难的事情。以下提到的每个环节,在游戏开发中可以说都非常重要。在学习时,即便无法完全掌握,也有必要针对其中的某些环节着重了解。

大致总结了一下,如果要做出一款游戏的话,以下这些知识可以说是必不可少的:

· 游戏引擎的使用

在引擎学习上,其实深度和广度都是没有上限的。基本的界面与操作这些自不必说,而在此基础上,进一步扩展和深入也是必不可少的技能。

· 基本编程知识,可视化编程

编程知识,对于游戏制作实际上是画笔和画布的关系。在学习编程的时候,实际上也是建立自己分析与实现具体问题的能力,这种能力无论是对于完成游戏,还是对于设计游戏的具体流程,都是相当重要的。如果不学习一点编程知识的话,可以说是寸步难行。

· 美术知识,2D/3D,建模,动画,特效

在制作游戏的过程中,往往需要去利用一些第三方素材,而不一定要创作所有的素材。而通常情况下,游戏美术也需要长期练习和实践,与程序员一样,游戏美术同样是一个深度和广度兼具,而且没有上限的领域。

· 游戏设计知识

游戏设计,在很多人看起来似乎是一门玄学。虽然已经有大量的优秀理论著作,但即使懂得这些理论,在实际制作游戏的过程当中,却又往往不明所以,让人无法满意。然而,一款游戏无论其美术多么精良,技术上多么成熟,如果本身的设计不够有趣,最后也难以有好的结果。

当然,以上这些都只是基础。除此之外,还有更多的一些知识需要掌握:

· 音乐、音效
· 项目和公司管理
· 财务
· 文学、历史、心理学…..

这里需要着重注意的是,虽然看起来和游戏制作本身无关,但是公司运营、财务这方面的知识,实际上可以在一开始就决定游戏的成败。商业上的问题,其实是绝大多数人不愿意去接触和思考的问题。然而,游戏作为一种商品,最后还是要走向市场的,商业成功或许不是所有人的追求,但没有金钱支持的游戏开发,恐怕也是无法持续的。

其实,一个成功的游戏从最初进行构思,到最终完成上线,其中经历的时间可以用年来计算。当中经历的挑战、挫折可以说是数不胜数。在这次TGDC大会上,胖布丁游戏的CEO郭亮(小棉花)就和我们分享了他的故事。




其实我认识小棉花也已经有比较长的一段时间,在公司早期曾经去拜访过他们,当时他们还只有几个人,租用了一间民房办公。而他在演讲中提到的,公司创业时,游戏的数据不理想,在一定程度上给了他们很大压力。他的团队从开始的南瓜先生大冒险,到后来的小三角大英雄,并非每个游戏都一夜成名成为爆款,其中也经历了很多外人无法理解的困难。但他们最终还是成功地活了下来,团队也越来越大。




有意思的是,我看过他之前的演讲,在这些演讲中,他从来都不大谈自己的成功经验,而是把创业过程中的挫折和失败展示给所有人看,因为这才是真实的世界:制作游戏并不是很多人想象的那样浪漫,而充满了挑战和意料不到的问题。

在种种问题中,最困扰团队的,其实是商业运作相关的问题。不可否认,很多行业内的公司,都会把商业成功作为游戏成败与否的唯一标杆。然而,更重要的或许是,独立游戏团队最大的成功之处,就在于其制作上的标新立异。这里如果一味地追求商业成功,或许就会把游戏的独特之处给扼杀在摇篮当中。而小棉花的团队,在这方面也很有体会。




医学界有一句名言:有时治愈,常常帮助,总是安慰。小棉花在他的演讲中提到了这句话,并把它作为自己团队的座右铭。其实,所有有志于做游戏的人,都应该时时想到这一句话:虽然很多时候,付出了很大努力,但最后由于种种因素都没有取得成功。但是至少在这个过程中,制作游戏的人实现了自我表达,玩游戏的人获得了快乐,即便没有取得世俗意义上的成功,只要能活下去,就是胜利者。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-3-18 07:24 | 显示全部楼层
入行游戏业快10年了,也带出来了不少主策、制作人级别的新人,我想单从游戏设计这块,我能给你一些建议。

      首先看lz的问题,“自学游戏开发”,狭义的理解是编程,即程序员所做的工作,这个我不专业,就不献丑了。广义游戏开发,是整体的游戏产品化流程,包括最早的游戏立项阶段、到开发阶段的整体开发流程、质量保证,到上线阶段的宣传推广、渠道配合、运营、迭代更新、生命周期管理,到最终游戏结束的一整套流程。这一套流程太多太广,没办法全涉及,我就简单说一下新人如何入行,少走弯路吧。

      首先说一下对游戏设计师的层次,我是分成四个阶段的,即知识、技能、思想、道。分开说:
1、  知识:了解最基本的游戏设计规则、思路、做事方法,玩过足够多的游戏,理解不同游戏类型的区别和设计特点。但是,不知道怎么做!绝大多数没入行的新人,都处于这个层次。就好像做菜,我这辈子吃过上百种菜,我最爱吃川菜,我知道川菜大部分都是用麻辣口味,我知道宫保鸡丁是用葱段和红油、花生米做出来的。但是,我不知道怎么炒!
2、  技能:熟悉游戏开发中的分工、流程,熟悉各类开发工具的使用,熟知如何同其他同事配合,能够把自己想要的东西用流程图、原型直观的表述出来,熟悉游戏的开发、测试流程。一般入行了一段时间的设计师,都能达到这个层次,即有能力做,但把握不好做什么,很多人会止步于此。做菜的话,相当于新手厨师的阶段。
3、  思想:对游戏的本质有深刻的认识,了解并顺应行业的发展,玩家口味的变化,知道一款游戏成功的关键是什么,如何做才能达到预期的效果。对游戏有自己独特的见解,能够做出一些有价值、创新性的设计。能达到这一层次的人已经不多,天赋和勤奋都很重要。相当于高级餐馆独当一面的主厨了。
4、  道:我是没希望到这个层次,YY一下的话,相当于席德梅尔,宫本茂,或是乔布斯这样的大神了。

      这四个层次是渐进的,别指望自己能跳级,只会YY却分不出鸡丁好坏的厨子不可能做出好菜。说完这四个层次,我想你应该了解自己目前所处的情况,和所欠缺的东西了。给你的建议是

第一步、  首先了解一下游戏最基础的组成部分及实现方法(总得先学会分辨红油、盐和糖吧)
a)  了解平台
一般分成PC平台、掌机平台(3DS、PSV)、主机平台(PS3、Xbox、Wii)和新移动平台(iPhone、Android)。虽然会有跨平台的产品,但一般来说这几个平台的游戏都有其独特的设计特点,不同平台间游戏设计、发行、玩家喜好都是不同的。一定要多玩玩,体会一下其间的区别,仔细想一想为什么是这样。
b) 了解技术、美术、音乐
一个游戏,基本上就是由这三大块组成。(什么你说策划?很多国外公司是没有策划这个职位的)。你需要了解的是这些最基本的元素是如何配合在一起。举个例子,如果你想做一款iPhone平台的手机游戏,你要知道cocos2d引擎或是Unity3d引擎到底能做到什么程度;你要知道游戏在什么时候下播放音乐音效;你要知道2D、3D美术素材的区别。
c) 了解整体游戏实现流程
假设你要做一款练手的游戏,那实现的流程你要知道。一般是1心里有想法→2用笔纸画出来→3分解基本游戏功能点→4完成需求文档(自己做就不需要了)→5美术提供相应图素→6程序进行开发→7开发完成进行测试并修改bug→8满意否?不满意则回到1。满意则给别人玩,收集意见并总结。

第二步、  现在可以尝试分解游戏了(看看宫保鸡丁是什么组成的?各配料的比例如何?火候怎么掌握?)
      入门时,最好的学习方法是先尝试分解一款游戏,从这款游戏来倒推游戏的设计思路、逻辑和感受。
举个例子,愤怒的小鸟(抱歉我几年没玩了,可能记忆有些出入)。首先你可以先把它的最基本玩法,用一句话总结出来,比如这就是个弹射游戏。然后尝试把游戏分解成一个个的模块,如图


有了这样的分解,你就可以直观了解一个游戏从一开始构思,到最终实现,都需要做哪些工作。

第三步、  做一个试试。多做少YY,决不建议一上来就看大量的游戏设计文章和书籍,尤其是各种论坛。(看100遍菜谱也不如实际做一次)
现在你已经知道一款游戏该怎么做了,那么可以亲手做一个了。记住这句话:一个原型顶100个策划方案;一个Demo顶100个原型;一个听从玩家建议并修正过的试玩版顶100个自娱自乐的Demo。

做的时候,要从小到大,不要一口吃个胖子(番茄炒蛋还做不好,就别去尝试做满汉全席了)。比如先从100%复课一个小游戏开始,先100%照抄做出来。在做的过程中,你才能真正学到东西,YY的再多也没意义。等你能做出一个可玩的游戏来,再考虑加一些自己的思路进去。话说大部分只凭一腔热血的新人,都会倒在这一步,期间你碰到的问题会多如牛毛,头疼死。

如果你真通过了,那么做完了要给身边的朋友玩一玩,听听他们的意见,不要自娱自乐。记住你是做游戏给别人玩的,不是给自己玩的。至少在你这个阶段,玩家的意见要高于你自己的喜好。

第四步、  弄明白你想要什么游戏,行业内需要什么游戏(你想做大肠刺身,未必有人买单)
当你能轻松做出一个小游戏来,就可以认真考虑入行的问题,话说你能做到这个程度一般公司会抢着要的。这时候限制你的就不是知识和技能,这些都能在入行后轻松学到,最重要的是你自己内心的真正想法了。我想到了这一步,你翻过头来看自己当年的志向“只为做出自己心中的游戏”,会有不同的理解了。

最后,祝你好运!加油!

--------------------------------------------------------------------------------------------------------------------------------
PS:最后才发现问题是在【游戏编程】的话题里,lz是想问编程的问题,我的回答文不对题了。冒昧编辑了一下,加入到【游戏设计】等话题里了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-3-18 07:32 | 显示全部楼层
本来想花几个月好好做一个能看的二刺螈软萌风搓狐狸的游戏再来逼乎吹一吹,奈何最近忙着炼丹没时间捣鼓,上面这个是一个多人在线网游,虽然只是个用于测试引擎的美术两小时搞完的demo版本,但麻雀虽小五脏俱全,目前已经在github完整开源,过段时间不咕的话会移植到Android端。
这款游戏的实现相当相当底层
1-首先语言选定为c语言,完成一个内存池,实现内存的分配释放,这里主要问题是内存的分配和释放效率问题和减少内存碎片,实现基础的数学函数例如sin cos sqrt log等,这里涉及一些数学知识 不过总体并不算太复杂。
<a href="http://zhuanlan.zhihu.com/p/72355374" data-draft-node="block" data-draft-type="link-card" class="internal">DBinary:PainterEngine 内存池实现与细节2-现在代码完全独立于平台,不依赖任何三分库和标准库,在此基础上完成颜色,向量和矩阵的一系列封装,然后完成基础数据结构string,list,vector,map,queue这里可以参考标准库的实现例如map可以采用红黑树,总体而言不算太复杂,大部分是体力活。
3-完成一些常用的算法,例如信号处理相关的dft fft dwt 各类window及filter,密码相关的AES Curve25519 sha256 ,四叉树,kd树,声音混音器...不是所有都用的上,有些可以直接上手开干,有些理论较为深奥例如密码学那块的,可以上github上找ms,Google,apple一些大厂的开源代码改改移植过来
4-完成编写渲染器前的一些基本工作,例如定义颜色格式,封装render surface,texture,vertex等数据结构,现在可以开始实现软渲染器了,可以先从一些简单的几何图形光栅化开始,线,矩形,圆,扇形,三角形,如果不做反走样的光栅化都挺简单的,但如果是考虑渲染效率的反走样光栅化,就完全不是一个难度了,同时完成一些基础常用图形格式的解析例如bmp位图,自己创建了一种带透明通道的图片格式traw,由png转换得到。
5-完成透视投影变换,纹理映射引出VS及PS接口,完成一个3d软渲染器,需要一些图形学的基础,但这部分听上去高大上,完成起来并没用想象中那么复杂,因为不是主要用途,所以在实现一些简易动画上基本凑活够用了。
6-开始设计一门编译型脚本语言,构思其基本语法,实现词法和语法分析,然后开发编译器,虚拟机(带调试器),需要一些编译原理的基础,但真正用到的知识点并不多,主要是ast树的构建,可以采用递归下降分析法,可以设计为定长指令,这样虚拟机部分做起来难度小得多,一些核心算法完成后,主要还是堆语法糖之类的苦力活。
DBinary:从虚拟机架构到编译器实现

7-现在可以开始设计游戏引擎了,一个对象管理器方面的内容,一个游戏对象基本可以用initialize update render三部分组成,另外最大的难点应该是一个较为通用的碰撞检测实现,另外就是对象的创建,销毁,回收 这部分与脚本引擎对接,引出接口便于游戏拓展。
8-在上面的基础上,完成资源管理器,包括纹理,音频,脚本资源,文本资源...进一步设计动画管理器,粒子系统,音频管理器,编写tools以编辑资源
9-设计网络同步协议(帧同步),主要是处理延迟平滑,断线重连等问题
10-依据以上游戏引擎,绘制游戏的图片资源,设计游戏Object的逻辑处理代码,加载资源,并编写单机DEMO
DBinary:PainterEngine打造独立游戏11-编写游戏服务器,包括游戏大厅客户端,游戏大厅服务端,游戏实例客户端,游戏实例服务端,建立数据库管理系统,使用Curve25519+AES建立数据的安全连接.
12-编写平台兼容层代码,渲染renderbuffer并播放混音合成的PCM音频流,最后测试游戏,发布
开源地址:
matrixcascade/PainterEngine-Game游戏的网站服务端:
https://pan.baidu.com/s/1h5aBmCfizWNj7FTSv4cJ7A提取码:ue5w


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-3-18 07:33 | 显示全部楼层
学习如何申请版号。
发表于 2021-3-18 07:42 | 显示全部楼层
@腾讯游戏学院
感谢TGDC(腾讯游戏开发者大会)的邀请,作为入坑三年的游戏人,我就抛砖引玉,结合入行以来的工作和感悟分享我对于做游戏需要学习哪些知识的看法。
当年我也是因为喜欢游戏,想做一款属于自己的游戏才进入游戏行业的,题主这个问题,跟我自己在大四那会儿面临的疑问是一样的。来一波长文预警~~~~
目前我已经在游戏行业打拼了三年多,从一个做底层文案的边缘人成为了动捕导演助理,中间做过美工,做过测试,做过自媒体运营,基本跟游戏沾点边的都做过,越做越觉得想有一款属于自己的大型游戏是一个很遥远的目标,但是我希望自己的经历可以给题主一些有用的经验,也希望其他跟我们一样有游戏梦想的人能够共勉!先抛答案,啥都得会,但是必须有一部分精通的东西,这点很重要!身为门外汉,我就是这么一步一步走过来的。
先大概介绍一下游戏项目组的构成,这里截取一份职员表,一款游戏是多个部门协作,大量工作人员同时运作的劳动成果聚合体。比如编剧这一栏,细分的话一般会有一到两个leader(首席编剧,或者剧情总监)带着团队提案,然后确定剧情走向,再根据走向,下面的编剧们分开来写对应的内容对白啊,剧情啊,之后再汇总修改,制作分镜脚本。这个部门需要参与人员拥有一定的写作基础,和编剧思维,同时对项目设计的题材和内容熟悉。
还有技术部门就分的比较多了,做策划的,做程序的,做美术的,做音乐的,还有做CG的。国内有些中小型公司的技术部是包含美术部门的,但一般大公司美术部门是独立的,然后,策划部门也是一样。同时有的公司还会独立一个负责测试的部门。程序这边,负责前端的和负责数据库的,分门别类,这里就大概说一下,参与人员需要的拥有相对专业的技能,写代码啦,对应工具的使用之类的,专业性比较强,相对也是学习目标比较明确的。
当然在部分需要用到动作捕捉的大型3A里还会有脸模啊,动捕演员等等,相对也有技术支持的动捕导演,动画制作的人员以及其他支持人员。不过这个项目大多是外包,只有小部分公司会设立专门的部门负责。顺便一提,我目前就负责给动捕导演做助理,其实是蛮有意思的一个工作~
(《底特律:变人》动捕演员表)
看题主的疑问主要在于想开发游戏要学什么,其实从部门职能来看,游戏本体的开发体现在程序,美术和策划方面,是一个协同的工作流程。
程序,美术,这两个方向都是适合题主的可选项。需要注意的是,策划看似是开发工作中最简单的,实则不然。我的第一任老板老板曾经说过,策划的加班是最凶的,美术加班的时候策划加班,程序加班的时候策划加班,提方案需求的时候策划加班。
策划会跟进项目中基本所有功能和内容的前期提案,中期制作和后期上线。同时对接多个部门,把控进度,大到产品发展走向,小到某一个功能的测试,在一般的中小型游戏公司里,策划的职能概括起来就是,脏活累活异同包圆。所以策划基本上都是复合的T型人才,程序,美术,甚至音乐和运营都需要有一定的理解,需要的专业知识也是最多的,不要求你能亲力亲为,最起码沟通无阻。
当然如果想做一个独立游戏,那就意味着需要身兼数职,能画,能写,能码,能维护,当然,如果有钞能力就另说咯~
所以题主不妨从自身出发,先明确自己的优势或者兴趣,然后选择方向,选定了方向再选择细分的领域,比如想学程序,那是做前端还是数据库?想做美术,那是做原画还是3D美术?想做策划,那是做数值策划?还是关卡策划?最后再根据细分领域去学习相应的知识或者技能。
我进入游戏圈已经三年多了,确实也走过不少歪路,一毕业就抱着,我就要做游戏的想法一猛子扎了进来,以下是这几年我在游戏行业里的经历,希望能为题主提供参考,另外今年在腾讯游戏学院举办的TGDC(腾讯游戏开发者大会)上也有不少行业大佬对于各个细分方向的工作内容,相关技术等做了特别详细的分享,建议题主关注一下。


第一份工作:找自己的定位
先简单介绍一下自己,国内某普通大学毕业,之前一直是文科专业。大四的时候我面前摆着两条路,回老家,还是去追梦。因为想做一款属于自己的游戏,所以我们选择了后者,带着从寝室打包的行李搭上火车成为了万千北漂打工人中的一员。
怀着对第一份工作的期待,我进入了一家很小的游戏公司,每天就是是写特别廉价的文案,甚至无法参与到游戏内文本内容的制作。没办法,刚毕业没什么经验,小公司说是有各个部门分工合作,但实际上大家的工作交叉很严重,基本一个人进来啥都得干。
我来了没多久,隔壁的美工小哥离职了,一时间没人能顶上,我被转岗去美术部门,主要负责给宣传图加个二维码,改改尺寸和素材位置之类的“脏活”。当时我完全没接触过PS,每天都跟负责美术的同事请教问题,偶尔买个饮料或者请同事吃零食,就当是学费了,大概两周时间,基础的排版功能学得差不多了,才开始独立排版。
因为人手少,我一般都会自己写东西,自己排版,偶尔会对接程序那边做一个录入或者订正,但是画图并不是我擅长的方向。
有一次美术大大请假,有一个需求特别急,实际上就是一个游戏内弹窗背景的调整,但是我只会排版,没办法,托了好多关系,找到一个能接私活的画师帮我做了,钱还是我自己掏的,毕竟不能因为我去耽误大家的进度,好在也不贵。
老板巡视工作的时候站在我工位边上,“适应能力挺强啊,年轻人,大有可为!”
我笑了笑没说话。
又过了两个多月,我开始慢慢接触程序部门,负责对接游戏里的部分素材,正当我感觉自己离做游戏越来越近了,突然就空降了一个美工小姐姐,没错,我又转岗了。
这次老板让我去做游戏运营,说是运营实际上就像是在做客服,每天在QQ群和玩家互动,还要更新微信推送,真正跟“做游戏”挂钩的工作内容好像已经慢慢被剥离掉。不得不说,这是我第一次感到迷茫,我想做游戏,结果现在做的东西跟游戏好像并没有关系。
好在没过多久,公司扩招了运营部门,其实加上我一共就四个,我成为了临时组长,在做运营期间,我又对剪视频有了兴趣。一开始自学了edius,因为比较简单,后来发现后期小哥用的是adobe全家桶。我就发挥了自己死缠烂打的特点,成天跟后期小哥泡在一起。后来,也学会了基础的视频剪辑和特效制作。
有一天,我在空闲的休息时间帮后期小哥剪片子,正巧老板路过,看了我一眼,“哎呀,要不然说是年轻人呢,学东西就是快,大有可为啊!”
我对老板张口闭口的“大有可为”已经听出了茧子,这次连回应都只是报以一个点头。
之后过了一段时间,玩家新增上不去,同时平台阅读也惨不忍睹,我咬了咬牙买了一个月的新媒体课程准备加强自己的运营思维,然而天不遂人愿呐~嗨呀,我又要转岗了。老板招来了一个有运营经验的新媒体主管,其实就是老板的亲戚,原来在某大厂做运营专员,被老板硬拉过来帮忙。那我这个所谓的新媒体组小组长还有什么存在的必要呢?
最后一次转岗,我去了程序部,学会的剪辑技能没用上,反而被要求去学代码,做表,填数值,文科生地狱啊。这一次我即便发挥自己死缠烂打的技能也没用了,程序一个比一个忙根本没时间理我,填表错了一个标点符号,改测试环境的时候不小心用了中文逗号,各种问题集中爆发,我也从老板眼中的“年轻人,大有可为”变成了干啥啥不行的边缘人。
说到这里我的第一份工其实已经走到了头。原因是,我在第一份工作里虽然学到了很多,但并不是那个不可或缺的人,连螺丝钉都算不上,撑死是给机器运转的间隙润一润的废油渣子。
之前也说了,游戏这个项目是无数个部门精密合作的机器,螺丝钉随时可以换,而关键零件不能缺。这不仅适用于做游戏,在任何一家公司都是同样道理,你有一技之长的情况下,其余技能的覆盖面广,这叫关键零件。只专精一个方面而忽略发展,这叫螺丝钉。在下不才,正好是那个既不专精,覆盖面还不怎么广的废油渣。
同时,在第一份工里,我也有了一些感悟,公司是利益指向性的组织,刀下见菜是公司的唯一目标,招实习生是为了压缩成本,毕竟实习生转正后的工资往往比社招一个现成人手要低得多。
一年多的时间转瞬即逝,回到家躺在床上,听着亲戚们在客厅吹着牛,谁家的儿子考公了,谁家的女儿留学了,我心里有些不是滋味儿,北漂是好选择吗?或者,做游戏是正确的目标吗?
年假放完,我回到公司,老板把我叫进办公室,跟我谈了谈这一年所谓的成长,我们谈了很久,我记不清具体都有哪些内容,我只记得,我们聊着聊着,我开始否定自己,这一年,我一事无成,啥都干过,啥都没干出成绩。老板也借坡下驴,委婉地提出,为了缩减开支,公司需要一定量的裁员。
“其实做这个决定挺艰难的。”老板点上一支烟。
“我一直很看好你,你年轻,有冲劲,学东西也快,工作也没怎么掉链子,正所谓广阔天地,大有可为,日子还长,你有大把的时间学新的东西”说着,老板拿出了一个花名册和一个红包。
我这个“大有可为”的年轻人就赫然排在裁员预定名单的第三位。
拿着一笔赔偿金和老板自掏腰包多给我的一千块钱,回到出租屋,看着自己经营的公众号和自己出镜给公司拍的短视频,反思自己。从开始工作到离职,这一年我到底成长了多少,其实我就是在各个部门转了一圈,知道了大概的工作流程和内容,同时,我看似经历了不少,但没有找到自己的明确定位,同时因为经历了太多部门,所以啥都懂一点,可是要真正上手做事情就很难了。
反思是很重要的技能,这个习惯我一直保留至今,每隔一段时间,如果我迷茫了,或者放松下来,就会周期性得回顾自己的工作或者生活,及时调整状态,或者找出问题。而这个习惯也为我第二份工作打下了坚实的基础。


第二份工作:发挥自己的特长和经验
俗话说得好,金三银四,我“流窜”在各个招聘会和求职APP上,终于,一个月的辛苦获得了回报,一家比较大的公司在招聘游戏方向的导演助理。本科导演专业,会做视频,能写文案,以及游戏行业工作一年的履历,让我顺利地入了职,然而入职之后,我没想到这个所谓的导演助理,竟然是动捕部门的导演助理。
进入公司的第一项工作,是某游戏的角色做舞蹈动捕。没想到机会来的这么快,正当我准备一展拳脚的时候,导演慢悠悠得对我说:
“别急,我说啥你做啥,先跟着学。”
我似懂非懂得点点头,然后开始对接演员,对接摄影团队,沟通技术部门,同时还要顾及美术那边的设计效果,最后要联合运营部门做持续发酵。一开始看到密密麻麻的安排和部门关系链,我是真的有些力不从心,但真正把部门一个一个拆分开,归纳了部门关系之后,我发现了自己一个天然的优势:上一家公司的工作经历,让我接触到了一个游戏项目中绝大部分的工作内容,我知道这些部门各自在对接需求上会存在什么问题,如何沟通协调,如何解决分歧。
要说在这行学到了什么,那可太多了,沟通部门和演员的待人接物,调试设备的设备操作,协助审素材的空间想象力,从美术原画到动作表现的审美能力,这一行我学到了太多,而且工作是周期性很明确的,两个项目中间的间歇期,就是留给我反思和巩固的时间。
经过一个多月的奋战,动捕完成,制作也进入了尾声,即将实装之前,导演把我叫到楼道,递给我一根烟:
“可以啊,咋感觉你啥都懂,比我之前赶走的那几个SD实习生可强多了,大有可为!”。
我背心一凉,“大有可为PTSD”这下应该是确诊了。
“等那边实装完了,你再对接一下,后面还有几个CG已经提上来了,研究研究。”导演狠狠嘬了两口快燃尽的烟,拍拍我的肩膀,闪身走出楼道。
我叼着根本没点着的烟,CG?然后猛一抬头“哎!没火儿!”。
后面我开始协助CG的动捕项目,也是我第一次深度接触动捕这个行业,和网上流传的卷福啊之类的大佬们一人承包所有演出不同,一般的动捕演员只负责动作,脸模会拿去捏或者再找专门的脸模演员进行表演。另外在声音方面,动捕演员对于台词的要求并不苛刻,但也要求在拍摄时能按节奏,情绪去呈现完整的台词,方便后面的二次配音。
我第一次接触动捕演员的感觉就是,他们不仅辛苦,而且酬劳并没有传统印象中的演员那么高,这一行更要求演员的身段,动作,偏肢体表现,相对的,动捕演员也很难熬出头,毕竟大部分情况下脸都不能露,更难有所谓的流量和粉丝群体,他们是火在圈内,火在行业口碑里的演员。
大部分动捕演员是极其敬业的。
有一次拍一个CG的武打画面,导演一直对动作不满意。夏天天热,棚子里即使有空调也凉快不了太多,动捕演员穿着覆盖全身的衣服,头上的设备把额头勒出了一道道深深的痕迹,身上也被吊着的威亚勒出不少血痕,拍摄结束的时候天已经蒙蒙亮,负责监视器的小哥在一旁打盹,而满头大汗的演员在这个时候在监视器前反复看了几遍,跟我们说:
“最后收脚的地方有瑕疵,有一个点跑了。能不能保一条再来,也方便你们后边调整。”
他反复活动着扭伤的脚踝。
那会大家都已经累得够呛,而演员为了让不给团队添麻烦,坚持又拍了一条,等最后一帧捕捉结束,导演让大家先整理素材和数据,睡醒了再调,转头对演员点了点头。我看到他一瘸一拐地走到场地边,一口灌完了剩下半瓶矿泉水,擦了把汗开始揉自己的脚踝。
“还疼吗?”我拿着云南白药冲着他走过去。
他抬起头,笑着说“本来都好了,最后收脚又崴了一下,还好收住了,要不然又得再来一条。”
“辛苦了,一会儿我打车把你送回去。”我在他身边坐下,晃着云南白药的瓶子准备帮他上药。
“我开了车。”
“你这脚能开?”
“那要不你开,然后把我车开到你家,等这几天完工了我过去取。”
“这样啊,我没驾照。”
后面的拍摄很顺利,项目结案完成,我们发了一笔奖金。
在团建的时候,导演喝得起劲,放下酒杯少见得严肃了起来。
“其实咱这个行业,很难出头,我们做的是表现,玩家关注的是表现,玩的也是表现,但是,我们这群人,不能再明面上表现。”
我掏出烟散了一圈,发现到自己手上刚好没了,把烟盒揉成团。
“但是大家都喜欢这一行。”
同事们不由得点点头,其实在很多大型游戏中,不管是表情动作,还是技能招式,或者舞蹈等视觉演出都有动捕的参与,同时有不少动捕演员有着比肩甚至超过一流演员的演技和台词功底,比如《GTA5》里的老崔。
同时,动捕技术应用的目标追求的就是一个“真”,让人物动作表情生动,加深玩家的代入感,渲染气氛,优化游戏体验,这些都是动捕技术发挥作用的点。
“可是啊,人是越来越难招了,咱这行有门槛吗?说实话有,但是为啥咱会把门槛放低呢?不就是有经验的招不来,没经验的不敢来嘛,像你这种愣头青现在越来越少啦。”导演夹着烟,食指和中指一起指着我。
我尴尬了一下,抿了一口酒,“对了,咱之前设备出了点问题。”
“出来吃饭谈什么工作!返厂呗,其实现在国产牌子也挺好,哪像原来只能用进口货,死贵死贵的。”嘬完最后一口烟,导演嘴唇一缩,估计被烟屁股烫了一下。
  之前在工作的时候,最精贵的就是设备,进口设备贵,设备开销是项目组投入的大头,后来国产设备发展起来,整体性能够比肩国外的主流型号,自主研发的光学三维动作捕捉系统也和国外的动捕技术整体差距不大,国产技术为我们这个行业降低了不少的成本。
“我以前刚做这行的时候,人家问我干啥的,我说是做游戏的,人家以为我是程序员,后来我说是做动作捕捉的,人家以为我是拍电影的,我寻思好像也没差。”导演夹了一粒花生米,筷子在半空中比划着。
我叫来服务员,又点了一箱啤酒。
“我跟我家人说的就比较直接了,说就说我在拍电影,反正第一份工我说我做游戏他们一点都不感兴趣,感觉像是不务正业。”
对于动作捕捉这行业来说,对于玩家还好,对于不太接触游戏的人来说一直挺神秘的,这玩意儿怎么能用在游戏里,这不是电影技术吗?《阿凡达》?《爵迹》?
实际上对于动捕技术缺乏认知是很正常不过的事情,毕竟大部分玩家和观众注重是表现,对于技术的研究并没有那么深入,同时很多动捕的镜头或者元素也会被误认为是纯电脑合成的动画。动捕的好处就是更加灵活,动作更加逼真,同时制作周期和难度相比在动画系统里K帧要容易一些,效率更高。
其实在从业者角度,动捕行业是一套流程化明确的项目进程,并不是圈外人认为的只要演好动作拍好镜头就OK,在2020TGDC(腾讯游戏开发者大会)上,腾讯互动娱乐 光子技术中心 Lead Motion Technician Kevin Wang就对于动捕工作目前的整体流程,节奏,和后期制作做了一个详细的梳理,当然也一定程度上对我的工作起到了指导作用。
从前期筹备,到中期拍摄,再到后期剪辑有些细分的工作流程要比我目前接触的更加细致,像是多次清理和优化数据,和手K道具的问题,以及数据应用和虚拟相机运用。当然动捕工作的整体流程也有详细的说明,对于动捕行业感兴趣的话,不妨去看看,毕竟我作为导演助理目前只能分享一下我自己的工作经历,多看看行业大佬的分享对于提高自己是很有用的。
“差不多了,明儿还干活儿呢,撤吧。”喝完最后一口福根儿,导演站起身扫了扫桌子旁的二维码。
“我X,又超了300,还得我垫上!”导演付完钱,在微信群里发了一个红包。
“都给我打车回,明儿不许迟到,最后一天干完就能休息几天了。记得要发票。”说着,他慢悠悠地往路边走去。
新来的实习生看着走向路边的导演。
“他找树去了?”
“得了吧,这人白酒斤半,啤酒无限,咱这桌且不够他喝呢。明儿别迟到了,早点来,多看多学,早上手,年轻人,大有可为。”我拍了拍他的肩,坐上面前缓缓停下的车。
“诶~导演往哪儿走呢?”实习生还是不放心,准备追上去看看。
“瞎操心,他家就在旁边小区,估计去便利店买烟了吧。”我摇下玻璃冲着实习生喊着。
这就是我的故事,“大有可为”的事情可能发生在你,我,他的身边,回到题主的问题,想要自己做一款游戏,需要学习哪些知识?
按照目前我的认知,你需要学习的很多,但你也不需要学习很多,因为做游戏是集体行为,每个部门都是不可或缺的,你要做的就是从自身的优势出发,发挥自己最擅长的地方,运营也好,程序也好,美术也好,文案也好,剪辑也好,拍摄也好,条条大路通罗马,手上有活就能做游戏,重要的是成为某个部门中不可或缺的人。一切都可以学习,一切都可以在工作中学到。
最后,最重要的一点就是,永远不要放弃学习和前进的脚步,每向上一步,就多往前面看两步,这行业需要的是一项专精,多向发展的复合T型人才,不管是程序,美术,策划还是运营。题主要做的就是有迈出第一步的勇气,然后不断地学习。学会反思,反思自己的工作和生活,就这样~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-3-18 07:44 | 显示全部楼层
看到楼上有人推荐游戏引擎,我也推荐一款非常适合入门的游戏创作工具。
通过这个工具,一个想要自己做一款游戏的人可以轻松地接触和尝试和游戏制作的各个方面,包括脚本、环境、动画、镜头、物理、UI、照明、效果、声音等等,在欢声笑语中打出……哦不是,了解到游戏制作的方方面面。
这个工具叫做Roblox,中文名叫罗布乐思。罗布乐思本身的定位就挺有意思,它除了是一个编辑器以外,本身也是一个游戏。或者可以这么说,罗布乐思这个游戏的主要内容,就是让玩家在这个游戏里创造自己的游戏——从这个角度来说,它和《我的世界》有相似之处。它入门很简单,就算没有学过编程语言的人也能在简单学习后轻松上手。国外的罗布乐思玩家很多年龄都在15-25岁之间,有的还是高中生。不过罗布乐思也不光是面向玩家或编程基础弱的新手的,对于有一定基础的老手或是游戏开发者来说,它可以用来验证游戏创意和玩法,而且还能很轻松地发布制作好的内容以便让其他玩家或同行评测。最关键的是,它是免费的。
所以要是概括起来说的话,我觉得罗布乐思优点有这么几条,一是对萌新它好学易用,二是对大佬它又有足够的拓展性满足各种高级需要。此外,它还拥有一个正在蓬勃发展的玩家社区。


好学易用
关于好学易用这一点,我自己是比较有体会的。我自己以前也折腾过帝国时代2和魔兽争霸3的编辑器,以及贝塞斯达用来给上古卷轴系列和辐射系列进行配套的Creation Kit以及G.E.C.K。这些编辑器功能都很强大,但对于我这么一个非从业者来说就显得过于复杂了,很难通过自己摸索去找到在哪里有什么功能能实现自己想要做的效果。我感觉在这一点上,罗布乐思会好很多。一来它的界面很简洁,二来它的官网提供了很多教程。虽然有一部分教程是英文的,阅读起来会有些难度,但还是有很多教程已经有了中文版。其中我印象比较深的是点开官网教程的第一篇——《创建基本的障碍跑游戏》。这个标题给我的印象之深,堪比英语四级单词表开头的Abandon和《新概念英语》第三册第一篇的标题A puma at large。这段教程清晰地分解了一个障碍跑游戏原型制作过程中的各个环节和要素,从设置环境,创建起点到设置镜头,放置、调整并锚定组成奔跑路径的部件再到测试游戏,整个过程就带着制作者接触了游戏制作过程中的一些基本概念。而且从零到一做出这么个原型来,再测试一下发现能跑通,也挺有成就感的。


除了这个障碍跑游戏之外,我也尝试了一些其他基本功能,比如做一个FPS对战游戏的原型。这个过程里很多功能其实都已经整合好了,制作者直接通过菜单调用就可以了。比如弄FPS对战游戏可以直接通过菜单放置重生点,安排分队或是乱战,从资源库提供的武器模型里找出你想要的,然后就可以看着一群小人开战了……不知怎的有一种小时候和小伙伴摆开塑料小人然后嘴炮对战的感觉。类似的已经整合好的功能还有好友系统聊天系统商店系统之类,都是直接通过菜单调出,再调整参数就可以用了。
如果对自己做出来的成品有足够自信的话,我其实可以直接发布我的“作品”,毕竟罗布乐思拥有PC端多人同时创作和一键发布功能(包括PC端、移动端、xbox、VR等海外全平台),发布之后其他玩家就可以访问并试玩游戏。但考虑到我的“制作水准”,想了想暂时还是先不丢这个人了。
除了容易上手之外,我发现罗布乐思还提供一些免费的资源,比如免费服务器以及免费的美术资源。我当初玩贝塞游戏要去鼓捣编辑器的最主要原因无非就是人太丑了/衣服太丑了/武器太丑了,但哪怕是为手上的枪换个表面纹理这样的小MOD对于不熟练的制作者来说也都充满了挑战——你要找图片,要剪裁图片,要导入图片然后还要再调试。这过程也是相当烦人的。所以有现成的资源可用就意味着能少掉不少麻烦,省事而且省心。


足够的拓展性
对于那些有一定编程和设计能力的玩家和从业者来说,罗布乐思也有很多拓展性的高阶功能,其中一部分是关于游戏里一些更复杂功能的实现。作为一个RPG爱好者,这部分我印象比较深的是教程里关于设计对话树的一篇Designing a Dialog Tree(https://developer.roblox.com/zh-cn/articles/Designing-a-Dialog-Tree)。这篇的内容涉及了对话树作为一个模块在游戏里的存储和调用,对话节点的生成以及通过UI的呈现等等,比上面那篇制作障碍跑游戏就抽象得多,而且也需要更多相关知识才能读懂了。但对于比我水平高得多的大佬们来说,也只有这些功能能支持他们做出自己心目中的游戏所需要的效果吧。
这张图片展现的是将编辑好的对话树结构导入设置好的用户界面的画面。这个界面跟很多RPG游戏里的对话选择场景已经很相似了。


除了对话树,画面也是一个颇能体现罗布乐思拓展性的部分。虽然它默认的画面风格比较类似乐高和我的世界那种几何体堆叠的效果,但实际上,只要配合插件也可以实现更多更理想的美术效果和画面风格。这部分内容也是我在玩家社区里了解到的,比如这个叫做Apartment 23的模型。作者说他主要是想打造一栋赛博朋克风格的屋子,于是就有了这栋23号公寓(https://www.roblox.com/games/41829220/Apartment-23-SHOWCASE)。说实话,场景的配色很有些《杀出重围:人类革命》的感觉——那确实是赛博朋克游戏里的名作——风格也偏向写实,不再是乐高式的几何体堆叠的风格了。这个23号公寓眼下还只是一个demo,仅仅是一个布景的展示,但它已经能让我想到一些封闭空间里的AVG游戏,比如《到家》或者《艾迪芬奇的记忆》。
Apartment 23效果图


社区和未来
虽然在国内的知名度还不够高,但罗布乐思在海外已经有了一个成熟的用户群体,拥有超过1亿月活玩家,超过400万开发者,以及涵盖所有品类,数量超过3000万的用户作品。2018 年,Roblox携手ID Tech在全球22个国家举办编程夏令营,吸引了19000名学生参加。而且在开发者当中也已经出现了一些明星制作人,比如Alex Balfanz。他用罗布乐思制作的“Jailbreak”(越狱)在发布当天就已经有75000名玩家参与。而这个游戏的制作水准也相当不错,它像是一个画风近似乐高的GTA,内容相当丰富。由于其品质出色,Jailbreak也给作者Alex Balfanz带来了丰厚的回报。在2017年接受采访时他就曾表示Jailbreak给他带来了七位数的收入。
Jailbreak效果图


某种意义上,罗布乐思有些像Nexus早年的样子,也是在国外已经风生水起之后才逐渐在国内拥有影响力。眼下罗布乐思也已经开始有各种面向国内玩家和开发者的照顾。上面我提到的中文化的教程只是第一步,在此之外游戏社区也会提供广告和推荐的服务,以及创作者和玩家之间的交流机会。罗布乐思有官方的开发者论坛,也有个官方的QQ群163421242,这主要都是方便开发者们之间的交流,或是遇着什么问题能够及时向大佬们求助。据我了解,针对国内的创作者,他们有一个3000万扶持基金的“北极星计划”,帮开发者把优秀的作品推向海外。最近他们还搞了一个创意征集大赛(https://roblox.qq.com/collect/index.html)来征集游戏创意和场景及形象设计。
最后,在这推荐罗布乐思也是因为我觉得这是一个很有意思的游戏(或者说是编辑器)。就算不准备从事游戏开发,玩玩罗布乐思也会让你对游戏有更深的了解,就像我上面提到的自己试着做一个FPS的原型或是努力读懂关于对话树的教程那样,在这个过程里你会逐渐明白一个游戏都有些什么,也许以后再看同样的游戏就能有些全新的视角。而对于那些想要把制作游戏变成自己追求的人们,在这里的尝试或许能成为职业生涯的第一步也说不定。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-3-18 07:50 | 显示全部楼层
这么巧,我之前写过一些游戏,做过主程,还为某在线课程上过游戏开发课。(虽然我已经4年没碰过游戏代码了,但思维框架还在)
需要学习哪些知识?那就多了,基本的,包括游戏设计,游戏项目管理,资源制作,游戏引擎使用,计算机图形学等等。更深入点,甚至流体力学,大学物理等课程的内容都能用上。如果要把这些课程都搞明白才开始开发,那是不可能的。其实做游戏就是个边做边学的课程。这个回答也不可能把所有知识给你你讲明白,但我尝试把知识框架讲好,然后读者可以根据框架自行学习。
如果你是打算通过游戏创业赚大钱,那么我建议别打算一个人做游戏,最好组建个小团队。在开始读本文时,可以先看看自己适不适合做游戏。可以看看我三年前写的一篇文章
桔了个仔:关于是否应该选择游戏行业好了,下面开始正文。
我在南洋理工大学读硕士时,选修了一门叫《Introduction to Game Design》的课。我那时候刚辞掉游戏主程的工作去读研,别人看我选这门课有刷学分嫌疑,其实我主要还是通过这门课来回顾我游戏技术生涯,完善游戏开发知识体系。课程大纲如下:
当然,这个大纲仅仅供参考,因为是高校的课程,所以更偏底层技术,而对于新手来说,接触底层技术只会把自己弄晕,所以还是建议跟着我这个回答的目录去学。而且这课一共上了16周,每周3小时,所以这里不可能全部列举课程内容。实在感兴趣的读者可以根据大纲去搜索相关资料。
注:ppt也不便分享,而且我并不认为这个课程的ppt在没有讲解的情况下适合大家。
1. 游戏设计(Game Design)

游戏设计里一个常用的理论是MDA,原论文可以参考[1]。如果你是游戏从业者, 你也许会觉得这套理论很不实用,但其实这套理论对于新手来说,可以树立一个良好的学习框架。
之前恰好写过一篇文章,可以看看:
桔了个仔:游戏设计课程总结一:MDA理论当然,理论不止一个,只是MDA毕竟经典而已。


2.游戏开发流程(Game Development)

之所以我把开发流程放在技术前面,是因为我看到有些团队不注重流程管理,搞得系统混乱,bug百出。
从项目角度来说,游戏开发流程如下
对于新手来说,可以先保存,因为你现在看也不太懂。等你开始做游戏了,你会发现这个流程可能恰好很符合你工作习惯。
但更多情况是,你会发现这套流程是从传统软件借来的,并不好用,因为你的想法会经常变。
所以对于开发流程,现在多数团队都选择基于Scrum的敏捷开发。
别看这个图复杂,实际操作非常简单。把每个功能写成一个个小卡片,贴在响应位置。
当然,并不一定是物理的看板,也可以是软件。具体项目管理的东西就不讲了,有兴趣可以看看之前我的回答。
大家做项目管理时都用的什么工具?

3. 游戏引擎选择

游戏开发是非常庞杂的,我们老师说,做游戏几乎可以用上你大学时学过的计算机知识。
当然,由于现在游戏引擎越来越强大,所以很多知识点并不一定需要很深入。
关于引擎选择,市面上很多了,但我仅建议学习Unity和Unreal,如果非要选择一个,那就Unity。


4. 游戏开发技术

附上我2016年设计的一个游戏开发教学大纲,虽然后面由于合作没谈拢所以没录制,但这个大纲当时还是得到认可的。随便拿去参考。
这里简单说一下吧。
    第一章:没什么好介绍的,就是游戏idea。第二章:讲解场景制作。场景制作可以在Unity商店购买场景拖到unity里微调,也可以用maya或者3ds max制作资源。具体这两个建模软件的用法就不说了,B站随便一搜就有教程。场景烘培,光照贴图,指的是把一些动态元素转换成静态元素的东西,例如计算阴影,如果在游戏里实时计算,对性能消耗非常大。而有的游戏并不需要太多的光线变换,所以可以在资源里,把阴影“烘培”进资源里,也就是说,场景本身已经“画”上了阴影第三章,UI制作,这个也是非常简单不涉及技术的东西。可以通过拖拽组件来完成。第四章,配置表制作。因为游戏上线后需要经常调整数值,所以关于数值的东西,不能写在代码里。所以需要专门的数值配置表,游戏启动时就从数值表读配置。可以用xml或者json格式。第五章:关于如何设置合理数值。这个比较主观,得凭直觉,也可以通过试错来调试。第六章:关于如何保存游戏进度(本地或远程)第七章:背包系统。主要是讲如何保存玩家的道具,物品等。第八章:任务系统。如果管理玩家的主线和支线任务,如何保存任务进度第九,十:配表,试错中改善体验。




5.补充一些知识点

记住这些知识点有助于加速学习。
模型
    建模是通过切割平面的方式来完成的。最后导出的模型会包含三角面以及贴图。在模型文件里,会通过点(vertex)定义面(face)。如下图,而且面是有方向的,face里的vertex顺序会决定边的顺序,而边的顺序会决定面的方向也(也就是法线)(通过右手法则),面的方向决定贴图贴在哪边。


特效制作
需要粒子系统支持。粒子系统 (Particle System)组件通过在场景中生成和动画化大量小型 2D 图像来模拟流体实体,如液体、云和火焰。有关粒子系统及其用途的完整介绍可以看看unity的官方文档
粒子系统 (Particle System) - Unity 手册

编程语言
至于编程语言,Unity用C#,Unreal用C++。这里就不介绍编程语言了。

找资源
可以去unity商店里面,买到(或者免费下载)声音,特效,模型,场景等资源。
经典书籍
《游戏引擎架构》这本书是关于游戏引擎技术里最权威的,中文版是milo yip翻译的,可惜他前段时间因为不当言论退乎了。
他也写过一篇非常好的文章《游戏程序员的学习之路》,非常有启发。
<a href="http://zhuanlan.zhihu.com/p/24424967" data-draft-node="block" data-draft-type="link-card" class="internal">Milo Yip:游戏程序员的学习之路(中文版)彩蛋

补充点学习资源。B站有个系列搬运得不错,可以参考。
【极客学院】Unity3D入门教学 + 附c#编程基础_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

p.s.搞游戏的,不能不懂一些行业黑话,虽然是三年多前的文章,但目前还有很多未过时的。

桔了个仔:游戏行业入行指南之——游戏公司黑话

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-3-18 07:59 | 显示全部楼层
在这里推荐另外一款简易的二维游戏引擎
名不见经传但是十分强大的clickteam fusion

下面是官网的连接,国内访问可能有时候会比较慢。
Clickteam -Home
相比 @Carrie Chan 所说的RPG maker优势它的在于更加底层,制作的时候对于整个引擎的把控更加容易,而且能通过插件来方便的扩展游戏的功能,比如对于二进制文件的读取只需要在场景中插入相应的插件就可以了(RM当然也可以,但是必须要修改脚本才行,对于新手而言十分的不友好)
你发挥创意制作的当然也不只限制于游戏了,你甚至可以制作一个动态动画页面,然后另存为HTML5,来实现网站的编辑,比如写写在线小游戏啦之类的。(官网上面甚至有着音乐播放器,文本编辑程序,DVD播放器,桌面宠物之类的范例==真佩服他们的脑洞)
而你所需要做的,就是使用那些已经封装好的方法,自己想好实现功能的逻辑,再去编写逻辑就好了。不需要你编写一行字符式的代码。
编辑之后就像是这样:


跨平台性,从PC移植到手机上基本上就等同于另存为。(但是需要另外购买导出插件,当然了国内自然有XX版本==)你能够轻松地跨越PC,HTML5,Flash,Android,Ios来发行你的游戏。近日来还支援了Universal Windows Wlatform平台,你可以直接导出成为UWP咯~这样一来登陆Xbox也不是不可能了!
导出插件虽然价格不菲,但是破解版本仔细找找还是有的,这里推荐大家有条件还是购买正版,就是一个游戏大作的价格。(详细价格请见最后)

软件界面1
内置简易的图片编辑程序,功能类似于画图,并且对于素材的要求没有RPG maker严格(例如行走图的帧数没有限制并且不需要按照指定格式拼合)
但是它国内并不是十分火热,软件在国外有一定的用户基础,经过数次迭代,在国外倒是有许多的范例网站和教程网站(需要英文水平)
这里给出一个:MMF Examples Index
国内虽然有教程但是十分稀少

软件界面2
另外就是可以制作各种类型的游戏,并不局限于RPG,avg。但是相对的动作类游戏制作要比RPG简易一些,使用它制作RPG的话许多底层的系统需要你去从头构建,例如背包和回合制战斗系统。这一方面自然比不上高度特化的RPG maker。
最主要的是有功能完全仅仅限制部分插件的免费版,完整的功能对比如下
免费版下载链接:Clickteam -Clickteam Fusion 2.5 Free Edition


比较著名的作品有最近比较火热的玩具熊的五夜后宫(游戏)

购买正版steam上面就有卖的,标准版夏季促销打折86~


如果入门的话可以参考我的专栏==小小地带 - 知乎专栏
(话说这个算是广告吧……先道个歉==)
最近也在学习它下面是初学的时候制作的游戏截图……素材还是RPG maker时代的==
连同学习带着上课,晚上和周末的业余时间来制作,来来回回也就用了一个月。







硬要说的话,这个还是我当年用RPG maker的一个作品的续作==
最后,一定不要放弃你的游戏梦想,一直坚持下去,说不定哪一天就实现了呢?
共勉。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-20 14:52 , Processed in 0.145277 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表