说实话,我原本甚至不想添加任何具体的图形,但后来觉得你们中有些人可能会对细节感兴趣。这是一款传统的Roguelike游戏,所以在开发的大部分时间里,我的主角是一个"@"符号,而直到昨天,泥地是"~"符号,草地是"#"符号。

在之前的项目和原型中,我总是在美术资源问题上碰壁。比如十年前我尝试做过一款RPG,结果美术资源包里的敌人用完了,因为无法再让美术风格保持一致而放弃。这也是我最初想坚持传统ASCII风格Roguelike的原因之一——这样我就能专注于玩法而不是美术。

好吧,后来我确实想添加……一些点缀,但又不想被美术资源折腾,所以我把代码写成能在一个格子里显示多个ASCII字符的形式。

然后……我想让这些字符动起来,随便捣鼓了一些简单的火柴人敌人,偶然尝试让每个ASCII字符都待机,结果竟然成功了。这简直太疯狂了。基本上我只要创建新的素材,它的动画就会自动处理。死亡动画也是如此——ASCII字符会在关卡中飞溅。后来我意识到可以优化一下,为每个ASCII字符单独设置待机速度和待机旋转角度,比如让头部保持静止,这样就能在需要时微调动画。另外,加个"随机"按钮也很有用,能自动随机排列和旋转ASCII字符,我就能眯着眼看看某些组合是否像什么东西,哈哈。

那大概是半年前一个特别酷的瞬间。昨天我终于完成了第一个版本,在我之前做的敌人/角色动画上又添加了地面贴图。我觉得很少有人做过类似这样的系统。虽然中间让我头疼不已,但现在能做成这样真的非常开心。

所以我想,有时候随机做点什么也没关系,不必一开始就追求完美 :) 祝所有独立开发者们好运!如果有人想了解更多这种美术风格:

https://store.steampowered.com/app/4761790/Rogue_Elements/
https://tomalexi.itch.io/rogue-elements