为什么cocos不能延续c++呢

让大游戏变少的不是js 而是万恶的版号审查机制

2赞

大作?cocos的重点在移动端吧,PC端基本也没啥游戏是cocos做的。

答非所问.

做过iOS吗?了解AppStore的审核机制不?期待你把c++热更实现下

我自己多数的编程生涯都在C++上,各种C++冷门生僻的打洞玩法可以玩到飞起,然后我明确说 C++ 的缺点:

  • 国内的标杆游戏,基本都是某引擎+脚本的,即使是腾讯那些用 unity 的,也是 unity + xLua;而 cocos 么,之前是 cocos2d-x + lua(比如MT、刀塔传奇、COK、乱世王者),后来开始出现 cocos2d-x + js (比如剑与远征),所以 C++ 作为内核,上面加某种脚本是必然的趋势。

  • 为什么要用脚本?首先是因为脚本可以做热更啊,其次是脚本写起来快,程序员上手容易。说实话国内从头到尾用 C++ 写整个游戏逻辑的手游项目已经非常罕见了,也只有顶级大厂可以在一个项目里养几十号高水平的 C++ 程序员,还不让他们野指针乱飞、不让游戏崩溃吧。

  • 那么在众多脚本语言里面,为什么选择 JS/TS 系列?因为 Lua 的发展已经几乎停滞了,而 JS 社区的发展则持续有苹果谷歌微软 ARM FB等大厂的投入,你见过这些大厂投入在 Lua 方向吗?没有。所以长期来看,JS 的发展速度必定是高于 Lua 的。确实从现在情况来看,JS 语言的从业者数量也是最多的。小游戏领域会选择 JS 而非 Lua,在我看来不是一个 “原因”,而是一个 “结果”,因为世面上成熟可用的 JS 方案,比如 webkit, nodejs, electron, v8 等等都比 Lua 多出很多来,所以这是一个结果而非原因。

不同的编程语言,其实就和锤子钳子螺丝刀的区别一样,都是工具而已。该上锤子的时候就别纠结我用扳手能不能把这钉子敲进去,虽然也许勉强可敲,但是你图啥呢,省力一些不好么。

15赞

C++人贵,人不好找,出活慢,内存问题基本掌控不了。这理由够可以了吧。

C#‘、JS最多半年经验就能出放心活。

C++三年三十年经验估计还是不知道如何查内存泄漏,野指针。

所谓的程序员在C++上不是那么容易合格的,优秀的更难了,弄不好企业都破产了,履历多了一条:经历过亿级投资项目

当然逻辑不抬杠,用啥工具最后还是落在逻辑思路上。就说工具,高铁和摩托车的差别,摩托车适应地形更广,但是天生就出活慢,还容易落下悬崖。高铁只能直达到既定目标,但是快呀,基本不脱轨不翻车。

1赞

所以这就是从2dx里去掉js的原因?

1赞

大佬说的都是我们国内实实在在所面对的情况。不过,从另一个角度看,有人对COCOS提出C++的要求又恰恰说明了大家对cocos有期待啊,是好事呀。

项目中,选对工具是整个项目的根基。敲个钉子,有好用的锤子不用,固执地用板手或者瞎选个剪钳那都是作死。

随着游戏行业对体验越来越高,卡牌、塔防、挂机等等类型的游戏都接近饱和,审美疲劳了。大家必定会转向操作性更高,反馈更强的游戏类型发展。COCOS也不断向3D方面探索,问题3D游戏不只有3D的效果呈现,更关键的是游戏逻辑的实现理应更庞大复杂。谁都不希望在项目中有任何天然的性能短板。眼前的苹果不支持JIT,已经足已死死的限定了动态语言的天花板了。然而,现在的市场又是残酷的,产品的规模不够大或体验不够顶级又或者创意没有想象那么十足,结果就只有淘汰。这么看来,开发者如果没有达到大神级别,还不一定有一口安稳饭吃,悲哉!

上面说得有点悲观,现在做游戏都是看生态吃饭,微信、头条让你只有JS,那就只有JS。但,不可能用小游戏做原神吧?作为引擎,我觉得最后一定是朝大而全的方向走,小游戏有小游戏方案,大游戏有大游戏方案。只是在什么时间节点走到什么阶段了。千万不能抱着某个生态,红利一路吃到黑。

为啥U3D在国内那么受欢迎,而不占领更多市场,做微信小游戏的支持?绝不是因他们技术能力不行办不到,而是他们不会花精力去做某个生态。受制于人,太掉价了,龙头的气质都干没了,第二,小游戏的行业天花板不足以容下他们的野心。他们放眼全球,技术选型必定不受限制,生态也是要自己打造的。

希望COCOS越做越大,我们开发者也都能从中受惠,其它国产引擎都用过,没有比COCOS做得更好。

4赞

1: 现在说的是语言能不能热更, 不是ISO.
2: 有种东西叫 loader;
3: 只要利润足够, 卖货的商人就会挺而走险.
4: 二进制语言可以做其它非二进制语言的所有事情. 只是时间你能不能接受.

哈哈 过来人

还有争论语言的。只能呵呵呵
年轻人还是太年轻了

1赞

扯热更不扯平台,啥都不懂,别闹笑话好吧,无知

1: 任何平台都可以实现loader, (loader 又称二进制加载器); 如果你讲审核那跟技术无关.
2: 任何二进制语言只要想实现都可以热更. 非二进制语言天生就热更
3: 没看懂我的意思, 就提前问一下, 别乱扯.
4: 我前面说的是任何语言都能实现热更功能, 你跟我讨论 IOS, 完全是两个不同的点,
5: 说别人无知前, 先看看自己是不是无知. 讨论是讨论, 恶意的语言不要乱用.

语言之争??

iOS游戏的热更及其苛刻,安卓开放还不是随便,不扯iOS这不是搞笑
外行就别凑热闹。

不管语言如何,降低开发成本就是正确的路

UE4 支持C++脚本, IOS 上有个框架叫 JSPATCH, .IOS 主要是审核的问题. H5, JS 开发的东西不是一样很多时候过不了审?

楼上的兄弟有一点说的对, 开发成本才是问题; 所以需要一个能降低成本的框架. 如果这个框架, 又能降低成本, 又能兼具二进制的高效. 那就是一个完美的框架;

我想提问者 也有类似的想法. 所以才会有这个帖子的吧. 另外我确实是个外行, 因为我不做游戏, 也不做IOS, 但不代表我不能提出技术上的观点.

你自己都说了jspatch,这个不是js吗?
外行不能提问吗?能啊,有人指出啥问题,还要杠,跟外行j8关系啊。

ue4 支持c++,有错吗?没有,但ue4项目靠啥热更了?靠脚本语言,https://github.com/Tencent/sluaunreal

所以回到我第一个回答,js肯定是最终路线,如果官方有钱,满足cocos2d-x的c++路线估计也是可能。