小编mar*_*ime的帖子

处理网络游戏的延迟问题

我正在考虑制作网络游戏.我对此有点新意,并且已经遇到了很多问题,试图为航位推算和网络延迟制定一个好的计划,所以我很想看到关于这个主题的一些好的文献.我将描述我考虑过的方法.

最初,我只是将玩家的输入发送到服务器,在那里进行模拟,并向所有玩家广播游戏状态的变化.这使作弊变得困难,但是在高延迟下,事情有点难以控制,因为你不会立即看到自己行为的结果.

这篇GamaSutra文章提供了一个解决方案,通过在客户端上进行模拟,可以节省带宽并使本地输入看起来更流畅,但它似乎可以防止窗外作弊.此外,当玩家开始操纵环境,推动岩石之类的时候,我不知道该怎么办.这些先前中立的对象将暂时成为客户端发送PDU所需的对象,或者可能是多个玩家同时执行的对象.谁的PDU会赢?每个玩家何时停止双重跟踪物体(与死亡计算版本进行比较)?天堂禁止两名球员参加相扑比赛(例如开始互相推进).

这个gamedev.net位显示gamasutra解决方案不合适,但描述了一种不能真正修复我的协作巨石推动示例的不同方法.我发现的大多数其他东西都是针对射手的.我希望看到一些更适合像SNES Zelda这样的游戏的东西,但需要更多的物理/动力.

  • 注意:我不是在这里询问物理模拟 - 其他图书馆都有这个.尽管存在网络延迟,但仍然可以使游戏平稳且反应灵敏

networking latency dead-reckoning

28
推荐指数
2
解决办法
9583
查看次数

Ruby on Rails中的OpenID身份验证

我是Ruby on Rails的新手,但我创建了几个小应用程序.无论如何,我真的对OpenID感兴趣,我想在Rails应用程序中实现OpenID身份验证和一些Sreg内容.我所做的所有研究都提出了过时或者对我不起作用的文章.因为我对Rails这么新,所以我很难调试这些问题......

在Rails中实现OpenId的最佳方法是什么?

ruby openid authentication ruby-on-rails

23
推荐指数
2
解决办法
7012
查看次数

可以在ruby中取消定义变量吗?

在ruby中,有一种方法可以在定义变量或常量后"取消定义"它吗?

在我们的轨道environemnts,我们定义了三个contants之一是true,根据不同的环境:TESTING,DEVELOPMENTPRODUCTION.然后,在控制器代码中,我们使用defined?以查看我们所处的环境,即:defined? PRODUCTION.

现在,我想对一些特定于环境的行为进行单元测试.我最初的尝试是在我的测试中设置适当的常量,然后在拆解时重置它们.然而,我无法弄清楚如何重置DEVELOPMENT,并PRODUCTION使得defined?返回false.

显然,一个解决方案就是只检查合适的常量是否也是真的,除了检查它是否已定义,但这将导致必须触及相当数量的现有代码.

编辑:我意识到这绝对不是正确的做事方式.唉,改变它是一项非常重要的任务,所以我正在寻找一种简单的方法来单独测试现在的情况.另外,我也很好奇关于是否有可能取消定义变量/常数的低级语言问题.

ruby ruby-on-rails

6
推荐指数
2
解决办法
2709
查看次数

RoR:named_scope,过去7天内创建的所有记录?

如何定义named_scope以返回在过去7天内创建的所有记录,然后如何在控制器中使用该命名范围?

ruby ruby-on-rails

4
推荐指数
1
解决办法
1127
查看次数

冻结相关对象

有没有人知道Rails中可以冻结关联对象的任何方法.我遇到的问题是我有一个包含许多订单项的订单模型,而这些订单项又属于某个产品或服务.支付订单时,我需要冻结订购商品的详细信息,以便在价格更改时保留订单的总计.

ruby activerecord ruby-on-rails

3
推荐指数
1
解决办法
886
查看次数

java - 通用返回类型?

我不确定这是否可以在Java中使用.此外,我无法弄清楚要在Google上查询的内容.无论如何,我想要一个方法,将一个参数作为一个Class(接口或类),方法的返回类型是该类的一个实例.事实上,我不想重铸一个Object.

我不确定这个功能是否存在或语法是什么.假设我有一个名为XYZ的类,这是我的伪方法.

private XYZ createInstance(XYZ.class, other args) {
  ...
  // create an instance of XYZ with other args named "_xyz_"
  ...
  return _xyz_;
}
Run Code Online (Sandbox Code Playgroud)

现在假设XYZ是某种通用语法.这在Java中是否可行?谢谢你的帮助.

java generics syntax

1
推荐指数
1
解决办法
1578
查看次数