找回密码
 点一下
查看: 3001|回复: 15

GMM发布帖(2009.06.18 第一个测试版)

[复制链接]
发表于 2009-6-18 17:25:21 | 显示全部楼层 |阅读模式
GMM是什么?
魔兽争霸3通用地图操纵系统(General-purpose Map Manipulator for Warcraft 3)是我正在着手开发的一个新的制图(兼加密地图信息读取,用于地图研究)工具。这个制图工具和WE的不同之处在于:使用脚本操纵(读取、修改等)地图内容,而不是和WE一样的GUI。可以认为,GMM是脚本化、命令化、无图形界面的WE。主要面向中级及以上水平的地图爱好者和魔兽研究者。

GMM的由来

情景1
经常听到如下感慨:
“做地图,很多是体力活”
“我想做一个随机物品(或者随机能力等等)系统,每个物品需要若干个马甲物品,这样算下来,就要建立xxx(甚至xxxx)个物品,可是每个物品都只需要改一两个地方,麻烦啊……”
“我想把xx地图里面的某单位、物品或者触发复制到自己的地图中,可是这样费时费力还怕出错……”
“我每天做图都在做不少复制——粘贴——修改的工作,真累人”
“我想把xx系统移植到自己的图中,可是不大会操作,要导入、复制、修改一堆的东西,如果xx系统作者(或者其他人)做一个傻瓜版自动移植工具就好了……”
“我想把地图中所有的英雄技能使用魔法书包装起来(一个魔法书里一个技能),可是这工作量实在是太大了……”
…………

情景2
我自己是做《农场大亨》地图的,农场大亨地图里很重要的一个环节就是物品的合成。例如,苹果汁×1=苹果×1+糖×1.可是,地图里一共有100多种物品,每种物品都有一种合成配方,部分物品甚至有两种以上的配方,配方最多可能涉及最多6个物品。每增加一种配方,就要增加一种物品,两个导入图标、一个合成技能以及两个触发,但是这些物品和触发的内容基本都相同。每次都是复制——粘贴——修改的三部曲,于是我想,既然每次都是做同样的、机械的重复劳动,为什么不让电脑来替我做呢

从这些情景中,我发现了GUI工具(WE)所固有的缺陷:不善于处理大批量的、有规律的数据(所谓“体力活”)。于是,我萌发了做一个自动化工具,来弥补GUI不足的念头。

恰巧在我产生这种念头之后不久(今年1月份),WC3Campaigns上有个叫gekko的网友发布了一个工具GMSI,看了下说明,这个工具实现的功能和我想要的基本一致,于是很高兴的下载回来试用。

可是,这个工具让我失望了,原因是:
1.它使用了作者自定义的一种语言,那种语言有些地方我久久都不解其意(那个什么Matcher,根本看不懂是什么意思),太难用了。
2.它是使用Java写的,效率很低,占用内存也很大(占用了大概500MB的内存,天啊,当时我机器一共才512MB的内存啊....当然,现在用的电脑有4G内存,可以WS了)
3.(致命的缺陷)不支持中文。这意味着对我而言,没有任何用。

所以,我决定自己开发一个类似的工具,功能要比GMSI更强大,而且要能支持中文!这就是GMM了。

顺便一提:那个GMSI的作者,正是Castle Fight这张很有名的地图的作者。脚本工具(当然是他的GMSI而不可能是我的GMM)的使用,对Castle Fight的成功起到了很重要的作用。这是作者自己说的。倘若不信,自己试着做一下类似Castle Fight这种图,就知道什么事情简直不是人做的了:那么多的自定义单位、技能和科技。没有自动化的工具,而是纯体力活的话,不知道要做到何时。

GMM的基本概念

GMM的基本使用方法是,首先书写脚本,然后执行脚本,在脚本里读入、处理、保存地图的各种数据,从而达到编辑地图的目的。脚本使用我挑选的一种很简洁美观的语言:Python。脚本中可以使用一些专用的地图操作函数,这些函数可以操作地图的各个方面,包括地形、单位、物品、技能、触发等。

GMM能做什么?不能做什么?

理论上讲,GMM可以做到功能完全和WE相同。不过,正如当初我产生这个想法的动机,GMM的目的是弥补GUI工具的缺点而不是试图去否定和淘汰WE。GMM的目的是配合WE,相互取长补短,做出高质量的图来

GMM开发状态

GMM第一个测试版已经完成以下组件:

    [li]物体编辑模块 [/li][li]导入列表编辑模块 [/li][li]地图MPQ包操作模块[/li]
其中物体编辑模块包括对地图中全部7种物体(单位、物品、地形装饰物、可破坏物、技能、魔法效果、科技)的读取和编辑。并且可以从SLK和TXT文件中载入魔兽的标准数据。已具备一定的实用价值)。

GMM的未来

根据我最初的设想,还有以下几个模块需要进一步开发:

    [li]触发编辑模块 [/li][li]地形编辑模块 [/li][li]杂项模块(例如镜头、矩形区域等)[/li]
当然,不管是触发编辑也好,地形编辑也好,都是使用脚本操作的。这意味着,这两个模块更多地是用于生成一些东西,比如情景1中提到的:某某系统的自动移植等,以及自动地形生成,例如自动生成一张对战图的地形、TD图的地形、迷宫地形等。正常的地形创作和触发编辑,当然是在WE里做了。。。

除此之外,还有各种有用的例子,也会慢慢补充进来。

文档和例子

我一直认为,一个好的软件和工具,必须具有良好的文档和例子。GMM也在向这个方向努力。目前GMM的文档(附件)已经包含了相当多的内容了。包括:

脚本语言10分钟入门
常见的操作示例(例如拷贝文件、执行命令)
GMM函数说明
GMM示例

使用之前请先阅读文档。

补充说明

1. 测试版为了能够让大家测试GMM的功能,因此界面做得比较简陋,下载解压后,运行GMMEditor.bat可以打开脚本编辑器窗口,运行GMMShell.bat可以运行交互式控制台窗口。交互式控制台对于熟悉脚本以及大部分简单的操作已经足够了(因为是敲一行脚本执行一行).正式版中,会去掉bat,改为正式的界面。

2.阅读GMM的文档要求读者有一些程序设计语言的知识(文档假设读者懂得Jass或者一门其他的任何编程语言,但至少要会T)

--------------------------------------------------------------------------------------

附件是文档,下载请到我的网盘(论坛不支持7zip的压缩包):
http://www.uushare.com/user/aeris/file/1717078

GMM文档.rar

81 KB, 下载次数: 91

评分

参与人数 1威望 +5 收起 理由
血戮魔动冰 + 5

查看全部评分

发表于 2009-6-18 17:48:21 | 显示全部楼层
支持下
回复

使用道具 举报

发表于 2009-6-18 17:55:30 | 显示全部楼层
期待很久了,支持!
回复

使用道具 举报

发表于 2009-6-18 20:03:14 | 显示全部楼层
支持~~
回复

使用道具 举报

发表于 2009-6-18 20:13:08 | 显示全部楼层
支持!!!!下载试用!!!!
回复

使用道具 举报

发表于 2009-6-18 22:05:30 | 显示全部楼层
支持下
回复

使用道具 举报

发表于 2009-6-18 22:57:27 | 显示全部楼层
不错.先试试,好就加加加!!
回复

使用道具 举报

发表于 2009-6-19 01:10:53 | 显示全部楼层
很好的东西~~
回复

使用道具 举报

发表于 2009-6-19 10:28:51 | 显示全部楼层
看看~
回复

使用道具 举报

发表于 2009-6-19 10:32:45 | 显示全部楼层
偶还以为是windows程序捏。。

话说是一个简单的解释器呢
回复

使用道具 举报

发表于 2009-6-19 13:45:11 | 显示全部楼层
等待以后版本……
回复

使用道具 举报

发表于 2009-6-19 15:39:29 | 显示全部楼层
不致谢都不行呐
先试着用用
回复

使用道具 举报

 楼主| 发表于 2009-6-19 17:25:34 | 显示全部楼层
已经说了GMM是脚本化、命令化、无图形界面的WE,以后会加入图形界面,但是脚本是不会变的。主要的工作,仍然在WE里完成,GMM作为处理大批量数据的工具。
回复

使用道具 举报

发表于 2009-6-20 17:24:14 | 显示全部楼层
很强大
回复

使用道具 举报

发表于 2009-6-20 17:52:24 | 显示全部楼层
好深奥...55
回复

使用道具 举报

发表于 2009-6-20 21:18:34 | 显示全部楼层
支持了!!马上拿去用!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-22 02:26 , Processed in 0.080326 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表