偶给予的回答是:“游戏,是分为很多种的,比如说大种类(手游,端游,主机游戏,VR游戏,然后又分为单机游戏和联网游戏)
多的数都数不过来而且每一年都会更新,感觉都会比以前的更好玩所以就没有最好玩这一说。
像一些当代比较热门的《王者荣耀》《绝地求生》《地下城勇士》《英雄联盟》等等一些偶就不一一列举了,qwq
亦或是传奇是经典游戏《cs1.6》《红色警戒》《传奇》《拳皇》
这每一款游戏都给大家带来了欢乐或是泪水。
游戏早已经融入了大家的生活,变成了必不可少的一部分或许大家在坚持并热爱玩着自己喜欢的游戏,也可能为了生活,放下了游戏。
游戏一般用什么编程语言开发?
游戏本身会运行在不同的平台,而平台也影响了使用的语言。平台主要有2大类,PC(也就是常用的电脑)和手机。它们上面都可以使用网页来运行游戏,所以额外大家把网页浏览器上面跑的叫WEB端。针对上面的3种平台类型。大家来聊一聊这些平台上常见的游戏是用什么开发的。
PC端。大部分的游戏是C/C++开发的。这主要是因为大家使用的操作系统如window,mac的底层都是c。使用C/C++可以极大的发挥性能上面的优势。比如下面这个NBA2K18就是用C/C++为主开发的。
手机端。手机端的游戏大家称为手游。手机上面的操作系统主要是ios与android,也就是苹果和安卓系统。在之前,android上面的游戏以java开发居多。这是因为android系统本身就是以java开发为主。ios上面的游戏以object c开发居多,这也是因为系统本身的缘故。最近ios又出来swift语言。但是随着技术的发展,程序员们发现一款游戏要部署到各个平台的成本太高了。所以现在主流的技术是使用跨平台的游戏引擎开发,然后发布到不同的平台。所以,语言的选择从对平台的依赖变成了对游戏引擎的依赖。那大家就要看看主流的游戏引擎有哪些?主流的游戏引擎有:unity,cocos,unreal等。unity采用的是C#语言为主。cocos下面以C++、lua、js等开发语言。unreal主要是以C++为主。从上面这些中你会发现语言有很多,使用的也很多。在商业项目以及目前主流技术中,大部分高水准的游戏是以C++结合lua来开发的。C++负责处理高性能的部分,lua处理逻辑部分来加快开发速度。即使是使用unity引擎,大部分产商也会选择C#结合lua的方式来开发。C#负责核心部分,lua处理逻辑部分。
再聊一下WEB端。WEB端以前是以flash为主,常见的就是4399的很多小游戏,都是flash为主。WEB端主要是一个html与js的解释器。目前WEB开发国内主要是3大引擎:白鹭、laya以及cocos-js。它们的主要开发语言为typescript,这主要是因为typescript可以提供非常快的开发速度(就像lua一样),同时它还具备提前暴露问题的能力。
实际上上面的部分主要聊的是游戏客户端。在游戏领域,实际上分为服务端和客户端。客户端指对外玩家可以见到的画面表现等。服务端是运行在产商自己的服务器上的,支持玩家之间互相可见,同步,聊天等各种逻辑。对于服务端的语言,目前有C++结合lua以及C#、java、php等。这几种都很常用,主流的大的游戏依然是C++为主。中小型的游戏各种都会用到。php常用于对网络需求很低的游戏的做简单的数据处理。
上面的主要是一些理论,下面大家来实战几个问题,一会大家再来总结。
1. 王者荣耀是用什么开发的?王者荣耀使用的是unity引擎,而这种全民级别的游戏是非常注重性能的。所以它采用的是C++结合C#。核心用C++,逻辑用C#。为什么不是大家前面说的C#结合lua呢?因为腾讯有这个技术实力,所以他们整体使用了更有性能优势的语言开发。
2. 微信里面的小游戏是用什么开发的?小游戏本质上是个WEB的执行环境。所以它上面的很多游戏都是typescript或者js开发的。之所以typescript还没有普及,是因为它的社区不够活跃。
3.怎么猜测一款游戏是什么语言开发的?先上网搜索它的开发引擎,如果搜索到了就看看它对性能是否要求高,来推导它的使用语言。如果搜索不到,那很可能是自研引擎。自研引擎大部分都是C++实现的。
最后总结下。目前大部分国内的游戏以C++/C#结合lua实现为主,随着小游戏的开始,催生出一些js/typescript开发的游戏。为什么是以C++结合lua会是实现为主呢,是因为现在网游最赚钱。一款游戏月流水过千万甚至过亿催生了这个产业。这个产业注重2点:性能稳定,所以是C++。可以各种修改,各种支出活动,所以是lua。C++性能非常高,腾讯内部大部分代码其实都是C++的。lua是门脚本语言,招人门槛很低,也容易学习。所以,很多语言实际上是因为大环境的影响而被选中的。另外一方面,服务器也可以采用C++结合lua开发,这样的话就形成了双端(服务端和客户端)都使用相同语言的高速开发模式。
偶猜想题主是想选择一种语言学习。首先题主要看下自己未来的方向。是想做大项目还是做小项目。如果是希望做大项目,目前无疑推荐的是C++和lua。如果是小游戏之类的,推荐的是typescript。未来的一个趋势偶大胆预测可能是C++结合typescript。偶了解到的一些技术大牛已经开始这样实践了。推荐的lua语言开发书籍如下:
推荐的C++书籍如下:
typescript暂时没有合适的书籍供阅读,主要以typescript的官方文档为主。
小游戏类的开发书籍推荐如下:
大的游戏实际上需要大量的学习和知识积累。远远不是几本书能完全吃透的。这边还是推荐一本unity3的引擎的书来提高下入门的兴趣:
特别提醒下:基于目前互联网的发展速度,读书已经不是最快的获取知识的途径了。所以推荐的是优先以互联网的内容来学习,找个引擎玩一玩。像玩玩具一样的学习编程是最快乐的。之后再努力进入一线的研发团队历练,这样成长最快。纸质的书籍落后于实际的技术3-5年以上。
作者背景:前迅雷员工/前游戏公司双端主程
学习编程好就业吗?
随着时代的发展,各种新兴产业也逐渐崛起,伴随着这些产业的崛起,也萌生了很多新型的职业。因为这些职业都不是特别大众化,因此,并不为人们所熟知。甚至有些人正在从事这些不可或缺的职业,官方却没有给职业一个定义。
日前,人力资源和社会保障部等三部门终于正式发布了包括人工智能工程技术人员、物联网工程技术人员、大数据工程技术人员等13个新职业信息,这也是自2015年版国家职业分类大典颁布以来发布的首批新职业。这一调整不仅影响到一些行业和产业的发展,也给就业市场带来了变化。
另外,人社部还颁布了一批新的国家职业技能标准:
从这些职业中可看出,13个新职业中大部分是偏向高新技术领域的操作,如AI、IoT、大数据、云计算、无人机等新兴产业。而正是因为巨大市场和产业结构的升级迭代,这些新职业应运而生。
1 新职业都有哪些?
大家把这13个职业分成了三类,第一类就是人工智能类的职业。人工智能工程技术员就是掌握人工智能技术的人;物联网工程技术员则对物联网技术比较精通,所谓的物联网就是让机器跟互联网相结合;而物联网安装调试员就是把物联网理论具体实施的人;大数据工程技术员通过大数据分析并调节生产计划;云计算工程技术员需要大数据和人工智能相结合,对技术的要求比较高。
第二类是数字化工作类。数字化管理师主要负责企业里面所有材料线上传输和保管,同时也负责整理;建筑信息模型技术员则负责把图纸和建筑数据线上化,同时也需要一定的优化处理,便于企业查询。
第三类是电子竞技类。主要有两种,分别是电子竞技运营师和电子竞技员。一个负责后台运营,数据技术岗位;一个属于具体操作岗位,训练和参加比赛,跟运动员类似。
第四类就是无人机驾驶员。它广泛应用于建筑、影视、勘测等领域,就业前景非常可观。第五类是工业机器人类。工业机器人系统操作员、工业机器人系统运维员分别负责工业机器人的操作和维修。
这13个职业几乎都和互联网有着千丝万缕的联系,其中有10个都与人工智能有关,为什么国家如此重视这些新兴职业,并将它们作为正式职业发布,为他们“正名”呢?
2 为什么要增加这些新职业?
近几年,随着偶国人工智能、物联网、大数据和云计算的广泛运用,颠覆了传统产业的生产方式,高新技术产业的应用全面渗透到生活的方方面面,如以大数据云计算为基础的智慧城市,以AIoT为核心的智能医疗、智慧农业、服务机器人、无人机植保等,高新技术产业正成为中国经济新的增长点。
而这些职业在还没有被正名的时候已经看出他们极强的潜力和较高的工资前景。像物联网网络技术人员、大数据工程技术人员、云计算工程技术人员,年薪都在30万以上;物联网安装调试员的门槛较低,年薪也有20万左右;而数字化管理师、人工智能工程技术人员,年薪则在30万到50万之间,可谓是相当高薪的职业了。
随着科技赋能传统行业进入深水区,整个社会即将开始一场大升级。高科技、人工智能市场迅猛增长的同时,也带了巨大的人才缺口,他们的职业岗位市场需求巨大,市场人才供需不足,而新职业的增加,正是适应中国当前社会发展的需求。
新职业的发布反映了国家对人工智能产业的大力支持,这将会激发企业的积极性,加快企业开发相关的就业岗位,规范岗位设置、人员招录、员工培训等工作,在扩大就业容量的同时使从业人员的职业发展规划更加明晰,促进劳动者就业创业。
3 通过新增职业看未来趋势
大家再回过头来看这一次人社局新增的13个职业,这其实可以直观地给所有家长、孩子甚至是已经在职的上班族一个方向。智能化、数字化、与互联网紧密联系至少目前来看已经是可以确认的未来大趋势了。
因为新职业信息发布,本身的意义就是为了使职业分类体系更加科学完善,可以更好地服务于未来的经济信息统计以及人力资源开发管理、培训等工作的展开,并以此为依据开展新的产业和项目,同时解决人口变化所带来的各种供需问题,制定有效的方针政策。
而前段时间教育部公布了2018年度普通高等学校本科专业备案和审批结果,人工智能专业被列入新增审批本科专业名单,专业代码080717T(T代表特设专业),学位授予门类工学,有35所高校都增设了人工智能专业。
从2016年起,偶国数据科学与大数据专业也逐年增设,这个专业强调交叉学科特点,以大数据分析为核心,以统计学、计算机科学和数学为三大基础支撑性学科,培养面向多层次研究、应用需求的高级人才,相对其他专业技术实践要求更高。
国家增设与人工智能、数字化相关的专业自然也是为了培养科技人才,并将他们输送到对口的各个新职业岗位去。
综上所述,未来这些国家相当重视的新职业都是与互联网、人工智能相关,,编程技能已经变成了一个比较重要的职业技能。
所以学习编程技术不仅算是顺应国家发展新要求和趋势,也对他未来的发展有很大的帮助作用。