我试图开发一个TCG(交易卡片游戏)在团结(我是团结新手),目前停留在架构的项目,特别是卡效果。从web开发的背景来看,所有的逻辑和卡片效果都应该在服务器上,但是通过一些关于统一的教程,我认为逻辑应该在客户机上,我应该使用一个简单的基于房间的服务器来通知玩家的操作。对吗?
总结-游戏逻辑应该在哪里(例如牌效果、回合等)?在客户端还是服务器上?
发布于 2015-04-23 12:20:13
实际上,我已经为iOS/droid开发了一个主要的TCG,所以这是来自于经验。您肯定希望所有游戏逻辑和规则都在服务器上。不要相信你的客户是任何游戏结果的真相来源等等。人们可以通过篡改发送回服务器的数据来破解这个问题。他们不需要对游戏进行反编译就能做到这一点,仅仅是通过嗅探网络流量就可以做到。
也就是说,您可能会在客户端和服务器上都出现一些重复的逻辑,这样您就可以执行游戏规则并显示结果,而不会总是碰到服务器。但是,您的服务器始终是真理的来源,客户端就是在那里接受输入和显示结果。
一般情况下,客户端会向服务器发送一条请求新游戏的消息。服务器将对每一方的卡片和第一位玩家的开场动作作出响应。然后,客户端将简单地解析每个移动并显示结果。在cards对象上,我们有许多操作的方法,例如DrainHealth()和BuffAttack()。当调用这些方法时,这些方法会触发类似粒子效应和附加到卡片脚本的声音fx之类的东西。
发布于 2015-04-23 09:24:37
是的,效果应该是在客户端,我想你的游戏将是基于基础的,对吗?你可能想看看光子:
https://doc.photonengine.com/en-us/realtime/current/getting-started/realtime-intro
他们有很多关于他们的API的好教程,并且有很好的文档:)希望能帮助你,祝你好运
https://stackoverflow.com/questions/29830066
复制