为什么业界游戏引擎还在使用落后的C#语言开发?

  • y
    yexuning
    比如广大独立游戏爱好者喜爱的U3D技术,是基于C#语言开发的,往往跨平台容易造成系统不兼容问题,移植平台需要重写一份代码。使用java语言开发移植平台的时候就不需要重写代码了,这样移植后平台也不会造成优化变差的局面。为什么现在游戏界还不大力推行java语言呢?
  • 竜破斬
    因为用了java之后从一开始优化就变差了而且游戏界用的多的是C++吧
  • 物理毒狗
  • y
    yexuning
    那么有没有一种语言可以解决跨平台和优化问题呢?
  • y
    yamori
    提醒一下楼主,Java诞生于1995年,而C#诞生于2000年
  • 王怡人
    我的世界不就java开发的么, 卡得一逼
  • 书行
    C#跨平台有mono,谁跟你说要重写代码了?
  • J
    Jai用机玩家
    我觉得我的世界可能怪不了java,只能怪majong自己······
    这边基岩版史诗光影鸽了,让英伟达RTX入场,majong技术真的8行。
  • r
    resty
    C#不落后。Unity跨平台做得是偏好的那一档。。。
  • 塔奇克马
    为啥不搞开发喜欢参合开发这事情?
  • 厨具战士
    用个java也能有优越感?
  • m
    melvin95
    Java是DD谢谢
  • L
    Lunamos
    LZ想问的是C++吧。C#主要就是Unity在用,一般inhouse引擎的底层肯定都是Cpp写的。
    用C++一开始的原因就是高性能和方便优化,后来的原因就是路径依赖。一直有很多人在尝试让游戏开发远离C++,比如吹哥就很烦C++,自己开发了一套语言Jai。他直播了好几年在用他做的编译工具链写引擎
  • 竜破斬
    跨平台一键移植的一般都跑在虚拟机里,没法针对硬件优化。而要提高运行效率做出最好的画面效果针对游戏主机的硬件进行优化是必须的。所以大部分3A游戏用的引擎像unreal,cry engine,寒霜等都是用C++写的。
    unity就是属于一键移植的,你看官网列出来支持平台数量那是一个多,然而unity游戏的运行效率也不用我多说了吧。
  • 黑丝大野模
    java效率多低啊……在统一硬件平台下代码执行效率越高,内存用的越精致,画面表现就越好。而且9012年了都,跨平台概念不是早就破产了吗……

    -- 来自 能手机投票的 Stage1官方 Android客户端
  • z
    zz_mps
    拿idea开发java引包的体验还行,游戏开发就不太了解了,到处都是unity,PC上用java开发的游戏倒很少听到

    不知道所谓的跨平台优秀是哪来的
  • H
    HMHM
    运行效率低下,90%的锅在于你的实现,而不在于你用什么语言。
  • m
    museqsou
    其实部分重写还是要的,手柄这块就逃不过,触摸屏这块也是。
    游戏开发说说c艹艹落后java先进这能给我一早上的乐子
  • m
    museqsou
    unity的底层照样是C++写的,C艹艹只是中间层。中间层这块用C艹艹或者C++的影响远没底层那么大,相反为了方便这年头中间层用C艹艹、JS、LUA的比比皆是。用开发不方便的C++反而是有多想不开。
    谈到效率问题,unity和其他商业引擎比确实有差距,但也没那么夸张的地步。unity表现的效率不行更多是开发人员的问题,开发unity效率不行的,换其他引擎也是一个样,这块unity只是吃了易上手易用的亏。
  • 竜破斬
    主机要优化好自然是要魔改底层来实现最好的效果啊。只在中间层开发天然在优化上落后魔改底层的一截。当然现在主机都x86了,估计魔改的必要性也没有以前那么大了。
    确实。unity主要还是缺少3A游戏站台,几乎都是中小规模游戏。给人一种低成本游戏专用引擎的印象。
  • h
    hourousha
    LZ明显就一巨魔,你们还真喜欢上钩
  • C
    ChengChung
    槽点太多,我还是扔到其他地方让大家开心一些吧
  • C
    ClamtheElder
    引擎用的脚本语言用jvm编译更蠢一点还是在jvm上写引擎更蠢一点。

    —— 来自 Xiaomi Redmi 6, Android 8.1.0上的S1Next-鹅版v2.1.2
  • w
    w30of
    RE引擎也用C#当脚本哦
  • 合同工
    跨平台概念不是破产,只是已经成为新的语言标配了,所以没人提了
  • w
    whzfjk
    java跨平台是爽啊,拿javafx随便做个小窗口app,打包成jar,换个系统装下jre就能跑了
    不过拿html和javascript写个sap是不是更方便(无视IO)
    都在托管运行时的层面上比较的话,jvm 也不虚其他的吧?
  • l
    lostyzd
    不 python实在是太慢了,相同的逻辑一般有10-100倍的差距
  • A
    Austaras
    I is fishes
    当代跨平台最大的问题在于你有那么多平台要跨吗?如果真到要跨平台的时候真的不能再投入时间写一份吗
  • 天才援交少女
    别逗,py和java比都有数量级的差别,更别说c/c艹了

    leetcode 3sum:

  • 宅男的爱
    用C#是因为Unity这个通用引擎用啊,而且人家是Script啊

    如果有用Java的通用引擎也行啊
  • B
    BRRM
    人家是说业务层而不是底层。
  • h
    hzhh95963
    点进来之前我还以为是想说Rust
  • m
    mimighost
    看泥潭这些精神程序员嘴炮,真有意思

    c#作为语言挺好的,要跨平台,有需求就有方法,最多就是成本问题,虚拟机一起打包完事儿
  • o
    ohi
    Java的性能还不去脚本语言lua吧
  • c
    cqkxywj
    你们黑Java的其他也就算了,还有黑Java性能和JVM的,服了服了
  • e
    emu13
    lz发这帖是钓鱼吗。。。这论坛又不是开发论坛。。。刚脱坑曾经的游戏客户端程序猿路过。。。。
  • c
    commanderyuri
    黑c#有无数种黑法,lz偏偏用java黑,简直无法让人不怀疑是故意巨魔的

    —— 来自 Sony G8342, Android 9上的S1Next-鹅版v2.1.2