Musoucrow' BLOG


  • Home

  • Categories

  • Archives

  • Tags

  • Search

王牌英雄(Awesomenauts)研究报告

Posted on 2017-03-03 | In Research | | Visitors

  欢迎参与讨论,转载请注明出处。

前言

  出于项目的需要,需要对市面上的横版MOBA动作游戏进行研究,特撰此文,以便记录和交流。本文将对《王牌英雄》分为几个部分进行研究并以章节的形式体现,文中观点仅为本人一家之言,仅供参考。

介绍

  《王牌英雄》是一款由Ronimo Games制作,DTP Entertainment发行于2012年的2D横版动作游戏。游戏平台繁多,包括Windows、macOS、Linux、PS3、PS4、Xbox360、Xbox One。玩家可于Steam、PSN和XBLA进行购买下载。
  游戏虽然是2D横版动作游戏,但其实他更讲究玩家间的对抗,属于MOBA游戏,而且武器、职业和招式的种类也繁多非常值得多人一起游戏。
  《王牌英雄》主要讲述了星系间的领土争夺战争,巨型机器人、外星人等都会成为出战角色。
  与众多的MOBA游戏类似,《王牌英雄》也是以与队友(3V3)合作,摧毁敌方的基地为胜利目标。一场游戏的时间大致在10-15分钟,拥有PVE/PVP两种模式,可进行各种设置以增添游戏特色。

地图

前言

  地图分为上下两路,需要利用跳跃到踏板上进行Y轴移动。拥有多张地图,但皆大同小异。总体结构如下图:Ribbit_IV

要素

  • 商店
    • 商店是英雄支付太阳能以强化技能的地方,并提供了恢复功能。
    • 商店属于阵营设施,位于阵营的最深处,可视为传统MOBA的泉水。
    • shop
  • 基地
    • 基地属于阵营设施,可摧毁,位于商店之前,是阵营的核心,若基地被摧毁,则视为游戏失败。
    • 基地不会攻击,不会自我恢复,敌人不可通过。
    • main_tower
  • 屏障
    • 屏障属于阵营设施,位于地图各处,敌人不可通过。
    • Energy_Wall
  • 工厂
    • 工厂属于阵营设施,位于基地下方,负责生成士兵。
    • factory
  • 塔
    • 塔属于阵营设施,可摧毁,位于上下二路,每路各有两座。
    • 负责攻击附近的敌人,敌人不可通过。
    • 攻击方式为多角度子弹,且只会锁定并伤害一个单位(单一伤害)。
    • 在建筑本身还有一个群体伤害判定,强行通过时会触发。
    • tower
  • 士兵
    • 士兵属于阵营单位,可摧毁,敌人不可通过(会将士兵推后),从工厂诞生,前往上下二路。(前往上路需要跳跃/飞行等方式)目标为攻击敌人,拥有两种类型。
    • 士兵分为三个等级,每隔6分钟升级一次。升级后士兵的属性将会得到提升。(用于推进游戏节奏)
    • 种类
      • 近战兵
        • 最基础的种类,每隔20秒诞生2个。
        • 攻击方式为齿轮切割,属于单一伤害。和塔一样,强行通过时会被连带攻击。
        • Sawblade_Droid
      • 超级兵
        • 当摧毁敌方线上的1座塔后,便会诞生1个。
        • 攻击方式为发射炮弹,碰到第一个敌人后爆炸,属于群体伤害。
        • Super_Droid
  • 英雄
    • 英雄属于阵营单位,可摧毁,敌人不可通过,从基地诞生,由玩家控制。
    • 英雄死亡后隔一段时间后便会从基地复活,随着游戏时间的增长,复活时间也会增长。
  • 野怪
    • 野怪属于公共单位,可摧毁,位于地图中间的几个固定点,目标为攻击进犯者,在不同地图上拥有不同类型,每隔一段时间刷新。
    • 英雄可通过击杀之获得太阳能和恢复。
    • Small_Beast_Creep
  • 踏板
    • 踏板属于公共设施,位于地图各处,可供单位立足,且玩家可通过↓+Space穿透踏板进行下降。
    • pad
  • 隐藏区域
    • 隐藏区域属于公共设施,位于地图各处,一般会搭配踏板使用,外界无法看到隐藏区域里面的情况。
    • Hidearea
  • 补给球
    • 补给球属于公共设施,位于地图各处,受伤时的英雄触碰后可恢复,然后补给球消失,每隔一段时间刷新。
    • Healthpack
  • 太阳能结晶
    • 太阳能结晶属于公共设施,位于地图各处,诞生自士兵死亡后,英雄触碰后可获得太阳能。
    • 太阳能分为两种:灰色和黄色,灰色可获得1点太阳能,黄色为5点。
    • solar

后记

  总体来说,《王牌英雄》的地图设计视图让玩家频繁的使用跳跃,利用踏板借助跳跃来增加游戏的操作性,弥补非深度横版的躲招问题。意图不错,不过反倒增加了操作难度,若要考虑移植到手机平台的话,这将是个问题。
  地图中间的野怪设计,可以视为玩家发生冲突时随手杀死野怪以获得恢复的手段。不过结合游戏时间来看,野区其实可以设计一些加剧玩家冲突与游戏节奏的元素。
  士兵的作用非常明显,在英雄单独对抗士兵时,会付出一定程度的代价。不过超级兵的诞生频率太低,几乎没有存在感,作用也相对有限了。

英雄

前言

  英雄即玩家参与游戏时扮演的角色,《王牌英雄》的英雄数量繁多,至今发展到几十个左右。

特性

  《王牌英雄》将英雄做了不同特性的划分,每个英雄可能包括多个特性,以下是特性一览:

  • 刺客
    • 入门角色
    • Gank好手
    • 低生命值
    • 高机动性
    • 拥有爆发或高持续的伤害
    • 拥有逃跑手段
  • 斗士
    • 堵路机制
    • 追逐好手
    • 擅长近距离战斗
    • 拥有控制手段
    • 拥有高持续的伤害
  • 护卫
    • 能有效地防御来自敌方的攻击
    • 能力都集中在撤退和阻挠进攻的方法,而非直接作战。
  • 狙击手
    • 长距离攻击,短冷却时间
    • 善于放风筝
    • 不善于近战
    • 有加速手段
  • 开团手
    • 擅长打团,不擅长独战
    • 拥有高风险高回报的特性
    • 拥有非常强大的控制手段
  • 医师
    • 有限的攻击力
    • 无逃生手段
    • 需要被保护
    • 拥有治疗能力
  • 毒师
    • 拆塔好手
    • 拥有能够立即杀死多个目标的能力,通常冷却时间较短
  • 辅助
    • 不适合直接战斗
    • 万金油
    • 需要被保护
    • 拥有改变团队的能力
  • 坦克
    • 高生命值
    • 减伤好手
    • 适合打头阵
    • 不善于追逐

技能

  在《王牌英雄》,每个英雄拥有四个技能,它们分别是:主动技能1、主动技能2、普通攻击、跳跃。我们接下来便以谢里夫·龙星为示范:

  • 主动技能1
    • skill1
  • 主动技能2
    • skill2
  • 普通攻击
    • normalatk
  • 跳跃
    • jump

  技能还可以在商店支付太阳能进行强化,如下图:skillup

属性

  在《王牌英雄》,属性和一般游戏不同:它明确分为自身属性和技能属性。自身属性即单位本身常驻的属性,而技能属性则为描述技能作用的参数。
  自身属性一般来说都是隐藏的,每个英雄的自身属性都是事先决定,这意味着这并不是一款需要属性养成的游戏,你并不需要太关注属性方面的事情,但你仍可在商店里进行一些强化。
  以下是属性一览:

  • 自身属性
    • 生命值
      • 生命值是指死亡前可以采取的伤害量。换言之,到了0就会死。
    • 质量
      • 质量是指单元推动或被另一单元推动的能力,例如近战兵的质量就很低(可以被推后)。
    • 移动速度
      • 移动速度即单位移动时的速度。
    • 太阳能获取
      • 每段时间获取太阳能的数额。
    • 太阳能
      • 用于商店购买强化技能。
  • 技能属性
    • 攻击速度
      • 攻击速度决定每次攻击之间的时间间隔,一般存在于普通攻击。
      • 攻击速度以一个数值的形式体现,结算到具体的时间需要/60。
    • 攻击范围
      • 攻击范围指子弹的行进距离。
      • 攻击范围对非发射子弹类技能无效。
    • 技能范围
      • 俗称AOE,泛指那些覆盖一个区域的技能效果。
    • 冷却时间
      • 冷却时间是指技能可以再次使用之前必须经过的时间段。
      • 每个技能都有自己的冷却时间,普通攻击和跳跃不存在冷却时间。
    • 控制时间
      • 控制时间是指使敌方停止/阻碍行动的时间段。
      • 控制的表现手法多样。
    • 持续伤害
      • 俗称DOT,泛指随时间慢慢伤害目标的效果。
    • 飞行
      • 飞行是无限跳跃或能够永远留在空中的能力。
    • 治疗
      • 治疗是指恢复目标生命值的能力。
    • 隐形
      • 隐形是使目标完全不可见的状态效应。当隐形的单位使用能力或自动攻击时,或者在一段时间后,隐形会消失。
    • 生命偷取
      • 生命偷取是一种特殊的伤害,它在击中敌人后生效。
      • 生命偷取可以是基于百分比或固定量。
    • 护盾
      • 护盾是给予英雄保护的能力,在存在护盾时,受到攻击后会优先磨损护盾。
    • 反射
      • 反射是一种使敌人子弹反射回攻击者的机制。同时因为反射了,所以英雄不会受伤。
    • 加速
      • 一段时间内获得移动速度。

后记

  《王牌英雄》英雄的特性分类值得思考,技能属性的设计更是优秀,运用这种思路,制作技能将会简单很多。
  但是在技能设计和人设方面就不太合我胃口,尤其是技能方面,由于技能数量和深度不足的原因便显得比较单调,就算拥有强化途径但也感觉稍逊一筹,也许在这方面应该可以做得更好。

战斗

前言

  《王牌英雄》在战斗上拥有不少细节值得研究,而有些东西不方便插入到其他章节中,便集中到本章讨论。

攻击类型

  《王牌英雄》的攻击方式分为两种:单一攻击和群体攻击。单一攻击表现为击中一个敌人后便会结束,忽略其他敌人。而群体攻击则不然,会攻击范围内所有敌人。

打击特征

  《王牌英雄》属于轻动作游戏,它不是那种击中敌人后敌人便会陷入硬直,以连招为乐的动作游戏。它似乎连硬直和浮空动作也不具备,尽管会有类似的效果表现。就连打击特效,也仅仅是近战角色才有。平常的打击特征为被击者出现黄色遮罩,以及配合伤害数字来确定被击中,更别提Hit Stop了。因此使得《王牌英雄》的动作性并不高,它主要以不断跳跃位置的游击战为特色。
  幸运的是,《王牌英雄》还是具备了基本的战斗音效,所以总体来说还是不成问题的,只是缺乏了点动作性而已。

BUFF

  《王牌英雄》虽然存在BUFF系统,但并没有展示BUFF的UI,只存在BUFF特效和触发提示,如图:skillup

障碍

  《王牌英雄》的障碍形式区域制,只要单位能过跨越障碍就能通过,如通过跳跃穿过敌方士兵,但若同时撞上在空中的地方英雄则会无法继续前行,被迫降落。
  至于降落点本身就有障碍该如何处理,这一点尚不明确。

后记

  《王牌英雄》的战斗系统在我看来并不讨喜,主要原因为总体攻击距离太短,加上依赖跳跃的地形,使得直接触发战斗的成本提高,当然好这口的人估计会很喜欢。
  能够在跳跃中使用大部分技能的设计还是很不错的,给人一种空战的感觉。类似的设计还有多角度攻击,不过这个是远程英雄的专利,对于近战英雄并不友好,我认为这个设计已经影响到了平衡性,因为本身能够快速接近敌人手段并不多。

后记

  《王牌英雄》从游戏的角度上让我评分的话,10分里面只能打个4分:它不是我的菜,无论从战斗、技能、还是人设来看,都是如此。
  但它对我而言的意义在于:提供了一款横版MOBA动作游戏的示范,它还是一款成熟的横版MOBA模型,使我得到了不少启发,也使我明白哪些部分应该加以改善。本次《王牌英雄》的研究报告,就此结束。

在Mac平台使用GitHub和Hexo搭建博客

Posted on 2017-02-26 | In Teach | | Visitors

  欢迎参与讨论,转载请注明出处。

前言

  在整这个博客时遇到了不少坑,正适合作为此博客的第一篇正文。另外本文会随博客的调整而更新,可保持关注。
  本次的博客搭建平台为Mac OS X 11.6,但总体来说用到系统本身特性的地方很少,所以其他系统的使用者亦可参考。
  本文涉及到一些软件的相关知识,如果你不了解它们,请先去了解一番。
  如果你已是GitHub用户并且创建了GitHub Pages仓库,你可以跳过部署GitHub。
  如果你已安装Git、NPM和Node.js,或非Mac OS平台,你可以跳过安装前置软件,但非Mac OS平台的用户请自行解决前置软件的问题。

部署GitHub

前言

  本次博客的发布网站是隶属于GitHub的GitHub Pages仓库,通过把网站文件存放到这种仓库里,你便可以利用GitHub提供给你的外链访问它。
  声明:以下部分内容转载自铁锚的创建GitHub技术博客全攻略。

注册账号

  前往GitHub官网,参考下图输入账号、邮箱、密码,然后点击注册按钮。
  register

初始设置

  注册完成后,选择Free免费账号完成设置。
  welcome.png

验证邮箱

  请打开你的邮箱,查看发送给你的确认邮件。你需要验证邮箱后,后面生成的个人主页才会被接受和发布。

创建页面仓库

  前往创建仓库,参考下图。
  仓库的名字需要和你的账号对应, 如 tiemaocsdn.github.io。
  输入基本信息,然后点击创建仓库。
  newrep

后记

  当你创建完页面仓库后,此时你的个人页面https://username.github.io/已经创建完成(username即你的GitHub用户名,下同),虽然还是空无一物,不过你已可以进行下一步了。

安装前置软件

前言

  在进行安装核心软件之前,你需要先准备好其所依赖的软件。包括Git、NPM和Node.js。

安装Homebrew

  在Mac OS下,你可以选择通过Homebrew来进行许多服务类软件的安装(这样会方便很多),在其他系统下也有类似的替代方案。
  打开终端, 输入以下脚本。

1
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  等待安装完成后,在终端输入brew进行调试,如无报错则可继续。
  brew

通过Homebrew安装其余软件

  如果你不用Homebrew,那么请通过其他方式进行下载并安装(例如官网)。以下演示使用Homebrew安装他们,一样是通过终端输入,需要按照顺序。

1
2
3
brew install git
brew install node
brew install npm

  与Homebrew一样,安装完成后,你可以尝试依次在终端输入git、node、npm进行调试,如无报错则可继续。

后记

  如果你觉得Homebrew的速度很慢,那么你可以考虑选择更换镜像。请通过搜索引擎寻找相关资料。

安装Hexo及主题

前言

  本次博客的框架源自Hexo,我们通过使用它来搭建出博客。Hexo基于Node.js,所以我们可以使用NPM来安装它,这在其他系统下也是一样的。

使用NPM安装

  与之前一样,在终端输入以下内容(选择其中之一),你的网络如果不是很好的话,可以选择方案二(通过淘宝镜像进行下载)。

1
2
npm install -g hexo-cli
npm install -g hexo-cli --registry=https://registry.npm.taobao.org

新建博客工程

  接下来你需要在终端切换到你觉得合适的目录下通过Hexo新建你的博客工程(也可以不管,只要你知道当前终端目录的所在)。例如(目录可通过拖动文件夹到终端指定):

1
2
cd /Users/Username/Documents/Bolg
hexo init

  经过一段时间后便会在Bolg文件夹下新建一堆文件,如下图这般,如无报错则可继续。
  path

关于博客主题

  在你新建博客工程后仍需要选择一个主题(theme)应用到博客里,主题文件位于博客工程下的themes目录,默认便存在一款名为landscape的主题。你可以选择从Hexo官网的主题专栏下载其他主题。
  以下便以本博客所使用的NexT为范例进行演示。接下来的内容将会参考这里。

安装NexT主题

  前往发布页面选择你想要的版本(下图0.4.0版仅为示范),下载解压后获得Next主题,然后将其以文件夹的形式放到themes目录下。
  download

  贴士:你可以考虑像我这样把解压后的文件夹名称更改为next,这样会更清晰。
  themes

后记

  关于主题的选择其实远不止官网所刊,关于这些方面的你可以多去寻觅甚至自己动手丰衣足食!

部署博客

前言

  接下来我们要确立一个概念:在 Hexo 中有两份主要的配置文件,其名称都是 _config.yml。 其中,一份位于博客工程目录(根目录)下,主要包含 Hexo 本身的配置;另一份位于主题目录下,这份配置由主题作者提供,主要用于配置主题相关的选项。
  为了描述方便,在以下说明中,将前者称为站点配置文件, 后者称为主题配置文件。

启用主题并调试

  打开站点配置文件,找到theme字段,并将其值更改为next(主题文件夹名称)。
  change_theme
  到此,NexT 主题安装完成。下一步我们将验证主题是否正确启用。
  首先打开终端并切换目录到博客工程,输入hexo server --debug进行网站调试。当命令行输出中提示出:
  INFO Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop.
  此时即可使用浏览器访问http://localhost:4000,检查站点是否正确运行。
  当你看到站点的外观与下图所示类似时即说明你已成功安装 NexT 主题。这是 NexT 默认的 Scheme —— Muse。
  muse
  现在,你已经成功安装并启用了 NexT 主题。你现在可以在终端按下Ctrl+C结束调试,下一步我们将要更改一些主题的设定,包括个性化以及集成第三方服务。

个性化设置

  打开站点配置文件,你可以修改以下字段来实现:

  • language

    • 设置成你所需要的语言,例如:language: zh-Hans
    • 目前 NexT 支持的语言如以下表格所示:language
  • avatar

    • 设置成头像的链接地址,例如:avatar: http://example.com/avatar.png
    • 其中,头像的链接地址可以是:avatar
  • author

    • 设置author为你的昵称,例如:Musoucrow

      打开主题配置文件,你可以修改以下字段来实现:

  • scheme

    • Scheme是NexT提供的一种特性,借助于Scheme,NexT为你提供多种不同的外观。同时,几乎所有的配置都可以 在Scheme之间共用。目前NexT支持三种Scheme,他们是:
      • Muse - 默认 Scheme,这是 NexT 最初的版本,黑白主调,大量留白
      • Mist - Muse 的紧凑版本,整洁有序的单栏外观
      • Pisces - 双栏 Scheme,小家碧玉似的清新
    • 搜索scheme关键字。 你会看到有三行scheme的配置,将你需用启用的scheme前面注释#即可。scheme
  • menu

    • 设定菜单内容,可通过解除几个自带项的注释#来开启栏目。
    • 也可以自己进行新增,格式为item name: link。
      • item name是一个名称,这个名称并不直接显示在页面上,它将用于匹配图标以及翻译。
    • NexT 默认的菜单项有(标注!的项表示需要手动创建这个页面):menu
  • social

    • social可让博客的侧栏里的角色介绍栏目下增加链接项(可添加多个),你可以这样设置:social1
    • 博客的具体效果为:social2

新建标签和分类栏目

  回到终端,仍然是博客工程目录下,依次输入以下两句:

1
2
hexo new page tags
hexo new page categories

  这样便创建好了标签和分类栏目的页面文件,但仍需要做一些处理。
  打开source/categories/index.md和source/tags/index.md,分别修改成:

1
2
3
4
5
6
---
title: categories
date: 2017-02-25 21:43:34
comments: false
type: "categories"
---
1
2
3
4
5
6
---
title: tags
date: 2017-02-25 22:40:53
comments: false
type: "tags"
---

  你现在可以再次调试一下看看效果,不出意外的话,已经实现了标签和分类栏目。记得要先结束之前的网站调试(在调试终端下按Ctrl+C),再重新进行。

后记

  静态站点拥有一定的局限性,因此我们需要借助于第三方服务来扩展站点的功能。 以下是 NexT 目前支持的第三方服务,你可以根据你的需求集成一些功能进来。详情查看

发表帖子

前言

  博客的帖子是Markdown格式(后缀名为.md),如果你尚未熟悉,请去进行专门的学习。  

新建帖子

  在终端、博客工程目录下输入:hexo new post test1以创建一个标题名为test1的帖子。你可以在source/_posts/目录下看到它。
  在文件顶部有着与source/categories/index.md和source/tags/index.md相同格式的配置,该类配置可拥有如下属性(comments属性必须保证已经安装了第三方服务后才能生效):

1
2
3
4
5
6
title: 文章的标题
date: 创建日期,例如(2017-02-26 00:54:28)
updated: 修改日期
comments: 是否开启评论(true or false)
type: 标签,多个时表示为([a, b, c])
categories: 分类

修改创建格式

  使用命令创建的帖子文件的格式,系源自于scaffolds/post.md,你可以通过修改它来达到帖子模板化的效果,例如:
  format

后记

  帖子文件的本质就是从模板产生的克隆品,所以也可以自己手动新建文件。同理删除帖子也只需要直接删除文件即可,无需通过网站管理之类的手段,非常方便。

发布网站

前言

  发布网站的原理其实就是生成网站文件夹并传输到GitHub上对应的仓库https://github.com/username/username.github.io,然后便可通过https://username.github.io进行访问。

上传部署

  在终端输入npm install hexo-deployer-git --save,安装完毕后打开站点配置文件,添加deploy字段。

1
2
3
4
deploy:
type: git
repository: http://github.com/username/username.github.io.git
branch: master
  • 注意事项
    • 是http而非https。
    • 在旧版(<3.0)的Hexo里是github而非git。
    • username即你的GitHub用户名,实际以你自己创建的仓库地址为准。

生成并上传

  在终端、博客工程目录下输入:hexo generate,完成后便会发现新增了public目录。那便是网站文件夹,用于上传到GitHub仓库。
  接下来再输入hexo deploy,将网站文件夹上传到GitHub仓库。以后在本地做了修改后,便进行这两个操作将网站生成并上传即可。

后记

  有时候把一些配置文件搞炸的时候或者上传有问题时,可以使用hexo clean来尝试修复。
  如果觉得GitHub的传输速度过慢,可考虑修改host尝试能否增速,以下是一个江湖偏方:
  151.101.88.249 github.global.ssl.fastly.Net  

终于整了个博客

Posted on 2017-02-26 | In Talk | | Visitors

  一直以来都没有这么做,一来是觉得自己修炼不足无甚可写,二来是尚未具备分享意识。
  然时境过迁,现在也到了2017年。算算时间,已经是我接触游戏开发的第五年了。经过了这么多年,怎么说也算有点积累,也有不少东西想和大家分享探讨。
  今后我将在这个博客分享各个方面的心得体会,欢迎各位前来交流,互相学习,共同成长。

1…56
Musoucrow

Musoucrow

53 posts
7 categories
37 tags
RSS
Coding Github
© 2022 Musoucrow
Powered by Hexo
Theme - NexT.Mist