设为首页收藏本站喵玉殿官方微博

 找回密码
 少女注册中
搜索
楼主: Sonicthedgehog

[编程算法] 【史前】TouhouDungeonAdventrue 从开始制作到做完的记录

 火.. [复制链接]
 楼主| 发表于 2015-3-23 01:35:17 | 显示全部楼层
2015-3-23 01:27:11

地图生成部分更新。
读取地图部分,文件处理优化。增强自动元件处理。
角色移动在地图中的碰撞检测完成。
贴图更新。

mansion

mansion

碰撞检测

碰撞检测


不要吐槽怎么进去一部分。。体积大小是根据贴图随便设的8,可以改。
也别吐槽为什么人在上边。我不会用DX画3D的东西啊……Z轴什么的……
然后,,生成部分真是难写啊!

顺便找到了这个。


id=26734
作者主页:
http://deepmoon.sakura.ne.jp/blog/diary.cgi
http://deepmoon.sakura.ne.jp/

近期任务:
文件可控式地图生成。
图层绘制。

以上。


回复

使用道具 举报

 楼主| 发表于 2015-3-22 01:36:01 | 显示全部楼层
2015-3-22 01:07:25

妹的!怒肝3h代码!恶心的继承关系者调用那初始化啥的全TM解决了!
啊,不对不对,注意一下个人形象。

嘛嘛,那么还是像一样以往一样心平气和的讲吧。
首先是红魔馆内部的素材大概拼好了。

mansion.png

感谢@盛夏的笨蛋,帮我找来了魔女之家的tilesets素材。
于是我想都没想二话不说就剪过来了!

然后是对文件读取系统的优化,不太好表述,就带过吧(喂!

然后是写了个cMap内mTile()读取情况的测试,效果也不错,可以在游戏内快速列出已经读取的Tile。
最后是关于地图的绘制,已经考虑过优化的情况了,写好了(初步)=。=
为了测试一下写了个伪红魔馆1F地图生成的方法,然后看了下,不错不错,走起来了。Camera也没有任何问题。



就不要吐槽随机的生成了吧,我还没正式写呐……

嘛。今天就这样了。

以上

点评

肝3小时差不多啦……不要像我们这些一肝肝一天……总之请按照自己的想法去做吧!  发表于 2015-3-23 07:52
回复

使用道具 举报

 楼主| 发表于 2015-3-21 01:31:49 | 显示全部楼层
2015-3-21 01:23:27

啊啊好累啊……
嘛嘛长话短说。刚刚写了人物行走,地图块数据读取(有脚本的哦!),摄像机部分的代码。恩。
his20150321.PNG
啊,这还是我第一次写这种类似脚本解释器的东西呢,用了个比较方便的函数叫CallByName
巨方便。剩下的就是写好文件读取循环就OK辣!

然后关于摄像机和人物行走,外加地图块数据读取测试!
成品图↓



卧槽,我真是好激动!
所谓开坑,就是要看着这坑一点一点变深才能有继续把坑挖穿的动力呐!

喵的今天竟然累了。嘛,代码部分先不做解释了。就这样吧。

以上。

点评

哇,这个不错  发表于 2015-3-21 22:09
tnl
距離高考還有80天(我是你們老師顧得  发表于 2015-3-21 12:56
回复

使用道具 举报

 楼主| 发表于 2015-3-19 20:36:21 来自手机 | 显示全部楼层
提示: 该帖被管理员或版主屏蔽
回复

使用道具 举报

发表于 2015-3-19 19:35:08 来自手机 | 显示全部楼层
draw的话会不会用上camera..
回复

使用道具 举报

 楼主| 发表于 2015-3-19 01:27:32 | 显示全部楼层
2015-3-19 01:13:21
唔,经过仔细考虑之后发现一个问题,于是地图部分的架构做了一些调整。
架构2015年3月19日011137.PNG
恩。多了一个cTileInstance类。
来来重新来解释一下总体构架。

cMap是最外边的类。cMap里边存储了一个cMapGenerator,一个cLayer的变长数组,一个cTile的变长数组。

cLayer顾名思义,图层。一个cMap里边可能有多个图层。cLayer里边存储每层的地图数据,是一个二元变长数组,里边放cTileInstance。

cTile存地图块数据,这种地图块有木有碰撞啊,贴图用啥啊,有啥动画啊等等基本数据是存在着里边的。cMap里边的cTile数组就是为了存一张地图里的n多种图块。

cTileInstance是实际图层里放的地图数据。为啥要弄这么一个类?是为了处理和普通地图块不同的地图块时候用的。cTileInstance里边指向一个cTile,这个地图块的基本参数就是这个cTile接管,cTileInstance里边只存储了一个数据,sParamExtra,用来处理和普通块不一样的块。可以简单的理解成RMXP里边在第三层绘图层上边的事件层。

cMapGenerator依然顾名思义,不想多说了,肯定是全游戏里最最难写之一的吧……

以上
回复

使用道具 举报

 楼主| 发表于 2015-3-18 01:38:59 | 显示全部楼层
2015-3-18 01:26:07

嘛嘛以后就按照这个格式来吧。
今天也是晚自习上抽了点时间写了写cTile里边存储的参数都有啥,没写多少,照片就先不发了。
于是刚刚肝了20min左右的PS,图块的贴图总算是弄出来了。
test.png

大概这种吧,红墙是自己画的,菱形地板、地毯和桌子(TM我想要餐桌啊!)是找的。大概看了看,感觉要是这样的话,生成地图那一部分……是真难写啊……
OK,回来,这张贴图其实也看不出来什么,不就是地图块么,于是我又花了5min左右用PS简单的拼接了一下。


↓当当当当↓
maptest.png
恩没错,看起来有点像游戏画面了。



什么叫有点像啊……简直太搭配了!(好想玩!

不过这地图块还是没弄完。如果谁有魔女之家里边那种餐桌的地图块资源请务必给我来一份,我这里没有RM,也不怎么会用。
嘛今天就这些了。

题外话,我有种预感,感觉后来事情会越来越多,更的频率可能也会变慢……所以一定要在我快坑了的时候叫我!提醒我!骂我!揍我!(pia

以上。

点评

这完成度,我感觉也要喷水了233 一直在研究游戏对象(角色控制,状态,逻辑等等)始终没搞地图,果然一下子看起来完成度就高很多啊233  发表于 2015-3-20 01:18
回复

使用道具 举报

发表于 2015-3-17 17:11:23 | 显示全部楼层
图块素材的话,如果不怕改的话,有不少
来源是rm的地图块的素材,也是32*32一格的
而且地图画面结构也意外的相似……

(另外类似的行走图格式意外的眼熟......)

点评

谢啦谢啦,我会各种加油的  发表于 2015-3-17 19:15
那个素材站的确很不错,不用代理就能看了。lz加油啊,很期待你完坑那天哦  发表于 2015-3-17 18:14
嘛,毕竟木有美工啊。。地图块贴图的话我是自己做加摘录rm素材的。人物图的话。。。首贴已说,可以去看看,挺不错的素材站。 rm我基本没怎么用过。  发表于 2015-3-17 17:23
回复

使用道具 举报

发表于 2015-3-17 11:23:42 来自手机 | 显示全部楼层
提示: 该帖被管理员或版主屏蔽
回复

使用道具 举报

 楼主| 发表于 2015-3-17 02:15:30 | 显示全部楼层
于是这里是今天的最新进展了。
晚自习抽时间写了一下关于地图部分的实现方法。
IMG20150316203341.jpg
图压了,可能有点小。
大概的架构应该是这样:
cMap
- cMapGenerator
- cTile(..)
- cLayer(..)
  - iMatrix(.. , ..)
  - blablabla.....

一个cMap类存储所有相关的数据,所谓调用的最外边一层。
cMapGenerator是该地图匹配的随机生成器,里边放一些参数什么的,以及控制非读档地图的生成。
cTile是该地图内所有种类的图块,所以声明的时候是个数组。cTile记录每种图块的feature啊behavior啊animation(mAnim)啊什么的,可以通过调用图块类里边内置的Draw等等方法实现快速画地图。(画地图
cLayer是存储地图数据的类,你看里边有的那个iMatrix就是存放每个地图块对应哪种cTile用的。当然cLayer里边还有一些特殊的参数,比如该图层整体是否计入碰撞判定,图层背景图cTex等等。cLayer也是一个数组,一般会有3到5个中原,该表这地图得用5层地图块叠加才能出最终效果。






然后是题外话:真TM累啊。都这点了。这个记录本子上边还有之前写过的一些东西,什么时候我没什么进展但是又得更贴的时候就发出来玩玩,还有人物技能设定呢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 少女注册中

本版积分规则

合作与事务联系|无图版|手机版|小黑屋|喵玉殿

GMT+8, 2025-10-31 11:42

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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