游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5649|回复: 14

关于未来游戏开发客户端语言的选择

[复制链接]

29

主题

99

帖子

104

积分

注册会员

Rank: 2

积分
104
发表于 2004-11-25 12:04:00 | 显示全部楼层 |阅读模式
上个月发布的DX9 c版SDK 已经开始发展MDX.net了,就是用managed c++或c#(微软重点推c#) 编写Dx9的应用, 大家觉得未来3,5年有没有.net开发语言全面取代传统c++做为DX游戏客户端的开发语言?  目前我服务器端几个应用已全面用managed c++ 来写(当然通信还是采用传统完成端口模式), 客户端采用managed c++能不能做出引擎和游戏来.?请教!

11

主题

102

帖子

102

积分

注册会员

Rank: 2

积分
102
发表于 2004-11-25 12:14:00 | 显示全部楼层

Re:关于未来游戏开发客户端语言的选择

如果你的???n案?Size不是很大的?
你?? ?23MB的 DotNET Framework RunTime 打包?你的??虻陌惭b程式??

如果不?
?三思?DotNET Framework ?在一起的C#可能不是你最好的??

如果你用C#
??虻陌惭b程式又?]把DotNET Framework RunTime 包?去的?
你可能需要提醒你的用?
叫他??自行去下??安?DotNET Framework RunTime

29

主题

99

帖子

104

积分

注册会员

Rank: 2

积分
104
 楼主| 发表于 2004-11-25 12:37:00 | 显示全部楼层

Re:关于未来游戏开发客户端语言的选择

恩,做3D游戏的客户端现在都是几百M 到 几G不等.关键问题是采用这些新兴的技术有很多优点,比如降低了开发的总难度(当然如果认为有些地方增加了您的理解难度也未尝不可),也有不少缺点,比如毕竟和传统的c++或c的合成性问题,目前还没有全面用.net语言做出来的游戏和引擎,因此在尝试的过程中不知道会遇上什么问题.而这些问题是不是能比较好的解决都是未知. 那么既有优点又有缺点 该如何走? 不过我认为, 在微软的"淫威胁迫"下,未来将不得不接受 .net开发语言做为游戏的客户端主流语言是一种趋势.

41

主题

340

帖子

345

积分

中级会员

Rank: 3Rank: 3

积分
345
发表于 2004-11-25 13:14:00 | 显示全部楼层

Re:关于未来游戏开发客户端语言的选择

将来的Windows操作系统loanghorn整个都是建立在.NET受控环境上的,传统C++只能作为底层程序的开发,因此,C#(还有其他.NET开发语言)作为未来(可能三年左右)游戏开发语言是大势所趋。在Windows平台上,微软左右游戏开发的能力实在是太大。据说,Direct X 9.0C后Direct X 就要改名叫WGF,加入了很多.NET图象开发的内容。

0

主题

64

帖子

64

积分

注册会员

Rank: 2

积分
64
发表于 2004-11-25 13:30:00 | 显示全部楼层

Re:关于未来游戏开发客户端语言的选择

   我觉得游戏也可以算成是一个底层程序。
   C#开发的游戏肯定以后会多起来的,但对效率要求比较高的场合,C++对程序员还是有吸引力的,现在很多游戏(特别是引擎)里,还有汇编代码,说明计算机并非已经快到无所不能的地步了。
   以后硬件会不断发展,但对游戏的要求也会不断提高,以后的游戏运行起来,会需要更多的资源。

29

主题

99

帖子

104

积分

注册会员

Rank: 2

积分
104
 楼主| 发表于 2004-11-25 13:53:00 | 显示全部楼层

Re:关于未来游戏开发客户端语言的选择

目前发布的最新DX9的SDK里已经加入了.net,几乎所有的传统例子都用c#重写了,在它的manager目录下,有兴趣的朋友可以尽快下载来看看. 至于对底层的运用, .net framework提供了大部分的底层类库, 随着.net framework的完善,象java丰富的类库一样已经可以适合大多数商业开发的底层. 但是c#不能支持传统的c++, 你能保证完全不用到传统的c++,只用到.net framework吗?就算能, 如果你采用了别人的代码, 比如物理引擎什么的, 这怎么办? 所以我个人认为最强大最好的选择是managed c++ ,它和传统c++的结合在vs 2005中还会继续得到加强.可惜, 微软的SDK里没有用托管的c++写DX9应用的例子 ,所以对于要学习.net 语言开发游戏的人来说还是有一定难度的, 要把c#的例子好好的进行移植,还要能写出一个引擎来,这可不是一个简单的工作啊!

6

主题

76

帖子

83

积分

注册会员

Rank: 2

积分
83
发表于 2004-11-25 16:03:00 | 显示全部楼层

Re:关于未来游戏开发客户端语言的选择

硬件永远都是用于使已有的快的程序跑得更快,而不是使原来比较慢的程序跑得快一些。
也就是说,现在用c/c++写的代码肯定比c#的快,新硬件是要使c程序跑得更快,而不是使c#程序跑得与使用老硬件的c程序一样快。
从这个意义上讲,我觉得游戏开发在很长一段时间内都离不开c/c++

190

主题

1801

帖子

2096

积分

金牌会员

Rank: 6Rank: 6

积分
2096
QQ
发表于 2004-11-25 16:09:00 | 显示全部楼层

Re:关于未来游戏开发客户端语言的选择

C++当然快罗
但是高级语言的gc,vm特性,.net的cross language特性还是很让人心动的哟
cross language是怎么一个机制啊?是一种LOA吗?

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2004-11-25 16:31:00 | 显示全部楼层

Re:关于未来游戏开发客户端语言的选择

图形只占游戏开发的一部分,一个游戏不仅仅只是调用几个图形函数Render一下就完了,很大的一部分都在做资源处理,用户交互和逻辑分析,这部分用managed c++ 来写大家觉得会快吗?比如一个BSP树场景管理,场景非常大,东西非常多的情况下,大家觉得是managed c++ 遍历快呢还是传统c++快?

又比如一个大型游戏有上万的图片,需要建立一个hash表来检索,大家觉得C#的hash表快还是c++的hash表快?

当我们使用指向大对象的指针来检索各种自定义的资源对象,你觉得在c#里有这样高效的方式吗?

语言是向前发展的,将来的语言一定比c++好用,包括c++本身也是在不断发展的,硬件的发展同样会减小各种语言的限制,讨论这些东西有什么必要呢

29

主题

99

帖子

104

积分

注册会员

Rank: 2

积分
104
 楼主| 发表于 2004-11-25 16:59:00 | 显示全部楼层

Re:关于未来游戏开发客户端语言的选择

大家有一个误区: 认为c++一定比c#快 , 实际上c#,managed c++ 在启动时会花费多一点时间,相对耗内存也多不少, 但在实际运行时的效率并不比传统vc差 ,微软说还提高了20%, ,net framework里有写好的hashtable ,SortedList(一种拓展的hash table),还有很多其他丰富的数据结构的集合类,其效率并不对c++差,最关键的是这些在c#和managed c++里实现的结构非常安全,是符合工业标准强度的, 其包括了类型安全检查,自动内存管理. 这点上,难保 传统c++不出错或说更容易出错. 其实.net语言的不少特性更适应服务器的开发而不是客户端,服务器需要更快速,更准确,更合理,更安全的运行环境, 而多耗一点内存和cPU并不是最主要的问题 .但客户端确有限制.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-23 10:30

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表