C#能编大型FPS游戏吗?

2007-4-5 16:40:45 来源: OGDEV 佚名   

voodoo
:) C#能编大型FPS游戏吗?

--------------------------------------------------------------------------------

King_jinjing
你见过用C#编写的大型FPS游戏吗?

--------------------------------------------------------------------------------

netcat
大型FPS已经有用Java编的Quake2了,C#也应该没有问题。C#运行速度比Java快,与C++差不多,只是现在用C#的人还不多。其实C#编程效率比C++要高许多,在游戏开发上是很有发展前途的。从微软发布的最新的DirectX SDK来看,C#会逐渐取代C++成为游戏开发的主流语言。将来在langhorn时代,很可能开发游戏的主要程序用C#,底层程序用C++。

--------------------------------------------------------------------------------

Dark01
c#的效率是在不断提升,在2005beta1 中尤其明显
然则,我不认为能写游戏

操作硬件调用dll,c# c++ 都一样
但拷贝纹理和各种计算呢,c#的字节码不可能比 c++ 快

quake2 有java版本的?我知道有.net的,但也是c++.net 托管代码

--------------------------------------------------------------------------------

fujingqiu
SDK的例子里就用的有指针。

--------------------------------------------------------------------------------

Dark01
c#中用指针就等于放弃了垃圾回收
引用比指针要好

然则,即便是指针操作也是字节码,也要通过虚拟机执行
效率不可能快过c++

--------------------------------------------------------------------------------

netcat
今后在由.NET构建的平台langhorn上,基本上所有的程序都要经过虚拟机,这时就是C#大显身手的时候了。微软正准备将DirectX改名后整合到langhorn的.NET图形开发系统中,以后C++主要是作程序底层的开发,而C#才是主要开发语言。当然,这是一两年以后的事了。在受控环境下开发游戏,C#确实比C++具有更大的优势,就象当年C++取代C一样,C#也会取代C++。这是软件开发的大势所趋,不是个人所能决定的。
另外,需要指出的是.NET虽然生成的是字节码,但它运行时执行的却是经过即时编译优化的的机器码。C#之父安得尔森曾说过,.NET采用虚拟机一方面是为了跨语言(实际上也实现了跨平台),而另一方面是为了获得比本地代码更高的运行速度。这一点与java的虚拟机运行机制有很大的不同,所以C#的运行速度应该与C++差不多,有时甚至更高。随着.NET系统的不断完善,C#的这种优势会更明显。

--------------------------------------------------------------------------------

pjiahao
偶是新人,会程序设计,该从那里开始学习游戏设计呢

--------------------------------------------------------------------------------

xtangent
到长牛角来了,C#就可以开发任何大型游戏了,在应用层上C++与C#没有哪个特强突出的

--------------------------------------------------------------------------------

Dark01
今后在由.NET构建的平台langhorn上,基本上所有的程序都要经过虚拟机,这时就是C#大显身手的时候了。微软正准备将DirectX改名后整合到langhorn的.NET图形开发系统中,以后C++主要是作程序底层的开发,而C#才是主要开发语言。当然,这是一两年以后的事了。在受控环境下开发游戏,C#确实比C++具有更大的优势,就象当年C++取代C一样,C#也会取代C++。这是软件开发的大势所趋,不是个人所能决定的。
另外,需要指出的是.NET虽然生成的是字节码,但它运行时执行的却是经过即时编译优化的的机器码。C#之父安得尔森曾说过,.NET采用虚拟机一方面是为了跨语言(实际上也实现了跨平台),而另一方面是为了获得比本地代码更高的运行速度。这一点与java的虚拟机运行机制有很大的不同,所以C#的运行速度应该与C++差不多,有时甚至更高。随着.NET系统的不断完善,C#的这种优势会更明显。

现在的windows程序不也是在调用win32 sdk里的各种函数么,只要将来的windows还是用c写,情况就不会变。也许是在这之上有一个层,也许那些接口干脆就叫.net框架。水平不足,yy而已。

我对c#是持肯定态度的,毕竟从.net框架1.0 到现在的2.0 beta,速度的提升有目共睹,而且库类的强大和易用也在不断提升,一个String类就可把c++ mfc vb delphi 的字符串轰至支离破碎。对于“实时编译”我也相信,虽然很神奇,但c#之父确实就是这个星球上最厉害的编译器设计师。

然则,我就是不相信c#能够开发大型的游戏。

如果c#能够根据本地平台生成最优化的原生代码,那为什么效率还是要比c++差一截?况且,c++阵营里还有intel c++ 编译器这个怪物存在。

在相信设计师的情况下,我也只能理解为 “c#干预了一些程序员该做的事”。光是这一条,c#就不合适开发大型游戏了。

当然,如果有用c#开发,画面超强的游戏出现,我说不定会投入“c# 游戏开发者”的阵营。只要对系统的了解达到了一定程度,语言就不是障碍了

--------------------------------------------------------------------------------

pjiahao
也许等国人出了一个特NB的SDK后,就会有机会了
[]
∷相关技术评论∷    (评论内容只代表网友观点,与本站立场无关!) 【更多评论…】
用户名
分 值 100分 85分 70分 55分 40分 25分 10分 0分
说 明
  (注“”为必填内容。)
Copyright © 2005-2008 中国免费网游中心 中国免费游戏中心 [免费网络游戏,最新免费网络游戏,永久免费网游,FreeGames]
FreeGames.Com.Cn. All Rights Reserved .
浙ICP备05037103号