游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5439|回复: 16

游戏逻辑中的“不可能”

[复制链接]

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2009-1-22 13:24:00 | 显示全部楼层 |阅读模式
游戏逻辑并不是什么都能实现的。有些东西就绝对不可能。
这在设计的时候需要引起我们的注意。

那么,什么东西是无论如何都不可能实现的呢?


  1. 某个较复杂的因变量的值的决定
  2. to determine a complicated dependent variable's value
复制代码


由于这里并不涉及到什么高深的"技术"(比如网络通信,3D技术的等),所以我们可能想当然说"怎么不可能"
而实际上这是万万不能的,没有任何办法可以做到,这是因为:
因变量比较复杂的话, 修改因变量, 将导致决定它的自变量全部变成未知数, 而未知数的数量会过多, 导致没有办法求解出所有的未知数.

例(1)
无法直接决定一个窗口是否可见. 有人会嘲笑说"你在说胡话!"
不我没有. 因为窗口是否可见,要涉及到它的所有父母的可见性.
而现在我们要让该窗口可见,那么试问,如果它的某些父母不可见,怎么办?
没有任何解决的办法,除非为了该窗口可见而把其他一些窗口的逻辑搅乱.

例(2)
无法直接决定攻击力数值. 有人会嘲笑说"你在说胡话!"
不我没有. 因为攻击力数值, 要涉及到角色的所有装备的攻击力.
而现在我们要决定攻击力, 那么试问, 那些装备怎么办?角色自身的攻击力怎么办?
没有任何解决的办法,到底是更改装备呢?还是修改角色的自身攻击力呢?

更多相关内容可以看我的个人主页:http://www.instemast.com/

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
 楼主| 发表于 2009-1-22 13:51:00 | 显示全部楼层

Re:游戏逻辑中的“不可能”

接下来讨论一下非完美但是效果不错的一些解决方案。

我们说"复杂的因变量"不能直接决定, 那么只要它不是复杂的因变量, 那不就能够决定了吗?

以上面例(2),也就是攻击力的例子来说,我们可以给出好几种解决方案,比如:

>加上 一个额外的参数
>乘以 一个额外的参数
>用另一个变量,直接指定数值

实际上这几种方案都是等价的, 都等价于最后一种方案. 为什么呢?

AP == 计算实际AP() * ( 强制指定AP (*) 计算实际AP() )
AP == 强制指定AP

* 表示一个运算, (*) 表示逆运算

注意这里有一个问题: AP现在变成,只由 强制指定AP 决定了. 那么角色身上的装备和角色肉身的攻击力不就是都废了吗? 所以,我们还需要一个bool变量,指定----是否需要强制指定攻击力:

AP == 强制指定AP , 如果 标志==true
       计算实际AP() , 如果 标志==false

现在我们可以把这个方案,推广到一般情况,也就是说所有"复杂因变量"中:

  1. 假设一个因变量 y == f(x1,x2,...,xn), 那么我们可以这样:
  2. y == f(x1,x2,...,xn) , 如果 标志==false
  3.       强制指定值 , 如果标志==true
复制代码

12

主题

112

帖子

114

积分

注册会员

Rank: 2

积分
114
发表于 2009-1-22 18:04:00 | 显示全部楼层

Re:游戏逻辑中的“不可能”

好神奇!

45

主题

1163

帖子

1165

积分

金牌会员

Rank: 6Rank: 6

积分
1165
发表于 2009-1-22 18:10:00 | 显示全部楼层

Re:游戏逻辑中的“不可能”

佩服LZ的脑力,整天研究这个,晚上一定很难入眠

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
 楼主| 发表于 2009-1-22 18:35:00 | 显示全部楼层

Re:游戏逻辑中的“不可能”

决定 某个较复杂的因变量的值

发现这句话有歧义,现在重新写,并给出英文:

某个较复杂的因变量的值的决定
to determine a complicated dependent variable's value

59

主题

984

帖子

1200

积分

金牌会员

Rank: 6Rank: 6

积分
1200
发表于 2009-1-22 20:17:00 | 显示全部楼层

Re:游戏逻辑中的“不可能”

哈哈哈哈哈哈哈哈哈

20

主题

136

帖子

172

积分

注册会员

Rank: 2

积分
172
发表于 2009-1-22 20:25:00 | 显示全部楼层

Re:游戏逻辑中的“不可能”

建议先学好语文,如何使用标点符号,分段落以及组织句子。

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
 楼主| 发表于 2009-1-22 21:53:00 | 显示全部楼层

Re:游戏逻辑中的“不可能”

其实古人很好地搞定了这种歧义:

或较复杂因变量之值之决定

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
 楼主| 发表于 2009-1-22 21:57:00 | 显示全部楼层

Re: Re:游戏逻辑中的“不可能”

小小C: Re:游戏逻辑中的“不可能”

佩服LZ的脑力,整天研究这个,晚上一定很难入眠


是为方程之基础尔!子不知?

5

主题

972

帖子

975

积分

高级会员

Rank: 4

积分
975
发表于 2009-1-23 13:28:00 | 显示全部楼层

Re:游戏逻辑中的“不可能”

你们不懂为什么不虚心像lz学习,现在的人都太浮躁了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-20 08:42

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表