冲浪在 NGA 上看到一个有关太吾正式版技术架构的贴

2022-09-23 10:02:20 +08:00
 HolmLoh

首先我没做过游戏,根据我非常有限的了解单机不是应该可以单个程序就解决了,如果是因为开发便利前后端分离进程间不是还有很多方法通信吗,为什么要通过网络端口通信,好像说这还导致了很多用户因为端口占用启动不了。帖子还有人说主创招了群三流码农高开低走。总之心情复杂

4476 次点击
所在节点    太吾绘卷
24 条回复
wwwz
2022-09-23 10:08:09 +08:00
方便做联机?端口占用不是很好解决吗
mainjzb
2022-09-23 10:12:32 +08:00
客户端大概率用 C++写的
服务端可以用 Go 生产力提高 10 倍
HolmLoh
2022-09-23 10:13:00 +08:00
@wwwz 只是通过网络端口通信这一点来看,因为种感觉这不应该是单机游戏开发的常规操作
renmu
2022-09-23 10:15:31 +08:00
用接口做通信不也是进程间通信的一种,也可以为联机做预留
lookStupiToForce
2022-09-23 10:21:17 +08:00
多少有点少见多怪的感觉
人家饥荒当年因为单机游戏底层架构,压根没法联机,主创团队后来重写底层才搞出来联机版
太吾茄子说要支持创意工坊,而玩家最可能搞得 mod 除了**、功法、剧情,不就是联机了吗?修仙模拟器的联机 mod 见过没?这有啥不好理解的
beimenjun
2022-09-23 10:26:01 +08:00
咋不想着下一步改成支持多人联机就想着改成网游赚钱呢?

而且自己写的东西,弄成网游赚钱,只要是符合自己预期的作品,作者怎么整都可以。

个人觉得,游戏的技术架构其实是非 MOD 制作人的玩家不太需要关注的东西。了解越多只会丧失游戏的现实隔绝性。
HolmLoh
2022-09-23 10:27:38 +08:00
@renmu
@lookStupiToForce
为联机准备好像确实有道理,虽然没有看到多人的感觉,也许确实是我少见多怪了
ziseyinzi
2022-09-23 10:28:11 +08:00
就是为了以后支持联机呗。不知道它这个后端是什么写的,前端应该是 Unity(C#)。
wdwwtzy
2022-09-23 10:34:16 +08:00
@mainjzb 客户端是 unity
Torpedo
2022-09-23 10:45:38 +08:00
这年头哪个单机没点联网能力。。。

不过要是因为端口占用启动不了,那确实菜
xylxAdai
2022-09-23 11:08:34 +08:00
进程间通信用 socket 感觉没啥问题啊,而且进程隔离防止修改也挺多这样的操作,不过估计是为下一步做联机吧,挺好的。关注这些没意义,游戏好玩就行。
rrfeng
2022-09-23 11:14:08 +08:00
喷架构的都是瞎喷。

写死端口导致可能启动不了确实是设计问题,可能开发水平也就这样了。有一万种办法不出现这个问题。
HolmLoh
2022-09-23 11:25:23 +08:00
@rrfeng 算是低级 bug 了,应该是忘了改了吧
HolmLoh
2022-09-23 11:26:18 +08:00
@xylxAdai 确实好玩就行,主要是这游戏一路走来不容易,实在是让人担心
BeginInvoke
2022-09-23 12:19:27 +08:00
用 socket 实现进程间通信没啥问题啊,据我了解除此之外还可用管道,管道的话用起来还不如 socket 可靠
tool2d
2022-09-23 13:08:28 +08:00
我的程序也是 socket 通讯,因为界面是浏览器,用的是 websocket 。

没什么问题,很适合混合语种编程的架构。
jim9606
2022-09-23 13:29:04 +08:00
这种设计进可以做联机和 p2p 独服,退可以像这样独立进程跑单机。这种设计得在项目初期就定好,后期没法改的。要是不这么设计到后面想加联机玩法就很困难了。
socket 做 ipc 的优势是分布式,这样网游 /独服的服务器就可以不带游戏引擎了。而且 socket 实现很好做到平台&语言无关,其他 ipc 或多或少有些限制。
NGA 果然是个奇葩论坛。
HolmLoh
2022-09-23 13:39:40 +08:00
@jim9606 #17 这下真是外行指导内行了
BeginInvoke
2022-09-23 13:42:44 +08:00
哦对了刚查了一下走 loaclhost 数据甚至不经过网卡,纯纯内存缓冲区拿数据,所以采用 socket 根本不可能导致性能瓶颈
HolmLoh
2022-09-23 13:59:30 +08:00
@BeginInvoke #19 我也学习一下,这么说来这种方式是没有任何问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/882310

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX