《星界战场》开发日志 #3

作者:bitca.cn
2019-06-06
13 2 1

海报

海报完成了,下面是用在 Steam 商店页的效果。

游戏中的主美术还是以像素为主,实现的效率会高些。

游戏特性

这个游戏玩起来的感觉基本上像是一个小型的桌游。 现在的版本在用简单的 AI 模拟对战的情况下,每局平均时间是两分钟,接下来加入动画和特效后一局时间会长很多,所以我们会控制整个游戏以比较快的节奏进行。 以下是这两天加入的闪电链式攻击的效果,棋盘只是调试状态,实际战斗不会有这么大规模的部队接壤:

现在我们海报上的宣传语为:A Turn-based Strategy Sci-Fi Game In Anime Style。 我现在想,还可以再加入一些词比如:Fast Pace / Board Game,那么整体可以改为: A Fast Pace Sci-Fi Board Game In Anime Style。这样一来一句话就包含了特性/类型/题材/美术风格。

另外,如果大家看过 B 站上自动对战的视频的话,会感觉这个这个游戏还有点像消除游戏,所以要不要加入 Puzzle,我考虑一下 ...

快进

在我为这个游戏写日志的时候,实际开发已经进行了一个多月了,项目真正开始在 4 月中旬左右,现在把这段时间的内容压缩的介绍一下:


编辑器

人物设计完成后,我开始在 unity 中创建两个最基本的数据结构:地板和棋子。接下来我需要一些用于测试规则和交互的起始棋盘数据,这就需要一个简单的编辑器,试着做了一下,大概是 unity 不熟悉的原因总是有点不顺手。于是赶紧回到 godot 一下子就弄出来了:


规则逻辑

写规则逻辑的时候,我们是 playmaker 和 c# 混用的,C# 主要进行大规模的数据处理,这个方面 playmaker 是短板,主逻辑由 playmaker 负责,视觉化后的游戏逻辑比较清晰也比较容易除错。工作量主要集中在两大部分:

  1. 游戏的棋盘数据处理和规则逻辑判断;
  2. 玩家操作的交互逻辑;


部队调色 Shader

调色版颜色替换,这是老像素游戏的一个特征,现代引擎当然已经不再支持这种老旧的 index 颜色技术。这个游戏中有红蓝两种部队,兵种都是一样的,所以很自然的,如果画了红色的,通过换调色版改成蓝色部队就好了。外部软件可以做这个工作,但是图片资源较多的时候就有点费劲了。所以我打算用 Shader 来完成。通过 Shader 实现颜色替换可以通过两种方式完成:一种是将要替换的颜色数值输入,一种是用贴图来将颜色对应关系进行输入。我不想学习任何一种 Shader 语言,所以我这里用节点 Shader 来实现。起初用的 Unity 的 Shader Graph,后来发现这个 Shader Graph 不能在默认渲染管道下使用,所以改为使用 ASE:

这个是将 16 种颜色进行替换的部分,看起来很笨,但是很有效,但是会有个替换的先后问题。

将以上图片中间部分颜色块作为贴图输入 Shader 就可以进行颜色替换。


网络对战

规则逻辑完成后,我们已经可以实现自己跟自己进行对战,那是不是该弄下 AI 了呢?我们觉得 AI 是块硬骨头,为了便于测试,我们决定先把网络对战弄起来,然后遇到了不少困难和问题:

  • Unity 正在弃用原有的网络库;
  • 如果是本地测试也就罢了,如果要能够真正的网络对战,需要解决 NAT 穿透/用户认证/匹配等问题。不想造轮子就只能用现成的了,最后选了 Photon。
  • 现在的框架和服务基本上是为实时连接服务的,回合制的还得自己琢磨。  

这一弄至少花掉了两周的时间。


最笨的 AI

网络端完成后,我们开始弄 AI 部分。首先规则部分要对 AI 提供一些数据接口,就是让 AI 能够拿到当前棋盘的各种数据,最主要的是 AI 能够做的操作的所有可能性。有了这个之后就可以实现最笨的 AI:在所有可能性中随机进行选择。做完这个之后,我马上做的第一件事情就是做 AI 对 AI 的自动战斗,实现了这个也等于实现了对游戏规则和程序系统本身的自动测试。然后整个过程我都进行直播和录像:

结果就是有一天用来直播的笔记本黑屏了之后就再也进不了系统了,估计是过热,后来折腾了一下又正常了,看来得拿另外一台电脑进行测试了,不然损失太大... 而我弟负责最根本的 AI 算法,直到现在还在弄。

关于故事与世界观

现在又一个选择分支:故事可以打造为单纯的棋类挑战,挑战各种关卡,比武大会之类的,也许更直接一些。

接下来要做的工作

  • 美术改造:美术对当前的画面效果不满意;
  • 人物的攻击动画和特效;
  • 完整的 UI 逻辑;
  • 网络端改写为事件方式;
  • 完成一个最小可玩版本包括与 AI 对战以及网络对战;
  • Steam 页面;

推广方面的工作

  • 稍微做了一下 Steam 上同类产品的调查,还没彻底完成。初步看来:除了头部大作,其他的销量都很低;
  • 没有可玩版本之前,在海外还不知道怎么进行推广;
  • 团队对这个游戏的前景还是存疑。我自己考量:单纯的内部 Demo 和评测阶段对这个产品没什么帮助。我打算只在游戏群和爱发电发放 Demo,然后尽快进入 EA。 

我现在的心情:

本次日志内容就这么多~

保持联系

  • QQ 群还是原来《孙悟空大战机器金刚》的那个,现在改名了:828762202, Demo 打算只在 QQ 群进行发放;
  • 还有我很少用的微信:yuyonghai943797
  • 我比较习惯发东西的地方还是微博:https://www.weibo.com/u/5624992490
  • 日志将一如既往的在奶牛关和 Indienova 上同步发布
  • 在爱发电上继续支持我 https://afdian.net/@Bitca ,有一个支持挡位在游戏发布后可以得到 Key 哦~  

本文为用户投稿,不代表 indienova 观点。

近期点赞的会员

 分享这篇文章

您可能还会对这些文章感兴趣

参与此文章的讨论

  1. ffnumber1 2019-06-06

    进展神速,果然是别人家的游戏。

您需要登录或者注册后才能发表评论

登录/注册