【指间沙】战斗系统构想

作者: upupzealot | 来源:发表于2015-06-09 17:55 被阅读268次

在确定了我大概是要做一个 放置 + 文字冒险 类型的游戏之后,我经过大约5秒钟的思考,决定还是先做战斗部分!主要是因为我觉得战斗系统的实现会比较有趣,而剧情的话,有趣的部分可能更多在于剧本的编写,而不是程序功能上的实现。

在着手编写这个游戏的战斗系统之前,我尝试着做过一个非常简易的HTML版本的Demo。结果发现JS无类型的特点给代码的编写带来了非常好的体验。

比如说,我需要一个“战斗记录”的数据结构用来记录每个回合都发生了什么,此时我只需要编写类似这样的JSON就可以了:

{
    catser = player,
    target = enemy,
    dmg = 20
}

随写随用,非常酸爽!

然而我正打算在Unity中实现这个系统,所以我得用C#来实现这套东西……尽管UnityScript和JS很像,但我此时一点都不想用它。主要是因为我之前从来没用过UnityScript,所以我并不想用UnityScript来实现整个项目,而整个游戏显然包含了除战斗系统之外的很多东西,这些东西我还得用我熟悉的C#来实现。

而我如果想用C#来实现战斗系统的话,我就不得不声明一系列这样的东西。

class CombatRecord {
    Charactor caster;
    Charactor target;
    float dmg;
    public CombatRecord(...) {
        ...
    }
    ....各种构造方法的重载、get、set之类的东西....
}

当然还得编写一大堆配套类,例如用Charactor描述角色,用Skill描述技能……

事实上一开始我确实是这么干的,但是没多久我就觉得有点受不了了,我开始想我什么非得去编写一堆堆的C#类来构建一个一点都不灵活的系统,今后为了继续扩展这个系统,还得编写跟多的一堆堆的C#类。

于是我渐渐意识到,我是不是应该寻找一种办法,能够让我在Unity中使用一种比较灵活的脚本语言,让我从繁杂的数据结构的编写中解脱出来。

我的第一反应就是lua,或者JS。然后立马又觉得应该还是lua,因为UnityScript本身就是某种JS,偏偏我不待见它。而lua小巧而高效,而且有着非常强大的table能够实现各种各样的数据结构。而且情感上来说,lua和游戏编程一直走得非常近。

其实以上的辩证全是废话,真话是:我觉得我作为一个非新手,与其花功夫去学并没有什么X用UnityScript,还不如趁此机会学习一下Lua。

嗯,就这么愉快地决定了!

去Unity的AssetStore搜索了一下,果然有许多现成的lua插件。我幻想了一下在Unity中同时使用C#和lua的美好场景,彻底放弃了用C#来实现战斗系统的念头。

Lua!决定就是你了!!!!

相关文章

  • 【指间沙】战斗系统构想

    在确定了我大概是要做一个 放置 + 文字冒险 类型的游戏之后,我经过大约5秒钟的思考,决定还是先做战斗部分!主要是...

  • 指间沙

  • 指间沙

    建安元年,天山神火教放肆猖獗,在中原地区任意烧杀掳掠,搅得整个大荣国民不聊生,天怒人怨。为了平息众怒,大荣国国主派...

  • 指间沙

    ‘’一切都像指间沙,不要用力,不要试图把握,所有的把握只能加速一种失去,就像我们手指间的沙,沙子们最后都走了,留下...

  • 指间沙

    冰雪纷扬 埋葬了谁的伤悲 是冬本寒凉 抑或人心太冷 触不到 善念温存 深更,丝竹声声 刀指剑舞 弦断 雪绽朵朵妖艳...

  • 指间沙

    我不愿你成为我的指间沙。一一题记 当一个人出现在 你的字里行间; 当一个人出现在 你的晚霞之畔; 当一个人出现在 ...

  • 指间沙

    手捧起点点细沙,却只能眼看着细沙从指间滑落,点点细沙随清风飘走,在空中留下丝丝缕缕痕迹后最终又变为尘归尘土归土;或...

  • 指间沙

    一切都像指间沙不要用力不要试图把握所有的把握只能加速一种失去就像我们手指间的沙沙子们最后都走了留下我们的手孤独地停...

  • 指间沙

    好像每次写东西都是为了记录自己的不开心,或许这就是倾诉的力量吧。今天其实并不知道为什么会觉得不开心,妈妈说,爱情也...

  • 指间沙

    雨滴落 思绪三两行 谁能留 指间的白纱 绕指情柔 曾说好不负年华 而今也 三三两两遗忘 你说要策马倚剑天涯 我只想...

网友评论

    本文标题:【指间沙】战斗系统构想

    本文链接:https://www.haomeiwen.com/subject/dlerqttx.html