标题: MapMaster工具开发讨论, 地图库,形象库,场景库的管理和快速创作
性别:男-离线 小行者

Rank: 6Rank: 6Rank: 6
组别 校尉
级别 讨逆将军
功绩 32
帖子 698
编号 41928
注册 2005-6-29


发表于 2010-11-11 08:29 资料 文集 短消息 只看该作者 QQ Yahoo!
MapMaster工具开发讨论

各位大大早上好
程序开发目标:

建立一个图片库,使得大家都能快速制作地图。MapMaster,以下简称MM.
基础开发工具:  Delphi7
开发口号:让地图制作,象玩游戏一样动人!


初步设想:
因为ccz的地图,大致种类30多种,所以我们可以把各种地图素材,分别保存成这三十种类型之一,然后需要用时,只要选择大类,贴上图片即可。

MM可以完成简单的地图元素替换,查找,复制,导入导出,偏移修改。
这里说的地图元素,就是48*48的小方块。每一个元素都可以被迅速替换。
比如平原地形,如果我们的地图元素库中,有三种不同类型的平原(平时注意收集,然后自己导入),那么根据小地图,此处为平原,就可以从三种平原中,选择一种图片贴上去。

比如叶落寒秋前辈的《地形编辑器》其中定义了30种基本地形元素。
MM可以为每种地形,分别定义元素,在贴上地形图片的时候,进行选择,令地图更加丰富多彩。

也支持从各位大大的成品地图中,按48*48大小,扣取小图片,作为自己的地图元素。
比如著名的圣三,有漂亮的夜景灯火系统,我们可以把那个灯火小图片,保存为栅栏元素的一种,以后,也可以随时在自己的地图上,放入灯火了。

将来还要开发,夜景地图套餐,迷雾地图套餐等等,(就是模板,早饭没吃,想念套餐ing)
= = = = = = = = = = = = = = 强力分割线= = = = = = = = =
程序功能一览(即功能菜单)
1新建
@@1.1新建小地图,(可保存为TXT格式,城城城门城城城门城城)
@@1.2(根据小地图,设计大地图)
@@1.3新建TXT地图稿
2打开
@@2.1打开小地图,(读取Hexzmap.e5)(询问是否打开大地图)
@@2.2打开大地图,(打开用户自己集中存放的成品地图)(询问是否生,或者打开小地图)
@@2.3打开bmp文件(从中截取地图块,以便导入自己的地图元素)
@@2.4打开txt地图稿
3保存
@@3.1保存小地图为bmp,txt格式。
@@3.2保存大地图为bmp,格式。
@@3.3保存txt地图稿。
4导入导出
@@4.1选择小图片,导入为地图元素
@@4.2将元素库中的图片导出为htm格式
@@4.3查看元素库
5其他(其他各种,软件常用更能,比如元素库整体导入导出,程序设置,状态栏显示等)
#######################
6界面类似叶落前辈的《地形编辑器》吧
左边,30+种类的地图元素集合

@@6.1元素集合:《地形编辑器》的30个元素图片是固定的,MM的元素图片是可用下拉列表框选择的。其中的数量多少,取决于元素库的储备质量。比如可以把红警,帝国,文明游戏中的桥梁,放到我们的“桥”元素中。

@@6.2双界面:主界面用来编辑大地图,因为打开文件时有询问(看上文2.1和2.2,所以此时可以打开一个小地图,如曹操传战场小地图样)
小地图可以是图片,也可以是文字(TXT文档)

@@6.3自动生成TXT:用户可以先编辑好TXT文档,系统会根据TXT地图稿,自动生成一个小地图,用户可据此继续编辑大地图。

@@6.4关卡选择:如果用户打开了hezmap.e5,则可根据关卡数,来选择关卡,并且在大地图,小地图做更改后,做出保存修改提示。

@@6.5 基本信息:长,宽,地形,坐标,画笔:(这些跟叶落前辈的类似)不过mm的画笔种类,要比ccz原始的多很多,

@@6.6画笔调整:大地图编辑中,每个画笔的大小为48*48。即每次都可以对一个地图元素进行操作。编辑操作包括翻转,(水平,垂直,左右旋)和拉伸(用当前元素,替换周边元素1--5平方个数)

@@6.7元素替换:大地图的每个元素,可以进行替换(每个元素配一个下拉框,在本类型中选择),比如可以从平原1,替换为平原7,或者替换为平原默认(平原0),还可以替换为其他类型的地形,比如将平原替换为桥。这时图片变更为元素:桥0。小地图也将同时变化。(小地图只显示元素名称,不显示数字编号)

@@6.8画笔数量:大地图的选择,可以是一个画笔(1X1),也可以是四个画笔(2X2),或者多个(3-5平方个)

@@6.9小地图切换:小地图可以做bmp格式和txt格式的即时替换。

@@6.0联动:大地图,小地图,TXT地图稿,在新建、打开、保存,关卡选择时,保持同步更新。并且小地图和TXT文稿,实时对应。

好了,功能方面就继续到这里。大家集思广益哈,欢迎给我提出宝贵意见,欢迎PM!






=====未完待续(20101110 )=====
=====(20101115)更新:===========
目前进度,修改主界面左边的选择项目,为30个下拉框,原计划支持30+自定义元素的,现在看来30种已经够多的了。
主界面说明:
@@1.左边栏:
@@1.1左边选择三十种地形元素:定义为pen,即画笔,其名称显示在右上角
@@2.地图界面
@@2.1初始设定:为“城内”元素。
@@2.2将所选择的元素帖在中央画布上(如图所示,三个火,两个已完成,还有一个正在添加)
@@3.状态栏
@@3.1关卡:读入Hexmap.e5,获得关卡数(感谢楼上提供的UE解决方案)
@@3.2长宽:当前画布的长度与宽度
@@3.3one/more按钮:画笔为1个或4,9,25个
@@3.4画刷面积:即反应当前画刷是1个,还是4、9、25个?
@@3.5地标:当前元素在地图中的位置。左上角为1, 当前项为地图宽度*y+X
@@3.6坐标:(这个可能换成行列表示更好)
@@3.7终点:即从当前地标开始,所绘制的面积,最终影响到的地图坐标。
@@3.8地形:画布上元素的类型和编号
@@3.9画笔:即将覆盖上去的元素的类型和编号



[ 本帖最后由 小行者 于 2010-11-15 11:36 编辑 ]


图片附件: [开发工具Delphi7] first.jpg (2010-11-11 09:06, 26.98 K)



图片附件: [左边栏设置完成] 02.jpg (2010-11-13 03:15, 91.29 K)



图片附件: [主界面设定] 03_mainForm_fase.jpg (2010-11-15 11:17, 135.47 K)



顶部
性别:男-离线 小行者

Rank: 6Rank: 6Rank: 6
组别 校尉
级别 讨逆将军
功绩 32
帖子 698
编号 41928
注册 2005-6-29


发表于 2010-11-11 08:31 资料 文集 短消息 只看该作者 QQ Yahoo!
二楼疑难提问以及解决方案

这贴,将我在编程中遇到的问题,点滴列出,恳请前辈们给予指点

提问:红色字体  说明:黑色字体  最终解决方案:绿色字体  网友答案:蓝色字体

001第一个问题:如何在Hexzmap.e5,中,分割关卡数。
20101115: 关卡数已经能够被分割,地图元素已经能够转化为TXT文件。严重感谢五楼godtype


002第二个问题:Hexzmap.e5文件。如何解码。

叶落前辈的《地形编辑器》是如何将Hexzmap.e5,转化为小方块元素的呢?只要能一一对应,就能转化为TXT文档,再加载元素库的默认类型,就可以自动生成大地图。

如何解码呢?

003第三个问题:寻找金圭子前辈的地图编辑器
网上好几处的下载点都失效了,哪位同学有备份存档的,能传上来么?

20101115: 谢谢楼下魏王孟德 同学提供的城内编辑器。


004第四个问题:30种地图基本元素的图片收集
基本元素啊,需要三十张48*48的图,好像在金圭子前辈的地图编辑器中有,如果实在没有,我就从叶落前辈的编辑器中截图吧。
20101110: 已截图,获得30张图片。

====未完待续20101112=====

005第五个问题:30种地图基本元素是否可以扩展?
扩展一个地形,好像很难,要涉及到大量的ccz.EXE的修改?
一个新的地形,如何设计其可移动否?可使用策略否?
还要涉及到某个兵种在此地形下的移动力消耗,要修改DATA了。
ccz.exe是否支持30+的地形呢?要扩充的话,要涉及哪些数据?
不过这些,本来就不在我原先的计划中。挖的坑好大啊,越来越大。

或者可以不用修改EXE和data。只是给玩家增加两个自定义类型集合。在CCZMM中,允许玩家添加几个自定义地图集合,比如可以将各种攻城武器和兵营设施的图片放在一类中。在小地图中,他们的属性还是祭坛一类,但是作为大地图则可以见到丰富多彩的营寨了,不再是统一的栅栏民居+恢复基地。我们可以把铁滑车作为一个图标,直接帖到地图上,取代栅栏。

还有,可以将文字图画,设为自定义类。属性同宝物库(没有HPMP恢复功能)。然后大家可以看到各种战场设施,比如厨房,茅厕,告示牌等等。《杨家》MOD中,有一关隐藏的【洞房】,里面有莲花,荷叶,这种也可以专门提取出来作为元素库。

如果要涉及到修改地图的同时去修正EXE文件,似乎对我的能力和广大mod玩友来说,比较困难。毕竟CCZMM是一个资源集合,是资源库,不是修改器哈。
修改EXE,DATA来扩展地形种类的任务就交给大大们了吧。
哇哈哈 偷懒好轻松。




[ 本帖最后由 小行者 于 2010-11-16 23:12 编辑 ]


顶部
性别:男-离线 小行者

Rank: 6Rank: 6Rank: 6
组别 校尉
级别 讨逆将军
功绩 32
帖子 698
编号 41928
注册 2005-6-29


发表于 2010-11-11 08:31 资料 文集 短消息 只看该作者 QQ Yahoo!
三楼制作进度及图片

已经完成的项目,加粗,
尚未完成的项目,或者设想,原始字体。
20101111

000.创意(此贴开辟)
001.地图元素大类命名:大类00-29,小类00-99,理论上可存放图片10000张。
元素格名式 0000平原.bmp   1400栅栏..bmp,  前为元素类型,中间两位数字为类型编号,(目前00-29),末后两位数字为元素编号,元素00.,为默认图形。
002.仿照叶落寒秋的地形编辑器,将30种地形导入到程序主窗口,带滚动条显示,支持30+种类元素。
003.暂未安排combobox控件,估计要用comboboxex。
======未完待续20101111=====


20101112
004.comboBoxEX控件放置完毕,为活动式,可在30+个基本元素上移动,靠鼠标定位。
005.鼠标点击基本元素,即时产生活动CBBE(见上),自动加载本元素与相关素材,完成10000图形导入可能性设定。(图2)
= = = = 楼上图片有更新。= = = =
======未完待续20101112=====
06在窗体右边绘制网格,网格兼容活动comboBoxEx。
06左边定义为30个comboBoxEx,读取地基图片。右边画布中,在image的同一位置,即时调用活动comboBoxEx,
07在窗体规定位置专门显示鼠标坐标和相关数据(这个已经完成,lbpen(画笔)和lbMapStyle(地形)需要调整,表示为类型..名称)
XY坐标需要注意控制。
08上下左右移动按钮(参考曹操传地图编辑器——城内)
09准备仔细研究hexmap.E5文件。
=========20101115中午============
09研究完成,Hexmap文件解码成功,能够直接转化为txt文档,地图元素用汉字表示。
=========20101116===============
10主界面菜单完成
=========20101121===============

[ 本帖最后由 小行者 于 2010-11-21 13:52 编辑 ]
顶部
性别:未知-离线 northwind_x


Rank: 4
组别 校尉
级别 破贼校尉
功绩 11
帖子 59
编号 362090
注册 2010-2-22


发表于 2010-11-12 10:18 资料 文集 短消息 只看该作者
支持,我在做SLG的过程中感到素材的重要性,楼主在做利国利民的好事
顶部
性别:男-离线 godtype
(毅)

刘国公
广南东路经略使
枢密直学士
★★★★★★★★★★★★
★★★

Rank: 24Rank: 24Rank: 24
柱国(正二品) 轩辕春秋年度最佳(轩辕工作室)
组别 经略使
级别 卫将军
好贴 1
功绩 1314
帖子 6207
编号 111321
注册 2007-2-18
来自 我家
家族 轩辕学院


发表于 2010-11-12 10:59 资料 个人空间 短消息 只看该作者
关于Hexzmap.e5(已解压版本)

从110H开始是每一关地形图在Hexzmap.e5中占用的字节数以及开始位置,每4字节*3为一组。
以原版Hexzmap.e5为例,110H开始是:
00 00 01 92 00 00 01 92 00 00 03 CC 00 00 01 92
00 00 01 92 00 00 05 5E
00 00 01 92 00 00 01 92
……
红色部分是S00,蓝色部分是S01。S00里面,第一和第二个01 92是字节数,其中一个是总字节数,另一个是压缩后字节数,解压过的版本就必须是两个字节数一致,01 92 表示实际占用字节数192H,后面的03 CC表示S00的地形图在Hexzmap.e5的位置是从3CCH开始。而S01的位置就是从55EH开始,字节数是192H。

然后看3CCH。从3CCH到55DH这一段192H个字节就是属于S00的,换成十进制就是402,S00的地图是20*20=400格。每一关最前面2个字节是判断宽与高的,实际数值是宽*3和高*3,例如3CCH就是3C 3C,即20*3=60。第3个字节开始就是每一个地形格的地形编号,排序是先从左到右,再从上到下,00就是平原,01就是草地……

以上内容是我所了解的,已懒得翻旧帖看有没有相关资料,不知对楼主是否有帮助。
顶部
性别:男-离线 魏王孟德
(太祖武皇帝)

Rank: 3Rank: 3Rank: 3
组别 士兵
级别 忠义校尉
功绩 2
帖子 229
编号 289050
注册 2008-7-29


发表于 2010-11-12 16:10 资料 个人空间 短消息 只看该作者
那个,金龟子的导入器网盘有下,好像是xycqccz.ys168.com,记不清了
这里有双子的几个素材包http://www.xycq.net/forum/viewth ... p%3Bfilter%3Ddigest
顶部
性别:男-离线 小行者

Rank: 6Rank: 6Rank: 6
组别 校尉
级别 讨逆将军
功绩 32
帖子 698
编号 41928
注册 2005-6-29


发表于 2010-11-13 03:21 资料 文集 短消息 只看该作者 QQ Yahoo!
回复 #5 godtype 的帖子

非常详细了,现在已经凌晨,今晚再研究。
今晚目标:
06在窗体右边绘制网格,网格兼容活动comboBoxEx。
07在窗体规定位置专门显示鼠标坐标和相关数据(这个比较简单。)
===========================================
感谢楼上,楼上的楼上,各位好人啊。
顶部
性别:男-离线 小行者

Rank: 6Rank: 6Rank: 6
组别 校尉
级别 讨逆将军
功绩 32
帖子 698
编号 41928
注册 2005-6-29


发表于 2010-11-13 03:26 资料 文集 短消息 只看该作者 QQ Yahoo!
回复 #6 魏王孟德 的帖子

素材包已经下载 谢谢魏王

网盘中,只有金圭子的其他三个小程序,好像没有地图编辑器(难道我眼花)
顶部
性别:男-离线 小行者

Rank: 6Rank: 6Rank: 6
组别 校尉
级别 讨逆将军
功绩 32
帖子 698
编号 41928
注册 2005-6-29


发表于 2010-11-13 10:23 资料 文集 短消息 只看该作者 QQ Yahoo!
重大决定:

决定在原始30种地图的基础上,增加两种地形,一种为可移动地形,另一种为不可移动地形。

两种地形分别存放战场上可移动和不可移动的“附件”
虽然可以直接存放在“宝物库”和“栅栏”下,但作为战场附件,还是要给大家列出来。
(宝物库和民居的不同点,在于兵种移动力消耗不同,宝物库对各兵种驻防能力无影响)两者都无HPMP恢复
顶部
性别:男-离线 魏王孟德
(太祖武皇帝)

Rank: 3Rank: 3Rank: 3
组别 士兵
级别 忠义校尉
功绩 2
帖子 229
编号 289050
注册 2008-7-29


发表于 2010-11-13 15:32 资料 个人空间 短消息 只看该作者
回复 #8 小行者 的帖子

额,这样么,我就不清楚了,再帮你找找看吧
顶部
性别:男-离线 魏王孟德
(太祖武皇帝)

Rank: 3Rank: 3Rank: 3
组别 士兵
级别 忠义校尉
功绩 2
帖子 229
编号 289050
注册 2008-7-29


发表于 2010-11-13 15:46 资料 个人空间 短消息 只看该作者
找到个修改器,可以设定城内的地形的,应该和楼主的设想差不多的,只是功能欠缺了点
http://www.xycq.net/forum....../thread-138260-1-1.html,不知道楼主有没有,帮转来了
顶部
性别:男-离线 小行者

Rank: 6Rank: 6Rank: 6
组别 校尉
级别 讨逆将军
功绩 32
帖子 698
编号 41928
注册 2005-6-29


发表于 2010-11-15 11:38 资料 文集 短消息 只看该作者 QQ Yahoo!
主楼有更新,贴上最新界面图

20101115 今天更新主贴,加入最新界面照片。
顶部
性别:男-离线 小行者

Rank: 6Rank: 6Rank: 6
组别 校尉
级别 讨逆将军
功绩 32
帖子 698
编号 41928
注册 2005-6-29


发表于 2010-11-15 11:53 资料 文集 短消息 只看该作者 QQ Yahoo!


QUOTE:
原帖由 魏王孟德 于 2010-11-13 15:46 发表
找到个修改器,可以设定城内的地形的,应该和楼主的设想差不多的,只是功能欠缺了点
http://www.xycq.net/forum....../thread-138260-1-1.html,不知道楼主有没有,帮转来了

恩,这个以前用过。
将ocx复制到windows/system32下,即可顺利运行。

这个程序很好,画图比较方便。特别是他提供了两种不同的画图功能,先选择后画图、已选择持续画图,对我很有启发。

看来我需要制作两种模式,
1:读取hexmap.e5,根据e5数据设定来绘图,允许绘图结束后,自动保存对e5的修改。
2:读取bmp,直接绘制地图。
顶部
性别:未知-离线 血牛嘎嘎

Rank: 3Rank: 3Rank: 3
组别 士兵
级别 忠义校尉
功绩 3
帖子 257
编号 337293
注册 2009-8-31


发表于 2010-11-21 07:06 资料 短消息 只看该作者
加油研究啊,弄好了就免了PS了
顶部
性别:男-离线 小行者

Rank: 6Rank: 6Rank: 6
组别 校尉
级别 讨逆将军
功绩 32
帖子 698
编号 41928
注册 2005-6-29


发表于 2010-11-21 13:47 资料 文集 短消息 只看该作者 QQ Yahoo!
回复 #14 血牛嘎嘎 的帖子

ps
还是需要的,不过我这个,可以做到地图代码跟地图本身的同步更新。

暂不考虑研究Sl12。最终加载文件,需要用其他工具。
城内的地形,可以做得很好,城外的野战地形,提供1X1~5X5范围的画笔。
每个画笔的宽度和高度是48。就是一个作战单位的区域。

但是画笔和画笔之间的连接,还是需要用PS调整的。
简单的野战地图也能用MM画,前提是你的地图库有合适的图片。
顶部
性别:男-离线 小行者

Rank: 6Rank: 6Rank: 6
组别 校尉
级别 讨逆将军
功绩 32
帖子 698
编号 41928
注册 2005-6-29


发表于 2010-11-22 00:22 资料 文集 短消息 只看该作者 QQ Yahoo!
代码转换完全成功。

这两天一直在修改代码转换的问题,终于解决了,上图。


范例是CCZ第20关的地图。“汝南与颍川,夹击运粮队那关”


地图中的这一帧,起点到终点,宽度24格,高度28格。
最后一个代码的位置,是13377。位置在第836行,第12列。(每行16列)
如果按编辑器来算,每行字符75个,截取字符完成后,光标停留在62712。

选取了一个代码(最后那个“林”字),光标在代码右侧。


[ 本帖最后由 小行者 于 2010-11-22 00:31 编辑 ]


图片附件: [任意关,代码转换成功] 04_Cord_Shift.jpg (2010-11-22 00:22, 207.16 K)

顶部
性别:未知-离线 northwind_x


Rank: 4
组别 校尉
级别 破贼校尉
功绩 11
帖子 59
编号 362090
注册 2010-2-22


发表于 2010-11-25 13:02 资料 文集 短消息 只看该作者
最近在学FLEX,也准备做个FLASH版的地图修改器,但比楼主的简单些
顶部
性别:未知-离线 Maxwell

代王
监管使
枢密直学士
山南西道节度使

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品)
组别 诸侯
级别 征东将军
好贴 4
功绩 1845
帖子 5799
编号 622
注册 2004-7-7


发表于 2010-11-26 03:52 资料 文集 短消息 只看该作者
我更希望看到一些设计层面的东西,比如程序的架构、模块、层次、结构、关系,至少有部分代码也好。当然,这只是我希望看到的,并不是说楼主一定要按照这个路来走。
顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2024-11-17 05:27
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.018686 second(s), 11 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP