WPF game developing 学习备注4--npc的问题

本文探讨了游戏开发中NPC的设计与实现,包括使用Access作为数据库保存NPC信息的方法、地图编辑器的功能需求及简单的寻路算法设计。

现在来考虑下npc的问题。npc的信息当然需要一个数据库来保存,根据当前场景和状态,调出相应的npc,绘制npc的工作应该在绘制sprite之前。

比如“在大地图上显示所有的队友,或者剧情npc”,“在当前场景中显示需要显示的npc”。

同时npc也是一个精灵。点击它会有相应的动作,比如打开窗口或者传送到其他地方等。

现在就有一个怎么保存npc信息的问题

自己做个简单的数据库?access?初步决定还是先用access,第一次尝试,还是先做简单的好。

要保存的信息无非“类别,坐标,状态,或者再有一个类别2等”

放置npc应该有一个专门的软件类似地图编辑器,这样可以减少工作量。或者地图编辑器最简单的功能就是在一个背景图上放置npc吧。

如果再加上各种素材以及地形,路障标记等就是完整的2d地图编辑器了。

 

这样看来本文应该叫做地图编辑器的设计而不是“npc的问题”。这个完全就是做个小软件了,和game几乎不搭边。

 

 

sprite有了,npc也有了。路障标记也有了(先简单的考虑能走和不能走)。接下去就是sprite的寻路算法了。

 

npc比如怪物,需要跟踪pc,pc当然也需要一定的AI,比如自动寻路。其他打架策略可能还简单点,根据当前状态决定动作,不涉及多步的策略。

 

 

寻路最简单的就是走直线了,如果碰到障碍物左转,然后再走直线,如此反复,总能到的。地球是圆的嘛。

实用的寻路算法,大家可以网上查。我的脑子想不出来。

 

似乎一个单机版的游戏就这点内容了?等动手做做看。再说吧。

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值