作者:小灰
转自:程序员小灰
我们程序员能为世界带来什么?
有些程序员做出了 淘宝/Amazon,为世界带来了电子商务。
有些程序员做出了 微信/Twitter,为世界带来了社交平台。
而有些程序员做出的东西,虽然无法应用于我们的衣食住行,却能够给我们带来快乐和回忆。这种东西叫做游戏,也被人们称之为 第九艺术 。
不知看到本文的读者当中,有多少人是正在从事游戏开发的,有多少人有尝试游戏开发的意愿。对于游戏开发这个领域,小灰也只是个门外汉,但是好在程序员都很善于学习,小灰相信只要肯用心,肯动脑筋,进入游戏开发的大门并不是难事。
今天,小灰就来给大家科普一些游戏开发的基本知识。
什么是游戏引擎
任何领域的软件开发,都有一些成熟的框架和类库。比如做Web开发,我们常常使用SSM框架;做机器学习,我们常常使用TensorFlow框架。
对于游戏开发,同样有一些神器可以帮助我们提高开发效率,做出更酷炫更强大的项目。下面小灰给大家列举一些主流的游戏开发引擎:
虚幻4
虚幻4引擎,英文 Unreal Engine 4,是一款功能强大的3D游戏引擎。主要支持C++语言开发,渲染的3D画面效果逼真而又高效,非常适合主机游戏、PC游戏、VR游戏的开发。该引擎目前已经对外开源而且免费,因此吸引了越来越多的开发者。
利用虚幻4引擎开发的代表作有哪些呢?最著名的游戏就是 《绝地求生》 (俗称吃鸡)。
Unity3D
Unity3D引擎,简称U3D,是国内应用最广的3D游戏引擎,主要支持C#和JS语言开发。
Unity3D的优势有哪些呢?
1.对跨平台的支持比较好
2.技术门槛较低
因此,Unity3D非常适合小型团队进行手游的开发。
利用Unity3D引擎开发的代表作有哪些呢?最著名的游戏就是 《王者荣耀》 。
Cocos2D
Cocos2D是一个基于MIT协议的开源框架,用于构建游戏、应用程序和其他图形界面交互应用,支持C++语言开发。
如果说虚幻4引擎和Unity3D引擎是大而全的3D游戏引擎,那么Cocos2D就是小而美的2D游戏引擎,非常适合2D手游的开发。
利用Cocos2D开发的代表作有哪些呢?五六年前有一款飞行射击手游非常流行,不知道大家是否还记得,游戏的名字叫做 《雷霆战机》 。
Egret
Egret是国内研发的一款H5游戏引擎,中文叫做 白鹭引擎 。
Egret主要支持Typescript语言(微软公司对JS语言所做的扩展)开发,拥有较强的跨平台能力,适合H5游戏、微信小程序游戏的开发。
LayaAir
LayaAir同样是一款国内研发的H5游戏引擎,相对Egret起步较晚,但同样吸引了国内许多H5游戏开发者。
LayaAir支持AS3.0(Flash时代的脚本语言)、Typescript、JS三种语言的开发。
其他游戏制作工具
或许有些小伙伴不太像为了某个游戏引擎,学习全新的技术栈;或许有些小伙伴并非程序员出身,但同样希望尝试游戏开发。
怎么办呢?小灰推荐给大家一些更简单的工具,甚至可以不用写代码,就开发出自己心中的游戏。
RPG Maker
听名字就知道,这是一款非常易于上手的RPG游戏开发工具。RPGMaker诞生自上世纪90年代,历经许多版本的演进,深受业余和专业的游戏开发者所喜爱。
利用RPGMaker开发的代表作有哪些呢?单看国内,就有许多优秀作品:
雨血 ,几年前风靡一时的阴郁风格武侠RPG游戏。
To the Moon ,一款情节感人的RPG游戏,在2011年获得了GameSpot的年度最佳剧本奖。
World Editor
简称WE,是暴雪出品的《魔兽争霸3》所附带的地图编辑器。虽然只是一个附带工具,但是功能却非常强大,可以编辑器许多经常的魔兽RPG地图。
小灰在大学期间非常热衷于这个编辑器,也曾经做过几个魔兽RPG地图,和魔兽3玩家们一起分享娱乐。
银河编辑器
同样是暴雪出品的《星际争霸2》所附带的地图编辑器,比WE的功能还要强大得多,甚至可以开发出飞行射击游戏或是第一人称射击游戏。
好了,关于游戏开发,小灰就介绍到这里。这段时间里,小灰也在尝试进行独立游戏的开发,如果有小伙伴感兴趣,小灰会输出更多相关内容。
最后小灰想做一个投票调查,以上介绍的几种游戏技术,你都用过哪些?