C和C++哪个更适合c语言用来开发什么游戏

为什么做游戏开发要学C++_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
为什么做游戏开发要学C++
上传于||文档简介
&&为什么做游戏开发要学C++
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢利用c++开发的一款小游戏开发报告_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
利用c++开发的一款小游戏开发报告
上传于||文档简介
&&利用c++开发的一款小游戏开发报告
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩7页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢为什么我要用 C 来开发游戏? - 文章 - 伯乐在线
& 为什么我要用 C 来开发游戏?
我是一个另类的开发者。我最近完成的所有的个人游戏项目都是用 ‘vanilla’C(标准C,即ANSI C)开发的,没有人会这样做。所以我想大家会比较感兴趣我这样做的原因。
警告:接下来是对编程语言的枯燥评价。
我需要的开发语言是什么样的?
有些要求是没有商量余地的。首先,它必须是可靠的。我不能接受把时间浪费在处理那些不是我引起的bug上。
过去我开发的很多游戏都是基于flash的,现在flash技术已经离寿终正寝不远了。我不想花费时间将老游戏移植到新的平台上,我想开发新的游戏。我需要找一个我有信心它能存在很长一段时间的平台。
同样我不希望把自己绑定在一个特定的操作系统上,我理想 的操作系统最好有开发主机游戏的选项。所以编程语言的可移植性对我来说非常重要,并且它最好具有良好可移植库的支持。
我想要的开发语言是什么样子的?
我所强烈渴望的是简单,但这不是必须的选项。我发现查找语言特性和一些古怪“聪明的”API是一件相当累的事情。我理想中的语言应该是我可以记住它所有的特性和API,然后再也不用特意去查询它。
处理BUG也是一件特别耗时耗力的事情。我想要更少的BUG,所以我需要严格的拼写检查、强大的警告信息和静态代码分析。我希望BUG更容易被发现,所以我需要好的调试器和动态分析器。
虽然我不是一个极度现实主义者,但是我仍然关心性能。这样一来你就有更多的时间去做更多的事情。如果你不执著于旧的科技,你会发现探索当代的、强大的计算机的功能也是一件特别有趣的事情。
和上面所说的比起来我更关心的是编译的速度。我不是一个禅师,10秒+的等待对我来说是浪费时间,真的是这样,最重要的是它打断我工作的连续性。在这期间我可能会打开Twitter,然后突然发现已经过去5分钟了。
我不是一个OOP(面向对象编程)的拥护者。我已经花了职业生涯中大部分的时间使用类和对象,但我花的时间越多,我越不明白为什么要将代码和数据那么严格的结合起来。我只想将数据作为数据处理,编写最适合特定场景的代码。
可供选择的方案
毋庸置疑,c++仍是游戏开发中最常用的语言。虽然非常不喜欢它,但是几乎我所有的合约工作都依靠它完成。
c++能满足我的需求,但它不是我想要的。它太复杂了。尽管是个很好的工具,但它也很容易出现隐藏的BUG,而且它比C编译地慢。虽然它性能很好,并且提供了很多C语言没有的特性,但我并不需要这些特性,尤其是在加大语言复杂度的情况下。
c#和Java比较相似。他们像冗长和复杂的野兽,而我只想找一个简单明了的生物。他们都做了很多工作来引导程序员培养面向对象编程的风格,而我反对这么做。如同大多数高级编程语言的一样,他们习惯于隐藏语言的复杂性,而这实际上并不能真正使你免于出错。
我很喜欢Go语言。从很多方面它都是C的再生版,想想这些年自从它发布以来的表现。我愿意使用它,但是它也有一些棘手的问题阻碍着我。STW(stop-the-world)垃圾回收机制(即垃圾回收时,需要暂停用户的所有其他线程)是游戏开发永远的痛,因为“停止一切线程”的确是一件让人无法接受的事情。目前支持游戏开发的库很少,尽管你可以不费力地使用C语言库,但这也增加了很多工作量。不过Go是一种足够好的编程语言,我至少不用担心它的长远发展。
开发Web应用是件很不错的事情,但web环境和技术的发展太过迅猛。很难相信flash就要消失了。我真的不喜欢javascript,它的规范太宽松了, 我惊奇人们能够依靠它编写大量的软件。然而我没有兴趣去尝试它。
我感觉Haxe(一门新兴的编程语言)比大多数其他语言更有前途。如果我再做web开发的话,我会考虑使用它。它有良好的库支持。但是我有点担心它相对太新了,它能够持久吗? 因为我只是简单的了解了一下,所以没办法做更多的介绍了。
Jonathan Blow正在开发他想要的编程语言。我欣赏这种做法,有时我也会萌生同样的念头。但考虑到要放弃现有的库支持,而且要为它未来的兼容性负责,我就会觉得压力好大。况且,这本来就很难。相比于开发一种编程语言,我宁愿开发游戏。
为什么C是始终是我的最爱
C语言很危险,但同时它也很可靠。就像一把锋利的刀子,既可以切蔬菜但同时也可能切到手指,但好在是学会安全的使用它并不是一件难事。
它非常快,尤其是在编译方面我想不出任何比它更快的语言。
它几乎可以运行在任何平台上。通常这是一个相对容易的事情。你很难想象不是这样的情况。
它的库和工具支持非常强大而且持续。
我这样说有些悲伤,但它仍然是我挚爱的语言。
我绝对不会说“嘿,你也应该使用C语言开发”。我非常欣赏独特而与众不同的爱好。我比大多数人写过更多的标准C代码,而这正是我感到欣慰的地方。
没错,就是它 :-)
打赏支持我翻译更多好文章,谢谢!
打赏支持我翻译更多好文章,谢谢!
任选一种支付方式
关于作者:
可能感兴趣的话题
关于伯乐在线博客
在这个信息爆炸的时代,人们已然被大量、快速并且简短的信息所包围。然而,我们相信:过多“快餐”式的阅读只会令人“虚胖”,缺乏实质的内涵。伯乐在线内容团队正试图以我们微薄的力量,把优秀的原创文章和译文分享给读者,为“快餐”添加一些“营养”元素。
新浪微博:
推荐微信号
(加好友请注明来意)
– 好的话题、有启发的回复、值得信赖的圈子
– 分享和发现有价值的内容与观点
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 翻译传播优秀的外文文章
– 国内外的精选文章
– UI,网页,交互和用户体验
– 专注iOS技术分享
– 专注Android技术分享
– JavaScript, HTML5, CSS
– 专注Java技术分享
– 专注Python技术分享
& 2017 伯乐在线在我们的日常开发中,我们往往会遇到这种情况,当我们换了一个开发环境时很可能会重新利用一套新的框架进行开发。由于不同框架有着不同的接口,所以我们不得不花时间再次熟悉这些接口,这将造成开发时间上的重复,而对于一个程序来说又经历了一段重复造轮子的过程。在游戏开发领域,我介入的时间并不太长,大约三年时间。抱着对于游戏的热爱和激情,在这几年时间里也是一个苦苦摸索的过程。我们国人有着这么一个通病,那就是所谓的&闭关自守&,我发现有些开发者是拥有了一套代码之后便利用这套代码可以玩转整个游戏界。我能了解这些朋友的心情,而且的确也是这么一个现象,因为市场的需要,我们不得不利用可以利用的一切资源,否则没有&时间&。而且自己拥有这套代码之后,身价也随着提高,这也是实现自身价值的重要途径之一。可是凡是有利则有弊,当我们&闭关自守&的时候,我们就会失去某些东西,那就是交流,没有交流我们的进步便会显得十分吃力。从10年开始,我开始研究天龙服务器的构架,那个时候虽然没有源码,服务端/客户端最多只能看到lua,而且后来这些都加了密。之后几年又看了包括天龙在内的畅游、麒麟、金山的一些构架设计,最令我欣赏的是金山西山居的朋友们,代码之规范早已超越了曾经的毒霸、翻译软件。13年末,由于第一个游戏项目快要接近尾声,这段时间闲了下来,我也开始不断整理思路,利用曾经的代码重写了天龙/武侠世界的核心代码。对我来说重写是学习的过程,自然也就存在许多的问题。过后plain framework就诞生了&&
& 虽然在上面我也说了一些plain framework的一些来由,但是最终诞生的原因却不得不好好谈一下。我在工作中主要是进行服务器开发,早就想弄一套属于自己的底层框架,但是总认为这个需要时间。而就在这时,项目的压力使得我为了实现此目的的心情更加的迫切。所以第一个框架完完全全是针对服务器的,那个时候我取名为plain server(简约服务器),实现了该框架后,随之而来我便又重整了思路,想将客户端的一些需求也整合进来,所以这才更名为plain framework(支持跨平台)。
& 因为框架是完完全全利用C/C++开发的,就不得不提一下C/C++的标准了。现在最新的标准是C99/C++11,似乎也有许多朋友采用该标准进行开发,因为其语法够简洁的原因。但是也有其问题,那就是编译器版本兼容的问题,只有最新的编译器才能支持。plain framework为了适应不同编译器的支持,特别是针对vs系列的支持,采用了伪C99/C++98的标准。
& 那么什么是伪C99/C++98标准呢,其实就是在这里用到了C99的一些好的标准,而实际还是最原始的标准,这样就算再旧的版本也能支持编译了。
& 一个框架必须要有参考手册,参考手册的编写也务求简洁明了,但是这是一个比较繁琐的过程,作为该框架的参考手册正在编写过程中。在编写的过程中,在开源框架之后在我的博客内大家可以留意一下,这些参考资料会先同步到博客之上。如需尝鲜的朋友们,切不要错过。
& 详细的描述、丰富的示例将让大家快速掌握框架:
& 如果你也对开源知识比较感兴趣,如果也对网络应用或者网络游戏感兴趣,如果你也对该框架感兴趣,你可以加入我们的QQ群()。
& 欢迎大家进群相互交流学习,同时也欢迎各位朋友对该框架供出自己的一份心力。
阅读(...) 评论()

我要回帖

更多关于 c 适合做什么开发 的文章

 

随机推荐