游戏的诞生环境——游戏引擎
开发游戏的第一步就是要掌握一些制作游戏的工具,注意是制作游戏而非游戏素材。通常来说制作游戏需要的就是游戏引擎,现在很多游戏引擎都可以个人免费使用,像ue4、unity、cocos这些引擎都比较方便。使用引擎还有一点好处是其中包含了很多插件和常用模板,这样开发者就不用花时间从零开始做一些特别基础的部分了。
游戏引擎的使用是最重要的,也就是如何将其他部分结合起来的一个工厂,无论是自行设计还是东拼西凑,都是要在游戏引擎中将所有内容关联,然后打包出来。主机平台就打包成主机版本,手机平台就打包成手机版本,PC平台就打包成PC版本。
游戏功能的实现——代码编程
游戏都是一个个功能结合的产物,每一个功能都是需要进行设计实现的,通常来说就要学习计算机语言去实现功能,也就是编程。不同的开发环境(引擎)使用不同的编程语言,例如ue4引擎使用C++开发,unity使用C#开发(也可以用js),所以通常是要学习一门编程语言的。即便是实现最简单的移动,也得明确地告诉计算机:哪个按键往哪个方向移动,速度是多少。
如果不会编程的话,也是有办法的。像ue4有蓝图功能,可以在不编程的情况下制作游戏功能,unity也是有一些插件允许玩家拖拖点点实现一些基础功能,像RPGMaker这种也能通过配置制作出游戏。但是要注意,这些方式的能力还是有限的,也就是必须在这些功能的范围内,如果想要实现一些自身不支持的功能,那么还是要靠自己编程。
游戏的外表——美术资源
美术资源是游戏的外观表现,这个真的需要一定的艺术细胞了,不是随随便便学就能短时间学明白的,灵感有时候比理论更加难。如果是做2D游戏,那么需要考虑怎么绘制图片,如果是做3D游戏,那么还要考虑如何制作游戏模型。
不过现在网上和游戏引擎的官方商店也会提供一些付费或者免费的美术资源,如果有喜欢的或者可以凑合用的,也是完全可以拿过来直接用的。等到游戏真的有一定成果时,再付费外包一些美术团队制作,然后把资源替换一下也是可以的。
网上也有很多工具,最常见的PS可以进行图片处理,3DMAX可以建模,有一些软件还能够制作像素图片和模型,如果有能力的话,可以学一学,自己做点自己喜欢的东西,加入到游戏中。
游戏的灵魂——游戏玩法
想要制作游戏,那么一定要清楚要做成什么样的游戏,也就是非常非常详细的规划,一般叫做系统文档。比如FC红白机上的《坦克大战》就需要考虑很多细节问题:
1.玩家是否可以双人,每个玩家的颜色是什么,玩家可以强化几个阶段
2.有哪些强化道具
3.敌人分为几种,每种是什么样子,移动速度多少,子弹速度多少,移动轨迹采用什么方式,是否可以拾取道具,每局每种敌人数量与出生位置
4.地图如何设计,一共有几种元素,什么元素允许子弹穿透,什么元素允许子弹破坏,什么元素阻挡角色
5.游戏成功失败的判定方式
等等
如果连游戏的设计环节都想不明白的话,就没有必要往下做了,因为很有可能做着做着就蒙了,越做越乱。虽然有些设计确实是在制作的过程中产生的灵感,但是灵感也要进行再三思考,绝对不能想什么就加什么,不然最后就失去初衷了。
游戏的附属——游戏声音
一般来说游戏都是需要音乐和音效的。音乐是指时间较长的BGM,音效指示时间较短的音乐片段,如《超级马里奥兄弟》中踩到乌龟的声音,吃到蘑菇的声音,吐火球的声音等等。
虽然音乐和音效并不是必须的,但是有音乐和音效往往会让游戏更加吸引人,除非游戏的玩法决定其中就没有音乐和音效,否则至少要有一些基本的,例如点击确定的音效,成功失败的音效,背景音乐至少也要 有一个BGM。
制作音乐和音效的工具网上也有,当然也可以从某些地方进行取材,或者直接使用一些免费或者付费的资源也是可以的。
如果不提游戏的优化的话,不考虑各种屏幕适配,不打算为以后版本更新的话,目前这些知识已经可以做出一款基本游戏了,游戏的体量就看游戏的设计复杂度了。
开发游戏需要学什么专业?
游戏开发者最基本的需要懂专业术语
一:最起码要懂一些计算机语言
二:具备相当牛逼的脑回路,编程很重要
三:具备一点心理学知识 开发游戏要从玩家心理考虑 如何设计更能吸引玩家
四:需要一点美学 如何设计一款游戏的画面感更加优美
五:团队 开发一款游戏 绝非一个人能完成 需要多方面人才协同作战
六:资金 研发前期是很烧钱的 招聘技术人才 设备 场地 游戏素材 等等都是前期需要投入
七:时间 一款游戏开发绝非一个团队十天半个月或者三两个月能完成 如果真的这么快能完成 那么基本百分百说明这个游戏要么只是一款小众益智小游戏或者存在严重bug 漏洞
当然了,还有其他必备条件 希望大家补充
它与编程语言是什么关系?
首先什么是游戏引擎?以下就是游戏引擎的解释(图片来自百科)那么简单点讲到底什么是游戏引擎呢?偶先举个例子,一家游戏公司要做十个游戏,这十个游戏有40%的代码部分是一样的( 场景切换,声音效果解析,键盘控制角色,场景的创建等等),60%的代码部分是不一样的。游戏公司有两种选择解决方法:
第一种 这十个游戏都是从头开始写不管是40%一样的部分还是60%的不一样的部分每个游戏都要写一遍。
第二种 首先写游戏之前把这个十个游戏中把那个40%的一样的代码部分写成若干个类库,组件。开始写游戏的时候只写那个不一样的60%的代码部分,需要些那40% 一样部分的时候就直接调用先前写好的类库,组件,避免重复写一样的代码浪费时间,浪费精力,浪费资金。
游戏引擎就是先前写好的40%的代码部分,任何游戏有可能用到的代码部分写成独立的工具,然后把好几个像这样的工具集合在一个软件上 这就是游戏引擎。
比较流行的游戏引擎有,虚幻4,unity3D,cocos2dx…等等。
游戏引擎与游戏本身是没有什么关系因为你写游戏的时候可以不用游戏引擎直接调用平台(Win,OS,Android)提供给你图形库,声音库,和硬件,输入输出设备有关的类库,库函数。
如果说有关系那就是用游戏引擎写游戏的时候必须要遵守引擎的规范,用引擎写的游戏有一定程度上依赖引擎提供的游戏运行环境。
不过经济上有很大的关系因为上面提到的虚幻4,unity3D等引擎前期是免费,等游戏写完开始盈利到一定的程度以后引擎公司从游戏公司拿一部分作为引擎的授权费。而且不是一次性的。
就算有了游戏引擎的帮助上面讲的那个60%不一样部分还是大家自己用变成语言编写完成。每个引擎支持的编程语言是不一样的,有的支持c/c++,有的c#,有的js。每个引擎支持的编程语言数量也是不一样的,有的引擎只支持一种编程语言有的就好几个变成语言。
以上全是个人理解有很多不足的地方不喜欢勿喷,如有喜欢的朋友记得点赞,点关注。