Giter VIP home page Giter VIP logo

heditor's Introduction

HEditor (Work In Process 仍在制作中...)

HEditor 下面简称 HE ,用于实时调整和预览 H5 游戏的技能,以及其它相关数值编辑,比如物品与合成。

为什么要做这个编辑器?

目前市面上游戏相关的编辑器,最强的几个,罗列一下:

Flash,DragonBones,Spine,Construct2,FairyGUI,LayaIDE,EgretIDE

(如果还有没提到的,请联系我)。 先来说Flash,它是通用的动画编辑器,虽然也有骨骼,但是美术只用传统的关键帧,Flash编辑器无法结合数值来预览动画,比如实时调整流星雨的下落范围。而后面的两个DragonBones,Spine,也都是专注于人物效果,对于动态的距离和范围控制等等,并不适用。以上三者都只适合制作人物动作和刀光动作。 再说到 Construct2,非常牛逼的一个编辑器,非常值得研究和学习,如果说我要造的轮子跟C2有点像那就太高估我的能力了, HE 这个轮子将来会更逼近一个高完成度的游戏,而不是像C2那样大而全,主要是我精力和能力有限。

再来说 FairyGUI,下面简称FUI,它分担了游戏制作中最繁重的一项工作:游戏UI,目前还是(我心目中)整个游戏界最强的UI编辑器,重点是可以把UI做得很精细,各种UI调整和UI控制都兼顾到了,并且代码方面也是方便易用,还不收费啊不收费,将来有可能延展到 Html5+Div5+CSS+Android+iOS原生 编辑器,一统天下,当然,这只是个人猜测。你可以在源码里看到一个 FairyGUI-project 的目录,可以用 FUI 打开。也就是说,HE 是基于 FUI 开发的,HE在大街上见了FUI要敬重的叫声爷。

再来说 LayaIDE 和 EgretIDE ,都是比较重量级的编辑器,Egret还是 DragonBones龙骨的亲爹,都是非常值得敬佩的,而且也不收费,非常有胸怀的公司,但是,粒子特效编辑都比较弱(他们似乎都在移植Unity的粒子,还没完工),另外也没有我需要的合成功能。等他们做好粒子编辑并且整合到场景预览,我估计 HE 就可以歇着不用做了。

回到我的需求:

实际工作中,除了人物动作和刀光之外,策划还想要实时的预览其它一些战斗效果,如攻击距离,粒子的曲线角度,AOE范围攻击半径,扣血,震屏,声效,打击感等等,还要调整参数后点播放立即生效,而不是输出数据上传再重启游戏,总之,需要有一个工具能完整把控整个技能的节奏,实时的去调整,验证,打磨。 这就是 HE 的应用场合了,将龙骨动画或者帧动画导入进来,再配合节点和数值编辑,实时调整和预览技能。

另外,HE还包含两个重要的功能:物品配置、合成配置。以往的游戏配置,需要策划和程序对 xls 文件进行非常“复杂”的配置,HE 希望能把这种依赖尽量降低,使得游戏的数值配置简单化,并且,HE 希望能在修改数值配置后,能够在编辑器中立即看到变化,比如技能扣血的增减,攻击范围的增减等等。

HE 到底是什么?

从短期来看,HE 是偏向于数值调整的编辑器(动画调整交给专业的动画编辑器去做),从长期来看 ,HE 将是一个可以深度配置并快速成型的游戏。

HE 要实现的目标有如下几个:

  1. 让技能调制所见即所得(前期)。
  2. 支持 buff 的节点式编辑(前期)。
  3. 支持导出 JSON 数据让游戏使用(前期)。
  4. 支持数值的实时修改(前期)。
  5. 支持 buff 等级(后期)。
  6. 支持人物动作(dragonbones)和 buff 的回放预览(后期)。
  7. 支持简单的AI和副本配置(后期)。
  8. 支持物品定义、合成配方定义(合成这个概念,可以包含并支持升级、强化、任务、奖励、人物背包、活动等等模块)。(前期)
  9. 支持 HServer,一个游戏的后端,主要用来解析 HE 编辑输出的 json 数据,并校验玩家的合成请求,下发产出物品给玩家,将大大简化后端编码,节省开发时间,把所有玩家行为(包括战斗?)都归结到合成系统中,从传统程序员的角度看,可能这样做性能不够好,但硬件发展是以摩尔定律方式进行,会越来越便宜,并且这个模式比较适合快速的云扩充,有点疯狂,求后端外援,java 或 golang 都可以,如果找不到帮手我就自己先写着,边学边写,囧。(大后期)

关于HE的几个疑问:

为什么不直接使用粒子编辑器+配表的方式?

因为不直观,不方便实时预览,以至于配表很难做出细致入微的效果(除非操作者非常有耐心并且想象力丰富)。

为什么不用 starling 或者 html5 来实现界面?

因为两者的 input控件 表现不够稳定,同时显存有上限。

预计支持哪套流程?

暂定先支持 Laya 2D,后面如果有时间,加入 Egret 3D支持,或者 three.js。

部分界面截图

heditor's People

Contributors

poerlang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

heditor's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.