Dungeon Mizarka 010

解决房间生成导致A★出现问题

在最先的测试用场景中,每格不是空的要不然就是障碍物或是场地外。生成的房间直接加入了墙壁,而这个墙壁有可能因为厚度的关系,导致A★扫瞄後出现偏差?

调整一下房间的生成後仍是一样的结果,只好回看程序码的部份,才发现运算时直接利用A★给的位置进行运算,但A★给的是整数,也就是该位置乘上1000,比方说在X为4的地方,A★会将它弄成4000,所以拿回来的值要自行处理,但之前没有注意才会整数直接除以1000造成相当大的偏差。

修正後解决第一个问题。但可以穿墙的问题依然没有办法解决。

这个问题於原先的测试场景里是不会发生的,但在这样的地板和墙壁的设置下,会产生那片墙壁不存在A★的空间中。

目前想到解决的方法是利用Raycast进行侦测,这也包含了当敌人群在行进方向时会阻挡玩家。但这样仍有可能会於制作小地图时产生一样的问题,这部份还没有想到更好的解决方法,先记录下来之後处理。

反正这也不是一时三刻可以解决的,一直卡在这个问题上也没有意义。接下来先调整敌人群的配置和敌人如何产生於敌人群的机制。

敌人群

一群一群的敌人基本上只是空的GameObject,占据一个4x4的空间,现有机制是利用九宫格的方式进行怪物在此空间内的生成。不过这会回到之前提到的问题,玩家手中的武器若是近战类型,则会限制只能打到九宫格的前二排(共六个位置)若是敌人产生在最後一排(三个位置),而玩家没有方式打到最後一排时,玩家只能选择移动规避和这一组敌人的遭遇,而前提是玩家没有被夹击。

这其实是偏向设计面的问题,规则若是改成前排敌人消失则後排敌人补位,又或是战斗中玩家的攻击位置(甚至是自身位置)有所调整,都可以解决这个问题。

撇开这个射击距离,敌人群目前没有AI,诚如一块立牌般站在那挨打。但要加入AI,要有较完善的基本功能进来才行。像是敌人除了普通攻击外,有没有可以有相对应的特殊攻击,技能也好、魔法也好。

为了简化复杂的技能树设定,不论是玩家或是敌人,都不考虑设计技能,但回应之前的设定,玩家被定位成初阶魔法师,自然是少不了魔法的施放。但不想要走向日式RPG的架构,升到某个等级学会什麽魔法这样的设定。偏向美式的风格,采用使用卷轴的方式进行魔法施放。

也就是在这样的设定下,需要有卷轴可以使用和施放,并且是让玩家和敌人同样遵守相同的机制。自然而然地,加入道具这件事就变得蛮重要的。

道具系统

道具系统一直以来是是游戏玩法中最重要的系统之一,多年来在Unity Asset Store(UAS)里出现过不少时代的眼泪。像是Odin Inspector外挂的开发者数年前还没有开发Odin Inspector时出过的- Inventory Pro

以及它後来出的Rucksack

都曾经是功能相当完善,是否好用则见人见智。不过这二套应该则前些年都慢慢地的消失了。好在UAS里仍是有一直有新的方案出来,这几套是目前UAS中相当不错的选择

这次制作中选择了Ulitimate Inventory System(UIS),这套看起来功能相当的完善但又显得复杂,接下来几天会了解如何使用UIS并力入加到FPDC的制作中。

了解如何使用UIS

花了一些时间将UIS提供的范例稍微看了一下後,依样画葫芦的将Category放入到FPDC专案里

不太了解这些复杂的分类为何用途,但其分类的方式很像是在做Tag,且Tag之间还有传承的概念在里面。而这些像是Tag的分类,也可以自行加入资料。看起来像极了VS的Variables元件所提供的供能,挟带了分类後显的更加有条理。

有了分类後就是试着加入实际的道具,先以这些物件当做测试

再往下慢慢得研究。


<<:  [从0到1] C#小乳牛 练成基础程序逻辑 Day 7 - 程序码收纳术 3种注解

>>:  【Day7】ERP核心模组篇-Purchase

Day 19:Hexo 文章分类设定小知识!你都知道了吗?

我自己的写文习惯是如果文章内容刚好符合两个分类,就会同时设定两个分类。不过这也意外让我入了一个坑啊(...

【踩坑】按钮闪阿闪,gradient 在 hover 时闪烁

某天在闲逛网站,美其名观察各种生态,实则打混摸鱼的时候 发现按钮在 hover 过渡时出现闪烁的状况...

WordPress 增加热门文章外挂 - WP-PostViews

当 WordPress 的文章流量开始出现的时候,这时候就会想要在侧边栏增加一个热门文章的连结,不止...

Proxmox VE 客体机线上迁移

当 Proxmox VE 丛集建立完成以後,除了方便的多节点单一介面管理的好处之外,最令人开心的就...

[Day 22] 计算属性computed趴搭搭

嗨各位!!!又是我,那个小可爱又来了,今天要来讲的是—计算属性,如果你的模板需要加入很多逻辑运算,可...