【OpenTGX】一个基于 TypeScript 的开源免费全栈游戏开发技术方案

不好意思,走错地方了,还有人讨论JAVA的?工作多年,其实生产环境中没什么人用了(或者他是C++大牛10+年还只是说自己是go新手);感觉你们很复古吖;都是大学生?JAVA和C++最大的问题是,真的很会的人不会拿出来讨论;拿出来讨论的基本都是因为大学课本只教这两门(20年前就这课纲,这么多年都没变也是服了,你见过毕业20年的师兄回来代课么?我也想有这样的学校情谊和继承;没有的话就好好想想自己的出路吧,JAVA和C++不是)

我不是吹java,我说的是,游戏后端,最好用好性能的语言开发,而不是选择js来开发,而且js还是单核的。。。单纯的对比单核算法应该差距不大,但是多核心对比起来肯定是相差甚远的,我也不会java甚至讨厌他,我甚至觉得除了rust可以之外,其他的语言都是蛋疼的维护成本。特别是在并发内存安全方面,几乎是超级无敌的成本,这个如果不是大公司,根本就没有能力去维护(小游戏小demo就不说了)。
为什么nodejs还有人拿来开发游戏后端呢?我觉得可能很大原因是他是单线程的,所以不存在并发内存安全问题,更加没有什么维护成本,随着ts对js加了类型提示,那就更加好维护了,但是性能就只适合小游戏吧。

我觉得你说的NODEJS不适合大型游戏没错,楼主说的NODEJS适合95%的开发者也没错,因为95%的人做的都是中小型游戏,有几个人在做王者、吃鸡这样的大游戏呢。等真的做那种游戏的时候再考虑用C++或RUST不迟啊,现在肯定是怎么省成本省时间怎么来。就像买车,你说法拉利跑的快,那其他开的不是很快的车就没有存在必要了吗?我就在附近上下班或买个菜用,限速就只有60了,你能跑到300也用不上啊,反而还容易出事故,购买和使用成本也高,对我来说买辆几万的代步小车就够用了,是不是一样的道理。

2赞

说的也基本认同,偏中小型游戏吧,95这个概率就很玄妙,小,中小,中,中大,大,这么区分的话,那就60-70%最多了
用买车的例子来比喻还是觉得有点欠妥,语言这东西,不需要这么大的代价才能学会,而车不大一样,大部分人一辈子都买不起法拉利车,游戏后端来说,java/go如果要比喻车,那应该是比喻成20-40w的宝马或者奥迪,普通人都开的起,但是nodejs我觉得更像是15w的国产车。。比较少人考虑,也确实是代步而已,虽然没啥大的区别,25w比15w也就多了10w,但是长久开才能体会出其中的区别,要么启速不够快,或者不耐用,要么维护难,要么不够安全等等。
引用网上的一句话:动态语言一时爽,后期维护火葬场。差不多就是这个意思,不能光看生产效率,10w+行的代码,从整体来说,维护成本比编译型语言要高太多,特别是以前还没ts时候,那就算是基本不可维护的状态。
虽然ts有类型保证,但是如果团队里一部分函数参数都传入any,这也会无形增加维护成本。
所以ts里面的类型,更像是类型可选,并不是类型保证,甚至不给类型也是默认any类型
效率早已经不是我衡量一门语言的标准,nodejs也有一席之地吧,但还是觉得比较适合web端。
特别是对于有点代码量的游戏,一门语言的内存安全显得比较重要,如果是采用nodejs完全不需要考虑并发,也就减少了很多不必要的麻烦,也是一种选择吧,rust也不失为新项目的首选

越让人看不上眼的可能市场占有率还越大,国产车现在的市场份额已经过半了,而且还在不断增长中。大家都鄙视的PHP在web后端领域稳坐第一宝座,把其他语言远远抛在后面,所以成本越低越大众化的东西才能被更多人接受。111

1赞

it已经发展了15-20年之久了,已经不是当初,最初始it发展的时候,可以只要实现功能就行,但是it都发展到了今天,出现了这么多可以选择的语言,新项目,真没必要还用老一套的东西来圈住自己,我的愿望是:it技术已经发展到了今天,能用新技术则用新技术,速度发展是要的,质量发展也不可缺少,如同今天的guo内各种zengcX,也不再是以前的效率第一,而是放慢效率,转为了质量为先,最后,让我们看一个几乎不会反驳的语言新秀:
sudo-rs 发布首个稳定版 0.2.0:内存安全、用 Rust 重写的 sudo (baidu.com)

国内跟国外也就这点差别吧,人家一个sudo都高质量追求,即使是十几年的sudo,人家都推翻重来,只为了更好的内存安全


一个sudo就3w行代码,用c/cpp,或者java/go/c#写,又能有几个人能保证几十年都不出内存安全的问题呢?我觉得我保证不了,并发内存安全问题,空指针问题,就3w行代码都已经是超出了人类的处理能力,
所以,这也可以从侧面反映出为什么单核的nodejs这么受市场欢迎,其不可或缺的一个应该就是低门槛吧~

低门槛 + 高效率

使用什么语言不是程序员决定的,而是公司决定的

中小公司,开发快,性能低点不是问题

大公司,用户基数多,性能低影响赚钱

至于要用性能高的语言,比较性能,最好的还是根据使用场景然后自己测试一遍

但是用 cocos 就不用去想其他语言了,只给你 ts,不用就走:joy:

2赞

开放讨论,真的不是偏激,很欢乐跟各位讨论,楼主的框架确实优秀,这个不可否认

看了客户端框架代码,功能目前没有论坛里其他客户端框架全面,还有两个主要的问题

  • 接口注释不全,有些有有些没有

  • 部分注释只有英文

就是低门槛才是成功的要素之一啊,低到让普通人稍微经过一番学习都能加入进来,对新人来说先入门最重要,其他性能啊安全啥的先抛一边,而用熟了之后呢虽然知道还有更好的语言,但是大部分人懒得去换了还会继续用下去,所以市场才会越来越大,PHP就是最好的例子。如果一开始就门台高筑,把大部分人挡在门外,只能几个业内人士关起门来自嗨,那东西再好别人也接触不到啊。

成功歪楼……nodejs有他存在的意义和场景,而且还在持续稳定增长,rn、weex、小程序们可以吃掉部分原生开发市场不是因为它全方位碾压,只要有几个点比原生优秀就足以占领一部分生态位了,
nodejs比这几位优秀的点可能还更多

定位就是适合入门挺好的

说到php,就是一堆小白开发的商城系统,crmeX的商城就是一坨shi,买过,到处散播广告,我就是信了这些广告,再也不会购买他家的产品或者是任何php残品。越向下兼容,也许就是吸引一堆小白过来集合,我用cocos不是因为他简单,而是因为他免费~
但是crmeX的商城是收费的,2-3千块,也许就是因为采用了php,才导致的各种问题,而且长年得不到修复,类似修了这个问题,又出现那个问题,群里大家买来似乎都是放着,没见过几个人搭起来真实运营过许久不出问题的。。
从此学会一个社会现象:广告打的铺天盖地,质量却衰的有口皆“卑”

其实,都没有快到一个量级,没有细看,这堆测试还是极限测试,还是引用别人的数据,测试环境,大家也远没有到软件编译级别,或者自己设计一个语言的级别吧,这种“”跑分“”权当《故事会》看看还行;
都没有一个量级的差别,所以真的用什么语言都无所谓
我最近才做一个小游戏牌行榜而已,同样的语言,不同的框架,不同的程序员写的,差了1000倍。。。3个量级
主要是他写的很慢,我换了一行代码而已


在说下Php,大家生于一个不需要写商城的年代,所以应该想接触PHP也接触不到了。。。不知道是幸运还是不幸(不单单是商城,是你想自建服务器的空间都没有了。。。。。)

云风的巅峰期已过

确实,跟人的写法也有关系,不过nodejs应该是复制多个nodejs单线来达到多线程的,所以你可以看到他跟go的对比数据里面js的内存消耗几乎是跟核心数成正比,也就是多用一个核心来计算,就多个nodejs运行时的内存,v8底层肯定是多核心并发的,这种通过消耗内存来达到并行计算的能力,我觉得仁者见仁智者见智吧。我觉得不好,也不代表其他人觉得不好,起码相对比与python来说,可以用到真正的多核心计算

说得很对,主要是看代码由谁写。

基准测试是尽量统一用“一般”的写法,检查一个语言性能是否大幅度落后另一个语言性能,当然比较片面,但也不是说没有参考价值,因为统一的写法如果差距很大,那么确实能说明语言在某一些方面的性能不是那么好(比如 JS 的字符串处理性能)。

对我来说的基准测试的另一个意义也是证明通常没必要因为性能而选择一门语言。

Lua 的性能在第三梯队,这个有点夸张了。

第三梯队的那三个都是官方或者通常用的运行时是没 JIT 的,带 JIT 的没数据,如果用带 JIT 的运行时那应该是第二梯队,差距不大。

后端用ts的很少吧