计算流体力学——从原理到算法(八):可压缩无粘流的计算方法(4)Riemann 问题的精确解(初稿)

的确这部分的内容…也就仅仅是理论上严格去算出来,大家可以发现想要理解Riemann问题——流体控制偏微分方程最最基本也非常简单的初值问题,的解,也是异常复杂令人沮丧的一个过程。不仅仅是推理长,复杂繁琐的符号和层出不穷的分类讨论,使得几乎没什么人愿意干嚼完这些知识…所以我暂时也没有太过认真去写这一块,仅仅是强迫自己填了这个部分,以方便我们接着进入实际中最常见的Riemann问题近似解的部分。

我在考虑要不要尝试用视频的形式来展示理论推动过程,不知道有没有那个时间精力。也许也没有人想看吧。

Godunov Scheme的基本思想

  1. 在每个单元格点定义体积平均值 U_i^n ,重建分段多项式函数 \tilde { u } ^ { n } ( x ) (在 [x_{i-1/2}, x_{i+1/2}] 上定义)(注意,上标n不是指数!代表的是时间为n的时候的分段函数!!)
  2. 最简单的情况(分段常数函数): \tilde { u } ^ { n } ( x ) = U _ { i } ^ { n } \text{ for } x _ { i - 1/ 2} \leq x < x _ { i -1 / 2}
  3. 使用n-阶分段多项式函数 \tilde { u } ^ { n } ( x )作为初始条件,在一个时间单位上 \Delta t ,对双曲方程进行精确(或近似)来获得下一步的解 \tilde { u } ^ { n + 1} ( x )
  4. 在每个单元上求平均值 U _ { i } ^ { n + 1} = \frac { 1} { \Delta x } \int _ { x _ { i - 1/ 2} } ^ { x _ { i + 1/ 2} } \tilde { u } ^ { n + 1} ( x ) d x 以获得新的单元平均值

精确求解一维完全气体的Euler方程的Riemann问题:


\mathbf { U } _ { t } + F ( \mathbf { U } ) _ { x } = 0 \\ \mathbf { U } = \left( \begin{array} { c } { \rho } \\ { \rho u} \\ { E } \end{array} \right) = : \left( \begin{array} { c } { u_ { 1} } \\ { u_ { 2} } \\ { u_ { 3} } \end{array} \right) \\ F = \left( \begin{array} { c } { \rho u} \\ { \rho u^ { 2} + p } \\ { u( E + p ) } \end{array} \right) = : \left( \begin{array} { c } { f _ { 1} } \\ { f _ { 2} } \\ { f _ { 3} } \end{array} \right) \\ \mathbf { U }( x ,0) = \mathbf { U }^ { ( 0) } ( x ) = \left\{ \begin{array} { l l } { \mathbf { U }_ { \text{L} } } & { \text{ if } x < 0} \\ { \mathbf { U }_ { R } } & { \text{ if } x > 0} \end{array} \right.

问题等价于确定 p _ { * }~~ u _ { * } ~~ \rho _ { * ,L} ~~\rho _ { * ,R}

对于一般的 U_{L}, U_R ,2-波的类型是接触间断,是已知的,1波和3波,或者是激波,或者是稀疏波——波的类型需要我们计算确认下来。

由于压力p穿过2波保持不变,所以寻求关于单个未知压力 p_{*} 的方程就比计算穿过2波有变化的量要容易


f_L 表达式的推导

左波是速度SL的激波:(a)静止参考系,激波速度是SL(b)参考系以速度SL移动,激波速度为零

我们假设左激波以 S_L 速度自左向右移动,如图a所示; 波前值为ρL,uL和pL,波后值为ρ* L,u *和p *。

我们选取随激波而一起移动的参照系,如图4.4b所示。 在新的框架中,冲击速度为零,相对之下波前波后的速度为: \hat { u } _ { L } = u _ { L } - S _ { L } ,\hat { u } _ { * } = u _ { * } - S _ { L }

回顾,第三讲(计算流体力学——从原理到代码(三):非线性方程的黎曼问题与初等波(超长预警))我们推导出的 Rankine-Hugoniot 条件:

\left \{\begin{array} { c } \rho _ { L } \hat { u } _ { L } = \rho _ { * L } \hat { u } _ { * } & (1) \\ { \rho _ { \text{L} } \hat { u } _ { \text{L} } ^ { 2} + p _ { \text{L} } = \rho _ { * L } \hat { u } _ { * } ^ { 2} + p _ { * } } &(2) \\ { \hat { u } _ { L } \left( \hat { E } _ { L } + p _ { L } \right) = \hat { u } _ { * } \left( \hat { E } _ { * L } + p _ { * } \right) } &(3)\end{array} \right.

注意到,单位体积内,密度乘以速度,就是质量从右往左的流量变化,记为 Q_L :

Q _ { \text{L} } \equiv \rho _ { \text{L} } \hat { u } _ { L } = \rho _ { * L } \hat { u } _ { * }

第二个公式可以推出:

\left( \rho _ { \text{L} } \hat { u } _ { \text{L} } \right) \hat { u } _ { L } + p _ { \text{L} } = \left( \rho _ { * L } \hat { u } _ { * } \right) \hat { u } _ { * } + p _ { * } \Rightarrow Q _ { \text{L} } = - \frac { p _ { * } - p _ { \text{L} } } { \hat { u } _ { * } - \hat { u } _ { L } }

再返回原来的参考系,由参考系的变换关系: \hat { u } _ { L } = u _ { L } - S _ { L } ,\hat { u } _ { * } = u _ { * } - S _ { L } ,QL就得到

Q _ { \text{L} } = - \frac { p _ { * } - p _ { \text{L} } } { u _ { * } - u _ { \text{L} } }

所以,未知的 u_* 的表达式:

u _ { * } = u _ { L } - \frac { \left( p _ { * } - p _ { L } \right) } { Q _ { \text{L} } }


我们希望,表达式里的自变量,仅仅和已知的物理量 \mathbf { W } _ { L } 以及同样要求的 p _ { * } 有关,于是乎,我们要将 Q_L 进行整理:

\hat { u } _ { L } = \frac { Q _ { \text{L} } } { \rho _ { \text{L} } } ,\quad \hat { u } _ { * } = \frac { Q _ { L } } { \rho _ { * L } } 代入到RH条件得到的第三个公式, Q _ { \text{L} } ^ { 2} = - \frac { p _ { * } - p _ { \text{L} } } { \frac { 1} { \rho _ { * L } } - \frac { 1} { \rho _ { L } } }

因为密度 \rho_{*,L}p_* 在左激波处的关系式:

\rho _ { * \text{L} } = \rho _ { \text{L} } \left[ \frac { \left( \frac { \gamma - 1} { \gamma + 1} \right) + \left( \frac { p _ { * } } { p _ { L } } \right) } { \left( \frac { \gamma - 1} { \gamma + 1} \right) \left( \frac { p _ { * } } { p _ { L } } \right) + 1} \right]

所以代入QL,得到:

Q _ { \text{L} } = \left[ \frac { p _ { * } + B _ { \text{L} } } { A _ { \text{L} } } \right] ^ { \frac { 1} { 2} }


最后带回 u _ { * } = u _ { L } - \frac { \left( p _ { * } - p _ { L } \right) } { Q _ { \text{L} } } , 得到之前我们给出的公式:

u _ { * } = u _ { L } - f _ { L } \left( p _ { * } ,\mathbf { W } _ { \text{L} } \right)\\ \text{where}~~f _ { L } \left( p _ { * } ,\mathbf { W } _ { L } \right) = \left( p _ { * } - p _ { \text{L} } \right) \left[ \frac { A _ { \text{L} } } { p _ { * } + B _ { \text{L} } } \right] ^ { \frac { 1} { 2} }\\ \text{and}~~ A _ { L } = \frac { 2} { ( \gamma + 1) \rho _ { \text{L} } } ,\quad B _ { \text{L} } = \frac { ( \gamma - 1) } { ( \gamma + 1) } p _ { L }



左稀疏波:

左波是稀疏波

现在我们来推导fL的表达式,其中左波是稀疏波。

未知物理状态 W_{*L} 通过熵条件,连接到左侧已知的初始物理量 W_L ,广义黎曼不变量穿过稀疏波不变。

对于根据热力学等熵定理: p = C \rho ^ { \gamma } ,其中C是一个常数,可以用于各种稀疏波情形。

运用等熵定理,由已知的值计算C的值,即: C = p _ { \text{L} } / \rho _ { \text{L} } ^ { \gamma }

因此对于星号区域里面的密度: \rho _ { * L } = \rho _ { \text{L} } \left( \frac { p _ { * } } { p _ { L } } \right) ^ { \frac { 1} { \gamma } }


因为广义黎曼不变量 I_L(u,a) 穿过稀疏波是不变的,于是从已知的物理量可以推出: u _ { L } + \frac { 2a _ { L } } { \gamma - 1} = u _ { * } + \frac { 2a _ { * } L } { \gamma - 1}

其中 a_L, a_{*L} 即稀疏波的左右状态的声波波速, a _ { * L } = a _ { L } \left( \frac { p _ { * } } { p _ { L } } \right) ^ { \frac { \gamma - 1} { 2\gamma } }

带回上面式子 u _ { L } + \frac { 2a _ { L } } { \gamma - 1} = u _ { * } + \frac { 2a _ { * } L } { \gamma - 1}


u _ { * } = u _ { L } - f _ { L } \left( p _ { * } ,\mathbf { W } _ { L } \right)\\ \text{where } f _ { L } \left( p _ { * } ,\text{W} _ { \text{L} } \right) = \frac { 2a _ { \text{L} } } { ( \gamma - 1) } \left[ \left( \frac { p _ { * } } { p _ { L } } \right) ^ { \frac { \gamma - 1} { 2\gamma } } - 1\right]


 p_∗ , u_∗ 的解:

f \left( p ,\mathbf { W } _ { L } ,\mathbf { W } _ { R } \right) \equiv f _ { L } \left( p ,\mathbf { W } _ { L } \right) + f _ { \text{R} } \left( p ,\mathbf { W } _ { R } \right) + \Delta u = 0,\Delta u \equiv u _ { \text{R} } - u _ { \text{L} }

其中, f_L 具体表达式:

f _ { L } \left( p ,\mathbf { W } _ { L } \right) = \left\{ \begin{array} { l} { \left( p - p _ { L } \right) \left[ \frac { A _ { L } } { p + B _ { L } } \right] ^ { \frac { 1} { 2} } } & { \text{ if } p > p _ { L } } \\ { \frac { 2a _ { L } } { ( \gamma - 1) } \left[ \left( \frac { p } { p _ { L } } \right) ^ { \frac { \gamma - 1} { 2\gamma } } - 1\right]}&{ \text{ if } p \leq p _ { L } } \end{array} \right.

同样的, f_R 的表达式:

f _ { \text{R} } \left( p ,\mathbf { W } _ { R } \right) = \left\{ \begin{array} { l } { \left( p - p _ { R } \right) \left[ \frac { A _ { R } } { p + B _ { R } } \right] ^ { \frac { 1} { 2} } } &{\text{if}~~ p >p_R} \\ { \frac { 2a _ { R } } { ( \gamma - 1) } \left[ \left( \frac { p } { p _ { R } } \right) ^ { \frac { \gamma - 1} { 2\gamma } } - 1\right] } &{\text{if}~~ p \le p_R} \end{array}\right.


而式子中, A _ { L } ,B _ { L } ,A _ { R } ,B _ { R } 由Riemann初值决定:

A _ { L } = \frac { 2} { ( \gamma + 1) \rho _ { \text{L} } } ,\quad B _ { \text{L} } = \frac { ( \gamma - 1) } { ( \gamma + 1) } p _ { L }\\ A _ { R } = \frac { 2} { ( \gamma + 1) \rho _ { \text{R} } } ,\quad B _ { \text{R} } = \frac { ( \gamma - 1) } { ( \gamma + 1) } p _ { \text{R} }

中间星号区域的速度 u_* 的公式:

u _ { * } = \frac { 1} { 2} \left( u _ { L } + u _ { R } \right) + \frac { 1} { 2} \left[ f _ { R } \left( p _ { * } \right) - f _ { L } \left( p _ { * } \right) \right]


给定了Riemann问题的初值: \rho _ { L } ,u _ { L } ,p _ { L } \text{ and } \rho _ { R } ,u _ { R } ,p _ { R } ,我们前面推导出了关于中间区域压力的方程:


f _ { L } \left( p ,\mathbf { W } _ { L } \right) = \left\{ \begin{array} { l} { \left( p - p _ { L } \right) \left[ \frac { A _ { L } } { p + B _ { L } } \right] ^ { \frac { 1} { 2} } } & { \text{ if } p > p _ { L } } \\ { \frac { 2a _ { L } } { ( \gamma - 1) } \left[ \left( \frac { p } { p _ { L } } \right) ^ { \frac { \gamma - 1} { 2\gamma } } - 1\right]}&{ \text{ if } p \leq p _ { L } } \end{array} \right.\\ f _ { \text{R} } \left( p ,\mathbf { W } _ { R } \right) = \left\{ \begin{array} { l } { \left( p - p _ { R } \right) \left[ \frac { A _ { R } } { p + B _ { R } } \right] ^ { \frac { 1} { 2} } } &{\text{if}~~ p >p_R} \\ { \frac { 2a _ { R } } { ( \gamma - 1) } \left[ \left( \frac { p } { p _ { R } } \right) ^ { \frac { \gamma - 1} { 2\gamma } } - 1\right] } &{\text{if}~~ p \le p_R} \end{array}\right.


我们下面研究这个函数的性质 (因为我们想着,如果函数性质不好,再好的解析表达式,也很难求解,最简单就比如说高次多项式求根)

那么

f'_K = \frac{\partial f_K(p,\textbf{W}_K)}{\partial p}, ( K = L ,R )\\ \Rightarrow f _ { K } ^ { \prime } = \left\{ \begin{array} { l} { \left( \frac { A _ { K } } { B _ { K + p } } \right) ^ { 1/ 2} \left[ 1- \frac { p - p _ { K } } { 2\left( B _ { K } + p \right) } \right] } &{\text{ if } p > p _ { K } \text{ (shock) }} \\ { \frac { 1} { \rho _ { K } a _ { K } } \left( \frac { p } { p _ { K } } \right) ^ { - ( \gamma + 1) / 2\gamma } } & \text{ if } p \leq p _ { K } ( \text{ rarefaction } ) \end{array} \right.


因为 f '= f'_L + f'_R ,由于 f'_K > 0 ,所以 f(p) 是单调函数


接着,我们来看二次导数

f''_K= \left\{ \begin{array} { l } { - \frac { 1} { 4} \left( \frac { A _ { K } } { B _ { K } + p } \right) ^ { 1/ 2} \left[ \frac { 4B _ { K } + 3p + p _ { K } } { \left( B _ { K } + p \right) ^ { 2} } \right] } &\text{ if } p > p _ { K } ( \text{ shock } ) \\ { - \frac { ( \gamma + 1) a _ { K } } { 2\gamma ^ { 2} p _ { K } ^ { 2} } \left( \frac { p } { p _ { K } } \right) ^ { - ( 3\gamma + 1) / 2\gamma } } & \text{ if } p \leq p _ { K } ( \text{ rarefaction } ) \end{array} \right.

因为 f''_K < 0 \Rightarrow f ^ { \prime \prime } = f _ { L } ^ { \prime \prime } + f _ { R } ^ { \prime \prime } < 0 ,所以 f(p) 增长率越来越小,直观来看:

f(p) 的这种性质,决定了我们可以选取适当的迭代法,来寻找 f(p)= 0 的零点 p_* ,而两个重要的参数分别是:速度差 Δu= uR-uL 和压力值 p_L, p_R

因此,定义:

p _ { \min } = \min \left( p _ { L } ,p _ { \text{R} } \right) ,\quad p _ { \text{max} } = \max \left( p _ { L } ,p _ { \text{R} } \right)\\ f _ { \min } = f \left( p _ { \min } \right) ,\quad f _ { \max } = f \left( p _ { \max } \right)

对于给定的压力值 p_L, p_R ,实际上是速度差 Δu= uR-uL 决定了 p_* 的值,那么我们考虑三个区间:

p _ { * } \operatorname{lies} \text{ in } I _ { 1} = \left( 0,p _ { \min } \right) \quad \text{ if } f _ { \text{min} } > 0\text{ and } f _ { \max } > 0\\ p _ { * } \operatorname{lies} \text{ in } I _ { 2} = \left[ p _ { \min } ,p _ { \max } \right] \text{ if } f _ { \min } \leq 0\text{ and } f _ { \max } \geq 0 \\ p _ { * } \operatorname{lies} \text{ in } I _ { 3} = \left( p _ { \text{max} } ,\infty \right) \quad \text{ if } f _ { \text{min} } < 0\text{ and } f _ { \text{max} } < 0

对足够大的 \Delta u ,比如说上图中的 (\Delta u)_1 ,解 p _* = p _{* 1},位于 I1 区间里面,因此 p _* <p_L,p_ * <p_R 所以两个非线性波都是稀疏波

如果的 Δu = (Δu)2p_ * = p _{* 2} 位于pL和pR之间,因此一个非线性波是一个稀疏波,另一个是冲击波。

对于足够小的Δu值,如图中的 (Δu)3p_ * = p _{* 3} 位于I3中,即 p _*> p_L,p_ *> p_R ,这意味着两个非线性波都是冲击波。

总之,我们通过 fmin 和 fmax 的符号来识别p *所在的区间。

关于 f(p) 的另一个观察是:在 I1 中,f'(p) 和 f''(p) 快速变化; 当搜索 f(p)= 0 的根时,可能产生数值上的困难。——相比而言,随着p增大,f(p) 的形状趋于类似于直线的形状,求根会轻松很多。


关于真空:

此外,对于非真空初始数据W_L,W_R,如果Δu足够小,则存在用于压力的唯一正解p *。事实上,即使对于数据状态为非真空状态的情况,在黎曼问题的解中,Δu 大于临界值(Δu)的值也会导致真空。

临界值可以根据初始物理量进行分析。很显然,对于压力p *的正解,我们需要f(0)<0,即正压力条件

( \Delta u ) _ { \text{ crit } } \equiv \frac { 2a _ { L } } { \gamma - 1} + \frac { 2a _ { R } } { \gamma - 1} > u _ { R } - u _ { L }

如果违反这种条件,则非线性波会产生真空。在这种情况下,解决方案的结构与图4.1中描述的不同,解决方法也是如此,我们将在后面有机会讨论



function [ f ] = f_star( p_star,p,rho )  % f_star function of Godunov Scheme  %   p_star: static pressure after the wave  %   p: static pressure before the wave  %   rho: density before the wave  %   f: value of f(p_star)    global gamma R;    T = p/R/rho;% ideal gas  c = sqrt(gamma*R*T);    if p_star>p      f = (p_star-p)/rho/c/sqrt((gamma+1)/2/gamma*p_star/p+(gamma-1)/2/gamma);  else      f = 2*c/(gamma-1)*((p_star/p).^((gamma-1)/2/gamma)-1);  end  end  



function F = godunov_scheme(U_l,U_r,t)  % Computing F_i+1/2 Using Godunov Scheme  %   U_l: [rho rho*u rho*E] on the left side  %   U_r: [rho rho*u rho*E] on the right side  %   t: time  %   F: [rho*u u^2+p rho*u*H]     global gamma R;    W_l     = Q2S(U_l);  W_r     = Q2S(U_r);    rho_1   = W_l(:,1);  u_1     = W_l(:,2);  p_1     = W_l(:,3);  rho_2   = W_r(:,1);  u_2     = W_r(:,2);  p_2     = W_r(:,3);    F_0     = f_star(0,p_1,rho_1)+f_star(0,p_2,rho_2);  F_p1    = f_star(p_1,p_1,rho_1)+f_star(p_1,p_2,rho_2);  F_p2    = f_star(p_2,p_1,rho_1)+f_star(p_2,p_2,rho_2);  du      = u_1-u_2;    % determine which condition the problem belongs to  if du<=F_0      condition=5;  elseif du>F_0 && du<=min(F_p1,F_p2)      condition=4;  elseif du>max(F_p1,F_p2)      condition=1;  else      if p_1>p_2          condition=2;      else          condition=3;      end  end    %solving equation using Newton Method  fun = @(p_star)f_star(p_star,p_1,rho_1)+f_star(p_star,p_2,rho_2)-du;  [p_star,fval] = fsolve(fun,0.5*(p_1+p_2),optimset('Display','off','TolFun',1e-10));  u_star = 0.5*(u_1+u_2+f_star(p_star,p_2,rho_2)-f_star(p_star,p_1,rho_1));  % fprintf('fval = %.4e\n',fval);    % constant parameters  T_1    = p_1/R/rho_1;% ideal gas  c_1    = sqrt(gamma*R*T_1);  A_1    = rho_1*c_1*sqrt((gamma+1)/2/gamma*p_star/p_1+(gamma-1)/2/gamma);  T_2    = p_2/R/rho_2;% ideal gas  c_2    = sqrt(gamma*R*T_2);  A_2    = rho_2*c_2*sqrt((gamma+1)/2/gamma*p_star/p_2+(gamma-1)/2/gamma);      switch condition % computing left wave      case {1,3}          rho_1_star  = rho_1*A_1/(A_1-rho_1*(u_1-u_star));          z_1h        = u_1-A_1/rho_1;          z_1t        = z_1h;      case {2,4}          c_1_star    = c_1+(gamma-1)*(u_1-u_star)/2;          rho_1_star  = gamma*p_star/c_1_star^2;          z_1h        = u_1-c_1;          z_1t        = u_star-c_1_star;      case {5}          c_1_star    = c_1+(gamma-1)*(u_1-u_star)/2;          rho_1_star  = gamma*p_star/c_1_star^2;          z_1h        = u_1-c_1;          z_1t        = u_1-2/(gamma-1)/c_1;  end    switch condition % computing right wave      case {1,2}          rho_2_star  =  rho_2*A_2/(A_2-rho_2*(u_star-u_2));          z_2h        = u_2+A_2/rho_2;          z_2t        = z_2h;      case {3,4}          c_2_star    = c_2+(gamma-1)*(u_star-u_2)/2;          rho_2_star  = gamma*p_star/c_2_star^2;          z_2h        = u_2+c_2;          z_2t        = u_star+c_2_star;      case{5}          c_2_star    = c_2+(gamma-1)*(u_star-u_2)/2;          rho_2_star  = gamma*p_star/c_2_star^2;          z_2h        = u_2+c_2;          z_2t        = u_2+2/(gamma-1)/c_2;  end    x = 0;    if x<z_1h*t      u        = u_1;      p        = p_1;      rho      = rho_1;  elseif x>= z_1h*t && x<z_1t*t      c_i      = (gamma-1)/(gamma+1)*(u_1-x/t)+2/(gamma+1)*c_1;      u        = x/t+c_i;      p        = p_1*(c_i/c_1)^(2*gamma/(gamma-1));      rho      = gamma*p/c_i^2;  elseif x>= z_1t*t && x<z_2t*t      u        = u_star;      p        = p_star;      if x<u_star*t          rho  = rho_1_star;      else          rho  = rho_2_star;      end  elseif x>= z_2t*t && x<z_2h*t      c_i      = (gamma-1)/(gamma+1)*(x/t-u_2)+2/(gamma+1)*c_2;      u        = x/t-c_i;      p        = p_2*(c_i/c_2)^(2*gamma/(gamma-1));      rho      = gamma*p/c_i^2;  elseif x>= z_2h*t      u        = u_2;      p        = p_2;      rho      = rho_2;  end    F = W2F([ rho,u,p ]);  end  



来源:知乎 www.zhihu.com
作者:知乎用户(登录查看详情)

【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。 点击下载

当那个男人成为传说时:“兰斯”系列系谱(上)

兰斯和传统JRPG中伟光正的主角完全相反,为达成目的可以不择手段,下半身毫无节操可言,但他又真的可以拼上所有去保护自己的女人……

作者丨@连根塞


让我们把时间倒回2010年。

2010年的游戏界,Steam还是捆绑在特定游戏上的电脑牛皮癣,主机玩家还没能预测到本年度发售的《超次元游戏:海王星》后来是多么子孙满堂。Galgame汉化组们不仅不收月卡钱,甚至在汉化之余还有闲工夫为了撞坑而吵架,吵着吵着,《战国兰斯》(戦国ランス,以下称为《战兰》)的汉化版就在它发售4年之后被送到了中国玩家面前。

丨 人间五十年,如梦又似幻(人間五十年、夢幻の如くなり)

因为汉化的缘故,《战国兰斯》在中国玩家中迟到几年,却并未影响它在国内的爆炸性影响力。发行商ALICESOFT后来做了一个很讽刺的统计:《战兰》可记录的贩卖数据是10万份,官网的升级补丁下载量却高达100万次。考虑到ALICESOFT的官网锁IP,以及随处可见的英、中文补丁分流,实际玩家数量很可能是100万的数倍,对于卖出5位数就开庆功宴的这个业界来讲,可以算是载入史册的作品了。

《战国兰斯》讲了这么一个故事:冒险者兰斯(ランス,Rance)在结束了上一段旅程后,得知远东岛国Japan之中有个叫做香姬的美女,已经征服了两个国家公主的兰斯怀着不纯的目的踏上了旅途。抵达Japan之后才发现,香姬漂亮归漂亮,但还是个不足15岁的孩子,年龄太小,不在兰斯的目标范围内。香姬的哥哥织田信长身为织田家当主,却因为身体虚弱,无法在群雄割据的乱世为自家出战,巧合之下,他选择让兰斯代替自己为织田家出头,实现终结Japan战乱的梦想。

和历史上的日本战国类似,兰斯接连击败朝仓浅井、足利、武田、上杉、伊达等大势力,就在要代替信长统一Japan的时候,信长被魔人扎比艾尔(ザビエル)侵占了身体,在本能寺和兰斯大战一场。在这次势均力敌的战斗后,信长在Japan西方组织起了"魔军",意欲毁灭整块大陆。为了Japan的安宁,也为了抚平香姬心中失去哥哥的伤痛,兰斯带领着Japan的军队和从熟人身边呼叫来的援军,向魔军发起了总攻击。

在这期间,兰斯甚至还失去了一名自己最重要的人——陪伴自己多年、任劳任怨的奴隶希露(シィル)因为一个小意外被魔王来水美树(リトルプリンセス
)封冻在冰块里。最后,兰斯和香姬联手打败了魔人,恢复了Japan的安宁。兰斯和香姬约定,等到她长大那天他自会回来。之后,为了把冻成冰块的希露解封,兰斯展开了新的旅行。

"Rance VII"的字样藏在标题后面,仔细看还是能看出来的

对于初接触这个系列的玩家来说,《战兰》里有太多不合理的疑问,比如主角兰斯为什么能轻易地从海外呼叫援军,"魔人""魔王""魔剑"这些概念各自又是什么?其实不知道也不奇怪,因为《战兰》是"兰斯"系列里破天荒地没有用数字序号命名的第一部作品,准确地说,它是整个系列里的第7作,之前那么多代的设定不是那么好消化的,有疑问也并不奇怪。

2017年,"兰斯"系列生父TADA迎来了50岁生日。同年9月,系列最终作《兰斯10:决战》(Rance X -決戦-)公开了发售日,并最终于2018年2月23日发售。从1989年起,由他一手创立的这个系列走向完结。

讲述这个延续长达30年的系列发展史需要前后两篇文章。因年代久远,一部分内容或有戏说、推测成分,请各位读者见谅。

感谢为本文做设定监修的有志网友:千早、昔日、玖伊緋夜。

丨 英雄请留步,且听我一言(Stay a While and Listen)

从前有个爱任性胡闹的创世神,为打发无聊时间创造了一片大陆,又创造了若干"圣兽"支撑它不掉到虚空里。虽然有创造万事万物的能力,但创世神自己写的凡间剧本看起来实在没意思,于是,创世神又创造了3名被称为"超神"的管理者,负责在大陆上制造有趣的东西供自己取乐。

超神们制订了这样一个计划:在大陆上投放一些智能生物"Main Player",并在其中选定一名"魔王"作为支配者,世界纪年以魔王的任期为准。超神们又在大陆上投放了一些无条件和Main Player为敌的"怪物",为了保证双方势均力敌,超神们给予魔王权限,可以将魔王自身的血液授予其他生物,制造"魔人"。通过Main Player和怪物的战斗,创世神需要的乐子算是来了。

第一代Main Player和与之敌对的怪物,分别是弱小但有无限进化可能性的"球球族"(丸い者)以及与之敌对的贝类生物,第一任魔王是库库尔库库尔(ククルククル)。

看了1000多年戏之后,超神为了求新求变,制造出了个体极其强大的龙族作为Main Player的一员,让它们与球球族为敌。很快,龙族阿贝尔(アベル)抢到了第二任魔王的席位,经历了短暂的内战之后,征服了其他所有怪物,天下大同。可是,龙族的的悲剧也源自它自身的所向无敌,龙族统治下的和平世界惹恼了想看热闹的观众,创世神直接出手,制造了大量超级士兵"天使骑士"把龙族虐杀殆尽。

超神们经历此事后吸取了教训,不再制造太弱和太强的生物,而是以天使骑士为原型,混入了狡诈、脆弱、自私等缺点,向世界上投放了第三代Main Player——人类。出于恶趣味,超神们让一名胆小的普通人类少女成为魔王,她就是斯拉尔(スラル)。与此同时,因为创造怪物种族太过麻烦,超神在大陆上投放了4只人类形态的"圣女Monster",负责创造新物种。

看上去相当正经的世界史

斯拉尔博览群书,知道了世界的秘密后,非常害怕有一天人类也要被灭族,她向超神申请赐予魔王和魔人"无敌结界",代价是魔王任期从无限长缩短至1000年。

作为第一个实验这个机制的魔王,这位人类少女只活了500年就夭折了,没有亲自设定继承人。超神们只好任命一个狡诈、残忍的人类男性作为第四任魔王。在这位魔王纳伊奇萨(ナイチサ)任职期间,圣兽之一的大蛇因为支撑大陆太过无聊,打滚的时候失手撞毁了大陆的一小块。大蛇随着这一小块大陆漂流到远方,为了让它不掉到虚空里,大蛇只好尴尬地独力支撑着这块陆地,这大陆的一角就变成了Japan这个国家。

别看Japan是个远离大陆、穷兵黩武的浮岛,它的武力却直接威胁到了魔王的统治。魔王制造的魔人之一扎比艾尔能力极其强悍,他带着自己的部队直接把这里的人类压回了Japan本岛,但他自己也中计,被拆成数块封印在了Japan——这一部分也就成了《战兰》整个故事的起因。

"无敌结界"不是白给魔王和魔人的,超神同时也给世界打了个很酷的平衡性补丁:随机指定一名少年,年少多金、异性缘满分,面临任何危机都能凭着天赐神剑安然度过,随着Main Player种族的死亡率逐渐提升,少年的战斗力会逐渐加强,但到了20岁那天所有特权立即失效。

纳伊奇萨毫无节制地杀害人类,导致人类的死亡率直接飚到50%,解开了勇者能够无视无敌结界杀死魔王的限制,也就催生了第五任魔王吉尔(ジル)的上任。这位魔王原本是位美貌和知识并存的贤者,因为人类丑陋的嫉妒心,被拷问、蹂躏,斩断四肢扔在路边等死,不想她恰巧碰见了被勇者打成重伤逃亡的纳伊奇萨,在巧合之下继承大统。因为这段悲惨的经历,吉尔对人类无比憎恨,但又不能滥杀无辜,重蹈覆辙,于是她建立了独特的"畜牧场",在不杀人的前提下,对人类展开无所不用其极的迫害。

人类的黑暗时代持续了几百年,出现了一个以讨伐魔王为己任的5人小队,他们找到了觐见超神的手段,可以面见超神向他们许下愿望。

超神是个啥,从之前的故事里大家也能看出个一二,他们恶意曲解了其中4人的愿望:执意想打倒魔王的武士和盗贼变成了能打破魔人无敌之力的圣刀和魔剑,却失去了自主战斗的能力;祈求得到世界所有知识的法师丧失了活着的动力,偏居在世界的角落;希望变成世界第一美女的神官,在接下来的几千年里都被美貌所困,遭人凌辱……而没来得及许愿的队长,后因私怨被封进石墙里,逃脱不得。

总之,5个人都得到了永恒的生命,但也没法再对抗魔王了。

又过了几百年,吉尔通过查阅斯拉尔时代的资料,也得到了觐见超神的资格,得到了永恒不灭的生命。与此同时,一名天生双重人格的剑士凯伊(ガイ)找到了魔剑,单身杀入魔王城,在战斗中,他反遭吉尔控制,最终屈服,成了她手下的首席魔人兼情人。

好在这名剑士是个双重人格,被控制的只有恶的那部分,在善人格主导期间,他找回了杀死魔王的初心,但吉尔有超神加护,是永生不死的,剑士能做到的只有将魔剑插入她的身体,将其封印在异世界。根据超神的规则,世界上必须再有一个巫……魔王,刺杀时沾满魔王之血的凯伊就这样成了第六任魔王。

《兰斯2》说明书中的世界地图

凯伊上任后,解除了持续千年之久的人类畜牧场体制,与人类割据而治,互不干扰。重新取回主导权的人类统一起来,组织了"圣魔教团",一度与魔王军分庭抗礼,但最后在内斗中瓦解,此后的年代里,人类经历长久内讧,分裂成了海尔曼(ヘルマン)、利萨斯(リーザス)和塞斯(ゼス)3个大国,以及不属于任何国家的自由都市区域。

然而魔王的生命只有1000年,眼看千年大限将至,凯伊唯一的女儿又没有继承魔王的资格,凯伊就从异世界里诱拐了一个有资质的少女来水美树,强行传功,之后满足地结束了自己的生命。

来水美树毕竟不是这个世界的人,一直强行压制着魔王的力量,拒绝继位。失去魔王约束的魔人们可就坐不住了,他们迅速分裂成了两派:以凯伊的女儿荷妮特(ホーネット)为首,继承六代目意志、追随美树的忠诚派,以及与之意见相反、由球球族魔人凯布利斯(ケイブリス)领导的主战派。

在这个时候,主角兰斯和他花掉全财产购买的万能奴隶希露正式踏上了作为冒险者的旅途,从自由都市向利萨斯进发——此时世界纪年为LP0001年。

丨 千里之行,始于昭和

上面这么一大段讲的都是"兰斯"系列的世界观设定,这个设定不是从初代就有的,要探寻这个系列的本源,我们还要从这个系列的母公司ALICESOFT讲起。

1983年(昭和五十八年),小白领白木善喜一怒之下炒了老板,自己开了家游戏公司Champion Soft,准备向游戏业进军。这家公司要说也是站队不慎——这一年震惊世界的FC主机正式发售,日本游戏公司不得不面临跟随电脑还是游戏机的抉择,很显然,Champion Soft没有抱紧大腿,走上发达之路,只能缩在电脑上做点成人游戏维持生计。

1987年,一个叫多田和史的年轻人加入了这家公司,他就是TADA。TADA接到的第一个活儿是把PC-8801电脑上的游戏《LEMONADE創刊号 さらわれた美樹ちゃんとは》移植到MSX电脑上,以《Little Princess》的名义再卖一次。这个游戏的故事倒也不复杂:一个怪大叔德古拉把主角的女朋友美树抓到了异世界,掌握剑道的主角经历艰险,砍翻怪大叔救回了女友。第二年,Champion Soft推出了这个游戏的续作《Little Vampire》,这次游戏内容变成从德古拉的亲卫队长手中救回美树。

从很多迹象上可以看出,TADA当时野心不小,经他之手移植的《Little Princess》内容上偷偷做了很多改动,比如把原作中随处可见的苹果改成"希拉拉柠檬"(ヒララレモン)这个后来在"兰斯"系列中有重要意义的道具。《Little Vampire》是完全由TADA主导的作品,从其中一些细节里已经能看出"兰斯"世界的雏形了——主角有了"小川健太郎"这个固定名,德古拉的女儿是个不爱穿衣服的裸奔族,魔人亲卫队长抓走美树时的台词是:"我来迎接您了,我们的女王Little Princess。

这两部作品可以被视为"兰斯"的前传

1989年,日本天皇的年号从昭和变成了平成,Champion Soft在这一年成立了ALICESOFT这个品牌,以TADA领衔开发的游戏《兰斯:寻找小光》(Rance -光を求めて-)作为这个品牌的出道之作。

本作的副标题乍一看像是光与暗大战三百回合,实际进入游戏才发现,这个故事不过讲了一则寻人启事,要找的人叫"光" (ヒカリ)——考虑到TADA的性格,我们很有理由相信这是一个"鱼翅炒饭"式的玩笑。

寻人过程中,兰斯发现公主莉亚(リア)专门开辟了一块地方,把美少女们抓到这里玩SM。之前已经有了很多无名受害者,不过这次抓起来的光是个贵族家的女儿,所以才被当成案件重视起来。本着有问题一定要彻底解决的原则,胆大包天的兰斯不仅救了人,还硬闯城堡强暴了公主一百遍啊一百遍。没想到这公主非但不怪罪,反倒认定兰斯是她的真命天子,为了逼婚,派兵把兰斯住的旅店围了个水泄不通。不想把自己束缚在一个女人身上的兰斯落荒而逃。

1990年,《兰斯:寻找小光》推出了续作《兰斯2:反逆的少女们》(Rance II -反逆の少女たち-),讲述自由都市区域的卡斯塔姆(カスタム)出现了以魔想志津香为首的四魔女为非作歹,兰斯以解决卡斯塔姆危机的名义,对她们依次伸出胯下的毒……毒那啥,大家懂。

从"Little"系列到《兰斯2》,这4作的系统都采用古早的AVG,可以视为"兰斯"系列发展的第一个阶段。

你们有多讨厌微软啊……

在"兰斯"1代推出的时候,基本上所有的设定都是随手潦草一写,虽然我们后来都知道,1代里兰斯活动的主场是利萨斯王都,莉亚也是这里的公主,但其实在初代里,这地方还只是随手取了个名字的"NODD城",后来成为世界神魔体系之一的"等级神"设定,灵感则来自于一件囧事——TADA当时不会写经验值满自动升级的代码。

从其中一个小细节能够看出,"兰斯"1代是《Little Vampire》的续作——在这个时代,兰斯的设定还是个见了女人就能上的至尊级人渣,但只有一个女人他没法下手——藏在NODD城某个房间里的来水美树。如果兰斯试图袭击她,会被炸出房间并大量掉血,凸显出她独特的"魔王"身份。

"兰斯"2代是整个系列AVG时代的终点,也是"兰斯"系列真正的起点。《兰斯2》说明书中提供了一份比较像样的世界地图(见上文插图),可以看到,"Little"系列的主舞台——德古拉城明确标注在了地图上,当然这张地图更大的意义在于,它明确标出了人魔分界等基础设定,为后来20年这一系列的发展铺好了路。

非常有意思的是,这两代"兰斯"的封面人物都没有在本代游戏中登场。1代封面上的绿发少女到了2代才作为道具店店主登场,2代封面上的金发女郎出现在正史中已经是2004年《兰斯6》时的事了。

怀念吗?

1991年问世的《兰斯3:里萨斯陷落》(Rance III -リーザス陥落-)可以说是这个系列的第一个转折点,游戏形式终于从AVG进化成了比较正经的RPG,故事也从前两代的小范围冒险变成了国家安危、世界动荡层面的大战争,交代了魔王、魔人、魔剑,以及国家矛盾、才能界限这些系列中第一次出现的设定,"Little"系列中登场的吸血鬼德古拉父女也在这一代里定型成为第六任魔王凯伊和魔人公主荷妮特。用漫画作比,"兰斯"前两代看起来像是一卷完结的单行本,从3代开始,这个系列才像是个连载的长篇。

3代的故事结构比较复杂,讲海尔曼王子巴顿(パットン)和3名魔人臭味相投,联手攻打利萨斯(即1代的NODD城)和自由都市,利萨斯公主莉亚无计可施之下,派侧近忍者见当加奈美(見当かなみ)找兰斯求援。婚虽然不打算结,但兰斯得知自己的女人有难,上战场那可是一点也不含糊。

就和大多数故事的幕后黑手都会把人类当成玩具一样,战争打到一半,地龙魔人诺斯(ノス)就背叛了巴顿。他不仅骗了人类,还骗了两个忠于魔人公主的同僚,而这一系列计划都是为了复活第五任魔王吉尔而来。这个计划还真成功了——在圣刀持有者小川健太郎不知所踪的情况下,兰斯想要破除魔人的无敌,只能去找魔剑卡奥斯(カオス),但兰斯可不知道,插着魔剑的那个棺材里封印着的就是第五代魔王……

我看你比较像坏人

拿到魔剑的兰斯打跑了傀儡魔人莎提拉(サテラ),暗杀了妖术魔人艾泽尔(アイゼル),费尽千辛万苦杀掉地龙魔人后,被解放的吉尔骗兰斯说,她自愿再被封印起来,条件是要让她最后体验一下女人的欢乐。色胆包天的兰斯上了当,和希露一同被拉进了异空间。有意思的是,在故事前期,兰斯无意中踩过一次光之神的肖像,被光之神认为是大不敬,因而光之神把兰斯从异空间里又丢出来,扔到了世界的某个角落。3代完。

从3代游戏里明显能够看出,TADA开始完善主角兰斯和他身边角色们的形象。比如在"兰斯"世界观中有"才能界限"的概念,才能界限就是每个人的等级上限,由天赋决定,可是兰斯和奴隶希露没有受到这个限制。兰斯能和谁拿谁疯的魔剑称兄道弟,在战场上打败了号称人类个体最强的海尔曼将军,成为世界闻名的"黑色剑士"。同时,这一代也确定了兰斯积极吃回头草的方针,3代队伍中一大半的角色都是前两代中的熟脸,此后的每一代"兰斯"也几乎都是这样,保持主力队伍成员中新角色和老情人对半开的比例。

希望某些一代换个女人的冒险家好好看好好学

1993年发售的《兰斯4:教团的遗产》(Rance IV -教団の遺産-)承接3代的结尾,兰斯和希露被扔到距离地面2500米高的浮游都市伊拉布(イラーピュ),围绕着"圣魔教团"这个设定展开新的冒险。利萨斯和海尔曼两股势力的精英不得不团结在兰斯身边暂时合作,面对曾经对人类造成灭顶之灾的铁兵"斗将"。这一代的结局解释了另一部作品的世界观——1990年,ALICESOFT除了《兰斯2》还发售了一部叫《斗神都市》(闘神都市)的游戏,主舞台就发生在4代被兰斯击落到地面的城市伊拉布当中,时间轴约为兰斯活跃的20年之后。

4代之后,ALICESOFT暂缓了这个当家系列的开发,1994年,接连发售了《AmbivalenZ -二律背反-》《宇宙快盗ファニーBee》以及《斗神都市2》3部风格不同的作品,第二年才慢慢悠悠地发布了两个"兰斯"系列的短篇小品:《兰斯4.1:拯救药厂吧》以及《兰斯4.2:天使组》,兰斯在浮游都市一战后又回到了自由都市老家,吃了睡、睡了吃的生活节奏,终于把这几次冒险攒下来的钱全浪费了,不得不去冒险公会接任务糊口。

麻雀虽小,五脏俱全,这两代虽然只是短篇AVG,其中的剧情细节可一点都不糊弄,其中交代了"圣女Monster"的具体设定——4位圣女分别掌管时、力、地、命,拥有与之相关的某种特殊能力,但这个特殊能力使用过后圣女要休眠好久,因而轻易不会乱用。

当时已经有了创世神的模糊设定

因为4代终盘时希露差点战死,给兰斯吓个够呛,兰斯这次出任务是打死都不敢带她了,搭档变成了人工生命体雅典娜2号和天志教破戒僧言里。一通冒险过后,兰斯救出了被黑恶势力囚禁的"命之圣女温丽娜" (ウェンリーナー),在她的特殊能力庇护下,原本已经被砍头的兰斯死而复生,为之后的故事埋下了一个跨度超长的伏笔。

相比于3、4两代大作RPG,这两部小品是不太能让系列粉丝满意的,那时候他们可能还不知道,ALICESOFT正在积蓄力量,准备迈出由人成神的一步……

丨 王只有一个,就是本大爷!(キングは一人、この俺だ!)

4代发售后,TADA和同僚们紧锣密鼓地展开了续作的开发。这一部的目标有两个:其一,是在这一作里不再将兰斯设定为一介冒险者,而是让他登上国王的宝座;其二,是打算把迄今为止已经完成世界观设定在游戏中全部用掉——不知道下这个决定他们做了怎样的心理斗争。最后,原定的"5代"变成了一部至今难以被超越,整个业界都在呼唤着它伟大名字的外传——《鬼畜王兰斯》(鬼畜王ランス,以下称为《鬼兰》)。

现在看来,ALICESOFT这一决定简直明智到不行,前4部正传都围绕着利萨斯和自由都市展开,复杂的世界观只是一个空有设定意义的大饼,没有实际落到作品当中。整个系列按照这个速度走下去,还不知会有多少枝节,不如一次说完,以绝后患。他们决定这么做的另一个因素是,1996年游戏发行前后,ALICESOFT的财政问题相当抱歉,没准正传做不完公司就倒了,先做个外传把想说的东西说出来,剩下的就尽人事听天命了。

很多饼画着画着就画走样了……

在《鬼兰》中,前文所述的创世神、Main Player、勇者体系、魔王等设定第一次出现了,并切实地反映在了游戏内容里。把压箱底的东西全翻出来的结果就是,《鬼兰》里一下子登场了近200个角色,每个人都有一段专属剧情,他们之间还有着非常复杂的人际关系网。

《鬼兰》成为了"兰斯"系列的第二个转折点,对后世的影响极其深远。此外,这一代的游戏形式对ALICESOFT乃至整个业界也有比较重要的意义。

《鬼兰》的剧情发生在《兰斯4.2》之后,兰斯接了一个讨伐盗贼团的活儿,打翻他们的老大后,兰斯没好好交任务,而是鸠占鹊巢当了贼头子。没想到这盗贼团名声太大,招来了海尔曼正规军,希露被抓走,兰斯一个人翻山越岭逃到了利萨斯。为了救人,兰斯接受了莉亚的逼婚,当上了利萨斯国王,但他这个国王当得又不太着调,登基典礼上不照宰相准备好的稿子念,大言不惭地发表了"暴君宣言",引发了内乱。

兰斯在平定内乱的过程中展现出惊人的军事才能,很快在几年内收服自由都市,远征Japan,期间他处理了几个入侵人类领土的魔人,和海尔曼清算新仇旧恨,夺回了希露,还得到塞斯王甘治(ガンジー)赏识占领了这个魔法国家。完全占领人类圈后,兰斯又开始了和凯布利斯的最终决战,并最终达成了统一大陆的伟业。

"业界最伟大的作品"

但这就又重蹈了龙族的覆辙,好不容易统一的大陆被天使骑士蹂躏得惨不忍睹。通过访问5人小队中全知全能的法师,得知了觐见神的手段后,兰斯放弃了人类的死活,直接带领少数精锐去找神的麻烦。面对创世神,打是打不过的,他只好出个歪招:用魔人的力量催眠它100年,暂时阻止天使骑士的攻击。等它醒了,兰斯也早就寿终正寝,死后哪管洪水滔天。

熟悉Paradox Interactive历史模拟作品的朋友都知道,这家公司的作品有多么蹂躏电脑内存,熟悉"信長之野望"的玩家们也都知道,每一代触发本能寺之变要多么煞费苦心。这些问题都源于战略游戏AI行动的巨大计算量和不可控性。

《鬼兰》在游戏设计里埋下了一些小技巧:只有触发了特定剧情的势力才会被激活和兰斯作战,除此以外的势力是不行动的,极大降低了机能方面的消耗。未激活的势力完全受固定事件控制,因主角的某些行动或回合数而触发一些事件,伪装出这些势力仍然在活动的假象。通过这种设计方法,ALICESOFT以远低于大厂的成本开发出了体验相当好的战略游戏,并将其命名为"地域制压模拟",自成一派。

大获成功的《鬼兰》给了业界一个信号:即使在 "兰斯"所处的这个穷得要命的业界也是可以做战略游戏的。Dual Tail、Eushully、Softhouse Chara等公司都多多少少从中汲取了一些经验,开创了自己的战略游戏品牌。对于ALICESOFT来讲,地域制压类游戏成了继"斗神都市"之后,从"兰斯"系列派生出的第二个独立系列。

后来,ALICESOFT沿用了《鬼兰》的系统,创立了专门的地域制压游戏 "大" 系列,《大恶司》《大番长》两部作品获得了相当大的成功。TADA说,2011年"大"系列的第三作《大帝国》开发耗费的劳力可以做出3个游戏,但这一作无论系统还是剧本都没达到前几作的高度,评价非常两极化。好在这个玩法并没绝后,天狐公司获得ALICESOFT的正式授权后推出了《英雄战姬》,在大枪苇人的原画加持下倒也算是名利双收。不过他们做出来的地域制压其实是劣化版,少了最重要的一个要素——抉择。

《英雄战姬》至少学了个八成像

催眠创世神只是《鬼兰》13个结局当中的"真结局",因为只有在这个结局下希露才会幸福。这个"幸福"的概念不来自玩家的主观认知,而是游戏系统原本的一环。《鬼兰》系统内内置了一张表,列出66名女性角色在游戏结束时幸福或不幸的条件,每一段剧情的抉择都可能影响到这些女性角色的未来,有些时候兰斯和她们关系太密切反倒会招致不幸,而有些人的幸福需要牺牲其他女性甚至兰斯自己的性命。比如说在"真结局"中,虽然希露得到了幸福,代价却是陪着兰斯一路征战、自称正妻的莉亚惨遭不幸。

这种现实的苦涩感成了ALICESOFT作品后来的一个标配,尽管他们是个非常不严肃的公司,但他们的作品中总是传达出一种独特的残酷感——幸福和不幸总是相对的,也不能同时获得,世上不存在让所有人都满足的童话。ALICESOFT还非常喜欢把幸福的背面刻意展示给玩家看,可能在这些制作者的世界观里,越是知道自己的幸福要用别人的不幸换得,才越是能昂首挺胸珍视这种得来不易。

"兰斯"系列是集各种不正确为一身的反面典型,但它绝不是纯服务性的地摊文学,堪比"魔戒"的宏大世界观里每个角色都写得有血有肉。主人公兰斯行走江湖靠的也不是等级无限的Bug体质,而是他超乎常人的信念和行动力。

兰斯和传统JRPG中伟光正的主角完全相反,为达成目的可以不择手段,能讲实力的地方一定不浪费口舌讲大道理,下半身毫无节操可言,但又真的相信自己是为了全世界美女而生的天命之子。在他的概念里,已经是,或即将是"我的女人"的女性就要拼上所有去保护,经历包括但不限于钻上百层迷宫、挑战大国重兵、拔剑和魔人决斗,甚至统治世界。能把自己吹下的所有牛皮都实现,能把所有自己染指的女人的愿望都达成——这种压倒性的个人魅力甚至吸引了很多鄙视男性向游戏的女性玩家爱上了这个系列。

这么看还是挺帅的……

除了游戏本身素质优秀之外,《鬼兰》更是一张"兰斯"系列未来发展的踏实草稿纸。这张草稿纸规定了世界的上限,避免了这个系列像某些Jump漫一样没完没了。"兰斯"系列后续作品的设定虽然多多少少都有改动,从未忘记在细节处放置一些只有《鬼兰》老玩家才能会心一笑的元素。

《鬼兰》是业界名宿Shade第一次参与全价作品的音乐制作,之前一直打下手的画师织音也在《鬼兰》中第一次参与到"兰斯"系列开发的核心工作。当时,他们可能还不知道自己将为"兰斯"的未来做出多大贡献,"兰斯"又会成长为一个多么伟大的系列……

下篇:

触乐:Rance·Super·King:"兰斯"系列系谱(下)

原文链接:当那个男人成为传说时:"兰斯"系列系谱(上)


关注触乐专栏,阅读更多优质游戏文章与深度报道。



来源:知乎 www.zhihu.com
作者:触乐

【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。 点击下载

数控系统的好坏对机床控制以及零件加工方面到底有何影响?

如果将数控机床看做是一个人,那么数控系统就等于它的大脑,所以数控系统的好坏肯定直接会影响到机床的好坏。

那么,回到这道题上,我们从机床控制和零件加工两个两个方面分别来讲。

先说说对于「机床控制」的影响有哪些

总得来说,数控系统对机床控制的影响主要体现在「控制能力」上。

数控系统主要是由「人机交互界面(HMI)+数控核心(NC)+可编程逻辑控制器(PLC)+驱动(Drive)」组成,其中HMI用于人机交互;NC则是数控系统的核心,用于轨迹的计算,位置的调节,和相关的控制,如加速度,刀具数据,零点偏移,以及各种复杂的机床功能。PLC则用于机床逻辑的控制,如刀库,液压设备等;Drive则是执行机构,对电机的电流环和速度环进行调节,使其能快速准确的完成NC发出的指令。

数控系统对数控机床来说是一整套解决方案,包含相应的软件和硬件。只有当软硬结合,以及数控系统中NC,PLC,Drive和HMI协同配合,共同完成机床的控制,才能保证机床的高精度,高质量。

当然,一套用于控制机床的完整的数控系统还包含很多其他组件,如伺服电机,机床操作面板,手轮,I/O模组,各种线缆等,下图是一套西门子数控系统配置的例子。


数控系统实现对机床自动控制的过程是:将用于加工的NC程序传入数控系统,数控系统再通过译码、计算,将程序中的指令转换为一个或多个坐标轴的运动轨迹(包含位置,速度,加速度),然后发给所对应的驱动,再由驱动控制伺服电机,最后由伺服电机来驱动机械传动部件完成NC 程序中所指定的加工轨迹。

将其转换成原理图如下:

这里就会涉及硬件和软件两个方面,我们举几个例子来说明会有哪些因素对机床的控制产生影响。

硬件方面:

伺服电机的性能

好的数控系统一般也会配置好的伺服电机。好的数控系统可以提供多种类型的电机供用户选择,如高动态电机、大惯量电机等。用户可以根据机床不同的要求,选择不同特性的电机。好的伺服电机一般也会有更高的编码器分辨率,分辨率越大,速度波动就越小。具有高分辨率编码器的电机控制起来将会更加平稳,精度更高

比如,西门子1FK7/1FT7系列伺服电机配有24位单圈+12位多圈绝对值编码器,分辨率高达24位,即16777216。

全闭环的支持

我们通常把电机编码器的反馈所形成的闭环叫做半闭环。因为系统只能接收到电机的反馈,而不能直接得到来自机械实际的反馈,故称之为"半闭环"。由于电机与机械之间存在很多弹性连接(如上面原理图中的弹性联轴器等),这些弹性环节会使机床在传动过程中存在误差,而系统此时只知道电机的反馈,并不知道传动中的误差,因此实际的控制精度会受此影响。

一般情况下,中高端的数控系统可以接入光栅尺作为直接测量系统形成"全闭环",系统就可以直接通过光栅尺得到机械的实际反馈来进行控制与调节,从而提高机床的精度。

直驱电机

传统的机床一般都是采用丝杠和导轨的结构来进行传动,而越多的弹性环节对精度的影响也会越大。所以为了减小机械结构带来的精度问题,可以采用直线电机的结构,如下图所示,从而减少传动环节,有效的减小由丝杠间隙和弹性联轴器,磨损,变形等因素带来的误差。

从直线电机本身的结构来讲,直线电机也比传统的旋转伺服电机具有明显优势。直线电机由于结构的原因,在驱动力传输过程中不发生接触,因此驱动组件不会磨损。其重量轻,扭矩大的特点,可以达到更高的移动速度速度。其主要的优势在于可以避免弹性效应,齿隙效应,磨损效应以及传动机构中的自然振动。这样便可以获得更高的动态响应和控制精度。

在采用合适的测量系统和适宜的温度条件下,电机的定位控制可达纳米级。对于高精尖的机床如大型龙门五轴加工中心都采用直线电机的方案来提高其精度,速度,以及轴的快速响应能力,从而提升机床的整体性能。同理,对于旋转轴,可使用力矩电机来进行控制,如五轴头等,此处不再过多举例。

接下来咱们再说说软件方面

计算精度:

现在一般的数控系统能够达到纳米级的计算精度,而好的数控系统甚至能达到超过纳米级别的计算精度,甚至在整个控制链条上都可实现。更高的计算精度,意味着数控系统可以提供更高的控制精度,从而达到更理想的插补轨迹。

各种补偿功能:

一般补偿不必多说,如常规的螺距误差补偿,反向间隙补偿,过象限补偿等,都可以补偿机床的精度问题,这些补偿功能基本上所有数控系统都支持。对于大型机床而言,由于机床结构较大,装配难度较高,机床的几何误差往往比较大,一般可以采用上述的补偿功能对单个轴进行补偿。但对于大型龙门五轴机床来说,误差远不止于此,还存在许多空间上的误差,如下图所示。

这些微小的误差综合起来反应的刀尖点(加工点)上将会进一步扩大,从而影响到最终的加工质量。一般系统只能对单个轴进行补偿,并不能对空间中的误差进行补偿。但像西门子的SINUMERIK 840Dsl数控系统就可以提供VCS(Volumetric Compensation System)空间误差补偿功能,以进一步提高机床的精度。有用户在使用了VCS功能以后将大型龙门五轴加工中心体对角线上的误差从0.22mm降低到了0.05mm,足足提高了77.3%。

机床定位控制功能:

有时候,操作人员可能会发现使用机床加工的产品存在着偶发的质量问题,而导致这些问题原因可能是由于外部环境干扰而产生的振动影响,如液压设备,冷却装置,或者其他机床等。这一类问题一般可以通过光栅尺测出位置偏差来发现这些干扰,但却很难通过调整机床的动态响应参数来抑制和消除。

西门子的SINUMERIK 840Dsl提供的APC(Advance Position Control)高级定位控制功能,可以通过光栅尺测得的数据通过控制算法来抑制外部干扰。这有点像我们日常生活中使用的降噪耳机的原理,通过附加的噪声来中和环境的噪音。

使用APC功能可以使机床的敏感性降低,让机床运行在更高的动态响应参数下,从而提高加工效率。APC可以帮助提高位置环增益,提高机床精度,大幅提高工件表面质量。如下图所示,绿线是未使用APC功能时,位置环增益Kv=2时,有超调,意味着这个该轴的增益不可能达到2,但当使用APC功能后(红线所示),该轴的Kv就可以达到2了。

五轴插补,我相信大家应该都知道,仅存在于高端系统。五轴插补功能是叶轮、叶片,螺旋桨等重要零部件加工的核心功能,具有重要的战略意义。

高端数控系统具备的功能实在是太多了,像Master-slave, gantry等,我就不再介绍了,总之很多都与方便调试,实现复杂功能,以及提高机床性能有关。

接下来咱们说一下对于零件加工的影响

PS. 实际上机床控制也会影响到加工,这是关联的,如机床精度,速度的提高都对加工都有直接影响。

对于好的数控系统来说,会提供很多功能以提高加工质量和效率。例如在双通道车床里,可使用平衡车削的功能,使两个刀架分别在两个通道里同时对一个工件进行加工,从而大大提升加工效率;采用两边刀具对向加工的方法还可以平衡刀具对轻薄工件产生的作用力,在提高效率的同时保证加工质量。

又如在铣床的模具加工中,数控系统还会提供高速高精功能,比如西门子数控系统提供的臻优曲面功能(Top Surface)。通过该功能可以将模具程序进行更好的路径优化,平滑加工速度,使加工效率提升;对于精度要求高的工件还可以带来更高的轮廓精度。


此外,好的数控系统除了强大的功能外,还体现在易用性上,这些系统会在HMI(人机交互界面上)下足功夫,如通过动画来指导用户操作机床等,给用户带来便捷的操作同时,也带来良好的使用体验。如同我们使用智能手机一样,很多人喜欢iPhone的原因,除了它有出色的性能外,还有就是iOS这个操作系统给使用者带来的良好的操作体验。

话说回来,机床的核心还是机械本身,良好的机械性能才是基础,但一套好的、高质量的数控系统却可以将机床优良的机械性能发挥得更加淋漓尽致,达到锦上添花的目的。

这里敲下小黑板:西门子可是有从低端到高端,覆盖整个市场层级的数控系统的解决方案哦。


本文作者:

石璇 @Gothic Hero

西门子(中国)有限公司

数字化工厂集团

运动控制部

数控技术应用中心



来源:知乎 www.zhihu.com
作者:西门子中国

【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。 点击下载

此问题还有 15 个回答,查看全部。
延伸阅读:
高端的 CNC 机器带有 GPS 定位锁是为了防止这些机器流入伊朗吗?
同平台共线生产的车区别在哪里?

“钱”路漫漫?——中国滑雪个人装备市场初探

前言

几天前,MAOMAO的《单板不简单:简史与现代黑科技》唤起了不少朋友们对滑雪装备的热情。其实除了滑雪板,滑雪的行头还有很多,如滑雪鞋、头盔、雪镜、护具、以及种类繁多的各种功能性服装,是一个相当庞大的产品体系。

图片1:滑雪个人装备产品专利和专利所有者 引自 Jacob Blamey. IP Trends in the Skiing Industry. 2015

"兵马未动,装备先行",对于广大技术能力还不过关的同学们,先用上好装备再踏进滑雪场是常规操作。而对于资深穷人笔者来说,雪具店里的每件东西都是天文数字,一件滑雪服动辄几千块,一个护脸(看上去就是块布)也要几百块。渐渐地"装备买一件,吃土小半年"也就成为了习惯。

钱包被不停地掏空,但笔者对装备这个行业却知之甚少。带着这份好奇,笔者和其他小V们一起想探个究竟,却发现目前鲜有研究成果,甚至连靠谱的数据都找不到。于是小V们就联络了滑雪个人装备行业的众大佬,进行多方访谈,随后便整理了以下文章,希望能和对个人装备行业有所了解的同仁们展开讨论,尤其欢迎拍砖


1.国内滑雪个人装备市场估计

首先,我们回顾一下之前行业内对滑雪跟人装备市场规模的估计。

《中国滑雪产业白皮书(2016年度报告)》中给出了2016年双板零售14500套(基于9大品牌提供数据整理)、单板零售10800套(基于3大国际品牌数据整理)的数据。对于其他装备没有提及,且在下一年年的报告中认为2017年这个数字变化不大;

图片2:中国滑雪产业白皮书(2017年度报告). 伍斌,魏庆华. 2018

平安证券的一篇行业分析报告中提出,当前(文章发布于2016年3月)中国的滑雪个人装备市场规模约10亿,到2030年将达到160亿的规模;

莫尼塔投资认为:包括滑雪服、滑雪板、滑雪鞋、滑雪杖等在内的各式个人滑雪用品,现阶段国内市场规模约20亿,未来有望达到百亿量级(200-300亿);

国内重要滑雪装备公司A的高管认为,当前整体市场规模(包括滑雪板、滑雪服饰、各类配件、以及赛事活动等)在30亿左右;

国内重要滑雪装备公司B的高管认为,个人滑雪装备(不包括服饰)约2亿,且相信在2022年冬奥会过后会增长到200亿的规模。

总结下来,小V发现行业、投资者对于这个市场的认识还比较模糊,也没有所谓的权威数据。但普遍认为未来将有高增长,且有望达到百亿级别的规模。

2.发达国家滑雪个人装备市场

滑雪行业在当今中国毕竟还处于初级阶段,那成熟的市场上滑雪个人装备是什么规模、产品结构如何呢?当今全球滑雪产业最为发达的地区是阿尔卑斯和北美,亚洲的日本也曾经历辉煌。以下分别选取其中比较具有代表性的美国和日本进行观察。

日本

根据日本国土交通省观光厅2015年发布的《日本滑雪旅游分析》报告,2012年日本滑雪个人装备(不包括滑雪相关服装类)销售总额为1100亿日元(约合60亿人民币)。而巅峰期(1991年)这一数字为4300亿日元(约合250亿人民币)。可见,尽管经历滑坡式的衰退,日本的滑雪个人装备行业依然"瘦死的骆驼比马大"。

图片3:日本滑雪人口和个人装备市场规模. 国土交通省观光厅. 2015

美国

与日本不同,美国的滑雪行业至今保持繁荣。根据美国雪上运动产业协会Snow Sports Industries America(以下简称SIA)的统计数据,年均滑雪人次5500万的美国,2016/17年度滑雪个人装备市场零售总额为43亿美元,约合275亿人民币

图片4:美国2016/17年度滑雪个人装备销售规模. SIA. 2018

其中按照销售总额划分的产品结构如下:

  • 服饰类产品(包括滑雪服、软壳、抓绒以及各类功能性服装和帽子手套)占了大头,占比65%
  • 装备(双板、单板、雪鞋、固定器等)占比29%
  • 配件(头盔、雪镜、护具、拍摄工具等)占比6%

美国的产品结构每年都有些许变化,但大体上保持稳定。如果把配件类也归为装备,那么在服饰/装备这两个最大的产品类别上,比例大致为7:3的状态可见,滑雪服饰的市场规模是远大于装备的。

再进一步观察滑雪装备的结构,其中:

  • 双板装备(雪板、雪鞋、固定器、雪杖)占比58%。双板装备中,雪板占比45%,雪鞋占比40%,固定器占比10%,雪杖占比4%;
  • 单板装备(雪板、雪鞋、固定器)占比28%。单板装备中,雪板占比45%,雪鞋占比31%,固定器占比25%;
  • 其他装备(越野滑雪、Backcountry)占比14%

可以看出,尽管美国是单板的发源地和单板文化最为发达的地区,但装备市场上双板依然占据近六成的市场份额,单板和其他装备构成其余的四成市场;双板装备、单板装备内部的构成也呈现不同的特点,双板雪鞋与雪板的份额接近,而单板则相对悬殊。

此外,不论单双装备,雪鞋的销售量都多于雪板:双板雪鞋销量超过雪板16%,单板则超过20%

3.中国滑雪个人装备市场估计

结合对国内滑雪装备行业资深人员的估计、与发达市场产品结构的经验,小V尝试对中国滑雪个人装备市场的规模进行估算。

图片5:国内的滑雪装备服务. 万科松花湖度假区. 2017

首先,综合各资深人员的意见,对国内双板市场装备数据归纳如下:

  • 租赁雪板(滑雪场等集中采购的廉价滑雪板产品):ELAN、NORDICA、ROSSIGNOL、DYNASTAR租赁业务销售1万副左右/年,其他品牌租赁业务年均500-1000副左右/年;
  • 零售雪板:年均2000-2500副/年的有HEAD、FISCHER,年均1500-2000副/年的有ROSSIGNOL、ATOMIC,年均1000-1500副/年的有NORDICA、VOLKL,其他品牌均在1000副/年以下;
  • 滑雪鞋:通常租赁业务雪鞋要比雪板多20%,零售雪鞋要比雪板多30%。

以上述数据为基础,结合发达市场的产品结构,笔者对中国滑雪个人装备市场进行估算。

图片6:2017年中国个人装备市场估计. 冰雪小V. 2018

初步估算,国内滑雪个人装备市场总额约为32亿元。其中:

滑雪装备(单板、双板及雪鞋和配件)8亿元,占比25%;

滑雪服装类(滑雪服、内胆、软壳等各类功能性服饰、以及滑雪用帽子、手套等)24亿元,占比75%。

注① :其中部分数据为采访所得,部分为笔者估计。

注② :估算逻辑为从采访所得的2017年双板雪板、双板雪鞋出发,以美国的滑雪个人装备市场结构为参照结合国内市场成熟度进行调节,以销售额为标的进行估算。

4.对中国滑雪个人装备市场的评价

根据初步估算所得的数据,可以看出:

  • 当前中国滑雪市场处于非常初级的发展阶段。此前小V在【小V观察】滑雪市场的"冰与火之歌"一文中曾提到"现在正处于且将长期处于初级滑雪市场"的论断。滑雪个人装备市场的不成熟则再一次印证了这一点。
  • 小V认为,①滑雪个人装备市场的规模、②季卡销量占滑雪索道票的比重这两点是衡量一个地区滑雪市场是否成熟非常有趣的标志。当前中国的滑雪市场上这两个指标都处在非常低的水平。
  • 越野滑雪、Backcountry(野雪、滑雪登山等)市场相对空白。美国的滑雪装备市场上,这两类产品占了15%左右的份额。而在当前中国的户外消费市场上,越野滑雪、滑雪登山还处于萌芽阶段,个人零售消费几乎可以忽略。
  • 滑雪相关类服装是滑雪个人装备市场的主体。注意不仅仅是雪服,滑雪相关的各类功能性服饰、以及手套帽子等配件等都是重要的产品。

在与行业资深人员的交谈中,小V了解到:过去10年滑雪装备代理企业经历了平均每年50%的高增长,但上个雪季(2017/18雪季)增速降至25%左右。其中的一种可能是,过往10年的个人装备市场是一个"填补空白"的阶段,正规渠道的滑雪装备销售没有满足对应的滑雪消费者,所以经历了一个高速的增长期。而如今,到了北京张家口申办冬奥成功过后的第3个年头,滑雪行业B端已有大量企业、资本涌入,过往的市场空白已填补殆尽。可以说从现在开始,滑雪个人装备行业进入了一个正常的"增长阶段",企业需要寻求与消费市场的增长平衡。

5.中国滑雪个人装备市场的未来

至于未来,小V有以下观点:

  • 高速增长期会在奥运过后的5到10年。与此前针对整个滑雪市场的判断相同,小V认为尽管当前滑雪个人装备市场有所增长,但并没有达到一个高速增长期,距离行业的"天花板"更是有着遥远的距离。未来的高速增长期也不会是在奥运前后,而是在奥运过后的5到10年间。
  • 未来的中国滑雪装备市场是百亿级的市场。如果未来中国的滑雪人口能够占到总人口的2%(美国为5%,日本为9%),人均滑雪板消费量能占到美国的一半(美国2017年每16个滑雪人口消费1块滑雪板),届时中国的滑雪消费就将超过200亿。这或许是最不乐观的行业估计标准了。

最后的最后是本文真正的重点:小V真诚的欢迎各位读者拍砖,展开讨论。正所谓"真理越辩越明"。本文的主旨就是希望能够抛出一个"靶子",通过交流让我们对这个模糊的市场有越来越清晰的认识。



来源:知乎 www.zhihu.com
作者:红旗下的雪球

【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。 点击下载