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

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

今天我们来上纲上线,说说玩游戏。玩过游戏的都知道,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 条评论
登录 后参与评论

相关文章

来自专栏无原型不设计

看设计师大牛如何将用户体验与建站融会贯通

在建站中应用各种用户体验设计技巧就如绘画和雕塑一般,都需要耐心、远见、审美、创造力和对细节的体察。你一手建立的网站很大程度上代表着你的公司、你的产品,所以它必...

2455
来自专栏大数据和云计算技术

速度比你想的重要

效率高的明显好处是:单位时间内能完成更多的工作。但这只是冰山一角,假如工作速度快,你就会倾向于低估做事的成本,因此乐于完成更多的工作。 举个例子,假设你每写一...

3228
来自专栏Grace development

程序员自省录

我相信每位入行的童鞋 (除了高工资,有免费大桶水喝的办公室,不干体力活的各种原因外),都有想用代码改变世界的想法。我也是这样,在苦苦挣扎了五年后,我发现我并未成...

372
来自专栏Golang语言社区

如何学习面向对象程序设计(OOP)

最近参与了一个面向对象程序设计(以下简称OOP)的培训,这两天才有空整理一下思路,现在拿出来给大家来分享。本文旨在说明以何种方式学习OOP,文中如有不当之处还请...

2834
来自专栏Miguel三先生

计划着来做事

1154
来自专栏Golang语言社区

如何学习面向对象程序设计(OOP)

最近参与了一个面向对象程序设计(以下简称OOP)的培训,这两天才有空整理一下思路,现在拿出来给大家来分享。本文旨在说明以何种方式学习OOP,文中如有不当之处还请...

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

告别码农

一、成长的寓言:做一棵永远成长的苹果树 一棵苹果树,终于结果了。第一年,它结了10个苹果,9个被拿走,自己得到1个。对此,苹果树愤愤不平,于是自断经脉,拒绝成长...

3318
来自专栏java一日一条

一个32岁入门的70后程序员给我的启示

大家好,我是帅气小伙,今天为大家带来一个非常励志,让我反思的故事。今天为大家讲的是我父亲是如何用行动教会我成为程序员的。

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

为什么我要自学编程?

如果说,一个人从23岁才开始接触编程,你会不会笑话他?是的,对于计算机专业的你,可能会疑问:编程不是计算机最基础的课程吗?他怎么会到大学都毕业了,参加工作了才开...

2824
来自专栏大数据钻研

一个32岁入门的70后程序员给我的启示

大家好,我是帅气小伙,今天为大家带来一个非常励志,让我反思的故事。今天为大家讲的是我父亲是如何用行动教会我成为程序员的。 岁月的锤炼 ? 圆口接口的键盘,200...

2789

扫描关注云+社区