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年以上。
作者背景:前迅雷员工/前游戏公司双端主程
制作游戏需要学习哪些软件?
很高兴回答你的问题
开发单机游戏的想法,偶自己曾经也有过,也曾经行动过,以自己的经验和了解,分析如下
1.如果你想制作的是一款电脑的单机游戏,偶建议你用rpg游戏大师,你不用去学一些编程语言,绘画技术,建造模型,因为这中中里面这个软件都涵盖过了,里面的编程虽然不是很复杂,但是对于初学者来说是一个很好的学习工具,这个软件里面提供的素材十分的丰富,只要你把整个故事情节想好,在内容上添加相应的节点,通过自己的调试,就很容易得到一个单机游戏了,至于好不好玩就要看开发者的想象力,行动力和逻辑思维能力了。
2.如果你是想做一款手机游戏的话,偶建议你学unity,cocos creator 。其中,unity是现今市场上很多手游端游的开发引擎,但是关键它是一款英文开发软件,汉化程度没有那么高,有些地方很难去理解,而且还要去学一些编程语言的基础,例如C语言,C++语言。偶自身也接触过这款软件,如果你想入门的话,建议你看多一些课程,了解一些相关的案例,就很容易入门了。
cocos creator 它是一款由国内团队开发的二弟三弟,游戏开发软件。通俗易懂,相应的教程也很多,他的编程语言是js,偶现在还在用这个软件来学习游戏开发。
以下是偶接触过的软件,可以参考一下学习。
Photoshop 可以绘图,制作人物,皮肤,贴图
瓦片地图编辑器可以编辑像素的方格地图
骨骼编辑器可以用来制作游戏人物动作
3d max 和Maya3d建模软件 人物或者场景都可以制作
像素制作软件初学者建议使用
以上是偶个人观点和经历,如有雷同,纯属巧合,欢迎评论吐槽转发,谢谢大家(^_^)ノ
制作游戏应先学什么?
制作游戏前需要给自己的游戏定位。
在自己动手制作游戏前,需要先做下计划,给自己的游戏定位。是大型游戏还是小游戏,游戏的种类是那种,有动作、冒险、休闲等。这个设计好后,才能开始下一步的游戏剧情的设计。
2/8
设计自己的游戏剧情。
每个游戏都有自己的剧情和人物背景,根据自己想法,设计自己的游戏剧情。比如可以从小说中查找一些情节进行改写,形成游戏的主线,游戏的分支线可以在后期补充。
3/8
选择制作游戏的开发工具。
不同种类的游戏,可以用不同的开发游戏的工具,大的游戏可以用编程开发工具,小的游戏,用脚本的开发工具也能制作出来,需要选择一个自己熟悉的开发工具,这样制作时,难度就会降低。
4/8
设计游戏人物的原画和场景画。
游戏中人物的原画和场景设计很重要,开发工具设计的代码是在后台,展示在台面的就是人物的形象和不同风格的游戏场景。可根据自已设计的游戏主线,画出主场景和主要人物的原画,后期补充分场景和次要人物的原画。
5/8
把设计好的原画和场景画进行扫描和加工处理。
原画和场景设计花费的时间比较长,美好的人物形象在华丽的场景中出现,让人看了印象深刻。接着把设计好的原画和场景画进行扫描和加工处理。这样在游戏开发时就可以直接作为素材添加了。
6/8
选择好的游戏背景和场景音乐。
在玩家玩游戏时,好的游戏背景和场景音乐,让人听了轻松又愉快,会体验到游戏的乐趣,制作自己的游戏时,可以选择自己喜欢的音乐来作为游戏的背景和场景音乐。
7/8
制作自己的游戏的开发和测试。
游戏的开发就是花费时间长的阶段,如果学过编程的人,经过几个月的游戏开发工具学习就可以进行游戏开发了。如果想简单一点就可以制作一个Flash的小游戏开发。经过一段时间开发完成后,需要自己对游戏的主线和支线进行游戏的测试,避免游戏出错。
8/8
把自己制作的游戏给朋友来玩,体验游戏设计和制作的乐趣。
游戏测试完成后,可以把自己制作的游戏给朋友来玩,体验游戏设计和制作的乐趣。大家可以根据这个游戏制作的流程和方法来制作自己的游戏吧。
如果觉得《用编程做好玩的小游戏教学 游戏一般用什么编程语言开发 – 游戏开发 – 前端》对你有帮助,请点赞、收藏,并留下你的观点哦!