开发游戏需要懂几种语言?

玩游戏这么简单的事情,是个人都会。三岁孩童都会偷菜,打怪。特么逗我,你说那个游戏没通关你告诉我?我就一地地道道国人,除了汉字没听说有其它啥啥玩意儿。

今天我们来上纲上线,说说玩游戏。玩过游戏的都知道,Dota2游戏可是有百万奖金的哟。咋小民就只有有事没事撸两把,游戏嘛玩嘛。玩游戏有两种玩法,玩好游戏和玩转游戏(个人观点)。玩好游戏这个大家都会,只看你玩得多少。

玩转游戏这个相对玩好游戏下的功夫那是要大很多,玩转游戏其实我想说的是游戏开发,三句话离不开老本行,有病得治。是的你玩游戏的同时有没有,擦能不能设计的更人性话点,能不能在好用点。好吧,你有这种想法我们继续往下侃。

游戏开发分网页游戏,flash,java游戏俗称小游戏,基本上都是一些休闲类的傻呆萌的情节和操作,这类游戏开发相对比较简单,会javascript, flash cs, java 就可以进行开发了,一个呆萌的情节也是会吸引很多人玩的。

大型游戏(cs已经有些过时了)魔兽世界,星际等等还有国内的剑侠情缘,这类游戏都是大型游戏。开发它们肯定不是一个人能完成的,一般的大型游戏开发绝不是用某种语言这么单纯的问题。一个大型游戏的开发需要庞大的团队使用各种各样的语言和工具来完成。总结一下主要有C/C++,汇编语言,着色器语言,脚本语言,高效的开发语言C#或Java。

开发游戏我们经常听到的是游戏引擎,一个游戏引擎决定一个游戏最基本的东西操作和效果,那么一般的游戏开发架构从底到顶一般是Direct X(Windows平台)——游戏引擎——游戏。

Direct X可是大名鼎鼎相当于所有显卡的一个统一接口,为游戏提供一个利用硬件渲染的编程模型,但Direct X接口为了追求高性能功能非常简单基本的绘图功能,不利于游戏的高效开发。此时就需要根据游戏特点对其进行适当的取舍和封装,实现一组更高抽象的游戏开发接口和框架,可以理解成游戏引擎中的图形引擎。这部分的开发一般使用的语言是C/C++和少量的汇编语言。

游戏引擎是一个非常复杂的功能聚合体,所有的游戏开发工作都是在之上进行的。包括图形引擎,音频引擎,碰撞引擎,艺术资源管理,脚本引擎等等。至此还没摸到游戏的边,何谈玩转游戏?

小伙伴们我简单总结一下,基础语言C/C++,这个是必选项那要提高些效率是不是还得会点汇编语言。一些东西需要重复性的工作来做,我们是不是应该会点脚本语言?至少不用重复的去干某一件事情。

基础的讲完了,高大上的东西是不是也得搞搞,不是搞搞是要精通。Direct X是建立在OpenGL上的,OpenGL语法类似C语言,游戏执行时被编译加载到显卡上,在实现硬件渲染速度的同时又实现了软件编程的灵活性。游戏开发人员都对游戏开发的绝大部分知识都有一定的了解,如果是客户端程序员,基本上需要了解以下知识:图形学,图形API(D3D/OGL),算法/数据结构,物理,游戏逻辑,音乐音效,人工智能,编程语言,设计模式,操作系统,工具编写,UI。

简直就是你啥都要会,有挑战吧。想玩转游戏,看来不只能是有把刷子,得是要好多把刷子。你有啥想法?

不过最近手机游戏开发比较流行,不是手游。是像愤怒的小鸟,捕鱼达人等。用cocos2d开发android、ios下运行的手机游戏,相对大型游戏则要简单许多。有语言基础加上好的创意想法,下一个土豪就是你那,你准备好了吗?

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-09-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

你的编程技巧已经过时了吗?

编程是一个不断向前发展的行业。在某些时候,你可能会诚实地看看自己的技能,并得出结论,你已经落在了曲线的后面。如果你是专业人士,那么这很容易做到,因为很多时候你没...

862
来自专栏安恒信息

世界图书日|看看你的书单还缺哪本书

“读史使人明智,读诗使人灵秀,数学使人周密,科学使人深刻,伦理学使人庄重,逻辑修辞使人善辩,凡有所学,皆成性格。 ——培根”

831
来自专栏Android群英传

Google IO——你在输入输出些什么

1022
来自专栏程序员互动联盟

月薪2W需要具备什么能力?

很多初学编程的人,都会问到啥时候才能月薪2W,月薪2W都做哪些事情?对于做软件的人来说2万是个门槛,很多人做一辈子都达不到这个水准,能力高的人可能用不了几年就能...

3209
来自专栏VRPinea

忆往昔,谷歌I/O大会曾经的那些辉煌成就你真的了解吗?

2959
来自专栏Android 研究

PMI-ACP 敏捷项目管理5——评估价值与规划价值

业务价值可以通过商业论证进行评估,通常会通过常用的财务术语进行评估。商业论证开发是敏捷项目管理中重要的起步点。商业论证是对项目的构想、目标、达到目的的策略、重大...

1722
来自专栏老九学堂

程序员高手和菜鸟的区别是什么?

程序员的价值绝对不在于技术本身,而在于做出好用且好看程序的能力,这是一个开放性的话题,每一个人都是菜鸟过来的,老九君希望每一个做技术的小伙伴都能尽快成为高手。 ...

2983
来自专栏技术小黑屋

我学习Android的一些套路

今天我将给大家分享一下我学习Android的一些方法和想法,分享中并不局限于Android哪一块怎么学习。而是一个总体的,普适性的学习套路和方法。希望可以帮助大...

1712
来自专栏Java学习网

兴趣与坚持:程序员从初级到中级10个秘诀

  在一封与TechRepublic会员交流的邮件当中,他提到了面向程序员的博客、文章及杂志分成两类:面向初学者类(“hello world”这种类型的教程)以...

2797
来自专栏JAVA高级架构

一位10年Java工作经验的架构师聊Java和工作经验

1712

扫码关注云+社区