Articles of validation

我怎样才能把变换调整到一个范围?

我正在尝试在Unity中创建关卡编辑器。 当一个对象的位置发生变化时,我希望这个对象的X和Y位置在1和10之间。所以如果位置改变为15,它会回到10; 如果位置更改为-5,则会回到1。 我曾尝试使用OnValidate()方法,但没有成功。 当我重新加载脚本(对脚本进行更改并重新打开Unity)时,它会正确捕捉所有内容,但不会立即捕捉它。 void OnValidate(){ float newX = Mathf.Clamp(child.position.x, 1, 10); float newY = Mathf.Clamp(child.position.y, 1, 10); transform.localPosition = new Vector2(newX, newY); } 任何建议,我怎么能做到这一点?

显示Google Play游戏排行榜用户界面不工作

试图找出这个GPG插件出了什么问题。 我按照说明和理解文件为了testing运行login和显示排行榜用户界面通过这一个 。 我通过Google Play开发者帐户制作了游戏成就+排行榜,进行设置,复制粘贴源并完成。 通过添加Admob Unity软件包和GPG Unity软件包来testing广告,效果非常好。 我甚至更新了Android的一些插件(例如.aar文件,firebase-common,清单),以最大限度地提高兼容性和效率,以便我可以构建APK,而不会有任何干扰构建的问题。 不过,有一个问题:我login后,尝试点击“显示排行榜UI”button以及询问用户是否已通过validation的button事件,并允许您在显示前通过更新来logging最新的高分排行榜用户界面。 以下是代码的工作原理: 首先,在开始()callback… PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder() .Build(); PlayGamesPlatform.InitializeInstance(config); PlayGamesPlatform.DebugLogEnabled = true; PlayGamesPlatform.Activate(); 接下来,这里是login/注销过程… public void LogInAccount() { // Show dialog. y = 0; dialogPanel.SetActive (true); dialogBackground.SetActive (true); // You can logout if you're logged in. if(Social.localUser.authenticated) { ((PlayGamesPlatform)Social.Active).SignOut (); y = 0; message.text = […]

持久的实时游戏authentication(JWT,Passport)

上下文 我正在用canvas创建一个HTML5的MMO游戏。 我在客户端上从头开始在服务器& JS上使用NodeJS 。 我也使用socket.io管理实时。 游戏是持久的,每个玩家保持他们的装备/技能等,即使注销后。 要做到这一点,玩家需要注册电子邮件和密码,然后login。 客户端是浏览器,但将来可能是其他设备,如电话。 我使用HTTPS来encryption通信。 问题 在这种情况下,我决定使用基于令牌的authentication系统。 我从Auth0看JWT,发现: https ://jwt.io/introduction/ 我注意到:他们正在谈论JWS的JWS实施,而不是JWE。 看过https://github.com/auth0/node-jsonwebtoken之后,我看到它是一样的,JWS和JWE都没有。 我认为由Auth0开发的JWT模块不提供JWT的JWE实现,而只提供JWS实现。 我是对的还是我错过了什么? 在我的特殊情况下(游戏场景),我不知道是否必须使用JWE进行encryption(我不认为敏感数据会通过令牌传递),您认为JWS足够了吗? 在这项研究中,我检查了护照( http://www.passportjs.org/docs/ )。 我阅读文档,但是我们没有find有关他们在删除会话时如何执行身份validation的信息( http://www.passportjs.org/docs/downloads/html/#disable-sessions )。 我试图用session: false来实现它session: false但没有返回令牌。 我想我需要自己实现它,但在这种情况下,基于令牌的身份validation护照的目标是什么? 然后是关于socket.io的最后一个问题 如果我实现基于JWS令牌的身份validation来签名我的请求和HTTPS来encryption通信,如何保护双向通信? 它看起来像两个不同的沟通渠道,用socket.io实现它是否容易?

完整性检查与文件大小

在你的游戏资产中,你是否为明确的理智检查腾出空间,还是你有一些你认定的一般预期范围? 我一直在想如何压缩数据,并认为拥有前者要好得多,后者要less得多。 如果你的数据可能超出你的正常有效范围,但是如果它是错误的,那么这肯定意味着你没有足够好地压缩数据? 你怎么做,以确定你的数据是否被压缩尽可能的,你用什么来确保你的数据没有损坏,并确保它是一个正式版本? 编辑 我对检查文件大小的正确性并不感兴趣,而是关心如何管理您的理智检查,以及是否由于有机会通过使用明确的额外数据进行健全性检查来安排超额大小,或者通过允许数据足够的文件空间(数据成员大小)超出有效范围,因此只能通过加载后查看内存中的资产来进行检查。 编辑 QUOTE:“运行时性能非常高,而最大压缩只是一件好事” 是的,但是我们仍然遇到媒体比解压缩algorithm慢的问题,特别是在程序员和数据devise人员没有考虑到数据布局的占用空间并且不必要地创建具有冗余存储容量的资产的情况下。 我必须假设,除了严格受数据吞吐率或存储容量约束的平台之外,很less有人考虑带宽的重要性。

多平台GLSL着色器validation器?

我正在使用着色器的多平台(PC,Mac,Linux)游戏相当广泛。 由于我们没有任何资金,在所有可能的硬件configuration上testing我们的游戏是相当困难的。 虽然我们的引擎似乎在不同的平台上运行良好,但它通常在GLSL编译中略有差异,这让我们很头疼。 我们有一些东西可以testingATI / Nvidia卡上的着色器,但是由于新的MacBook有Intelgraphics,我真的正在寻找一种工具,可以简单地validation我的GLSL着色器不同的硬件,而不需要另一个系统。 有谁知道这样的工具?

检查用Java编写的Sudoku游戏中条目的validation

我正在建立一个简单的基于matrix(数组[9] [9])的Java数独游戏,我需要根据这些规则validation我的棋盘状态: 所有行都有1-9个数字 所有列都有1-9位数字。 每个3×3网格有1-9个数字。 这个函数应该是有效的,例如,如果第一种情况是无效的,我相信没有必要检查其他情况等等(纠正我,如果我错了)。 当我尝试这样做时,我发生了冲突。 我应该做一个大的循环和内部检查列和行(在另外两个循环),还是我应该分别做每个testing,并validation它自己的每个案例? (请不要与其他类/对象助手建议太高级的解决scheme。) 这是我想到的: 主要validationfunction(我想要相当干净): public boolean testBoard() { boolean isBoardValid = false; if (validRows()) { if (validColumns()) { if (validCube()) { isBoardValid = true; } } } return isBoardValid; } 不同的方法来做具体的testing,如: private boolean validRows() { int rowsDigitsCount = 0; for (int num = 1; num <= 9; num++) […]

服务器端的物理模拟与数百名球员

我目前正在做一个单人物理导向的游戏,我希望物理模拟服务器端。 这是因为游戏将有领导者,持续的玩家进步等等,我想要防止任何types的作弊 – 基本上是一个纯粹的客户端 – 服务器架构,客户端是“愚蠢的”,只显示服务器要显示的内容。 然而,问题在于,游戏很可能会同时由数百人(也可能是数千人)来玩。 这关系到我,因为如果我必须同时维护数百个状态,它很可能会导致服务器处理能力的丧失。 我将所有的物理模拟移到客户端都没有问题,但是我真的需要一种方法来validation客户端模拟的结果是否有效。 但是,我不知道如何。 我偶尔想过运行模拟服务器端来validation客户端是否仍然公平,但是我真的希望服务器尽可能地减less压力。 物理学将变得和Glenn Fiedler的GDC 2011演示一样复杂,甚至可能更简单。 然而,更多总是碰撞的刚体将在一个场景中,他们都将立即可见。 我很难得到这个案例的答案,因为网上的大多数资源 – 也就是Glenn Fiedlers网站是一个很好的网站 – 谈论小规模的networking物理(例如一个有30名玩家的FPS,比如Halo)。 任何意见,网站,论文或类似的主题将非常赞赏。 我想回答一个问题的回顾: 客户端 – 服务器模型有多可行? 我的服务器处理能力是否合法并基于此? 是否有可能可靠地validation客户端在服务器上运行的物理模拟? 如果是这样,怎么样?

单人游戏引擎如何拒绝无效数据?

在单人游戏中,当试图用外部脚本中指定的组件构建一个实体时,如果其中一个组件是格式不正确的话,您认为会发生什么? 引擎是否应该跳过这个组件,让实体只用写好的组件来生活在游戏世界? 或者,如果其中一个组成部分是不合格的,它是否应该不join这个实体? 请注意,我不是在谈论logging错误 – 这应该不用说 – 只是应该发生什么实体。