得,今天就唠唠我自个儿瞎捣鼓那个单机ARPG的事儿。
最初的想法
就是玩腻了市面上那些,总觉得差点意思。要么氪金要么肝,单机玩得爽的又不多。就想着,干脆自己动手做一个,不用多复杂,就图一乐,弄个自己觉得带劲儿的。脑子里没啥特清晰的规划,就想着得有个角色,能跑能砍,打打怪,爆点儿东西,升升级啥的,就这些基本玩意儿。
开工动手
选引擎这块儿,我没犹豫太久。之前稍微摸过一点Unity,感觉上手还行,资料也多,就它了。新建项目,导入点免费的资源包,先整个角色模型放场景里。
第一步是让角色动起来。 这就花了我不少功夫。键盘控制移动,视角跟随,听着简单,实际调起来各种别扭。要么跑得跟飞一样,要么慢吞吞,视角转动不是太快就是太慢,晕得不行。反复调参数,试了好几天,总算感觉顺溜点了。
接下来是战斗。 这是ARPG的核心嘛先做了个最简单的普攻,鼠标左键砍一刀。找了个挥砍的动画,配上音效。然后是碰撞检测,得判断刀砍没砍中怪。一开始用的简单碰撞盒,经常出现看着砍中了但没反应,或者明明没碰到却掉血了。后来又去研究更精确点的检测,比如射线检测或者用动画事件来触发判定,这才像样点。
添加内容
光能砍不行,得有怪挨打。拖了个模型进来,给它写了个简单的AI脚本。这AI也傻得很,基本上就是:
- 看到玩家就追过来。
- 靠近了就攻击玩家。
- 被打知道掉血,血没了就“死”掉(播放死亡动画,然后消失)。
后来觉得太单调,又加了点随机移动,让它平时会瞎逛逛。但这AI写起来是真头疼,各种bug,有时候怪卡墙角不动了,有时候隔着老远就“看见”我了,还有时候打着打着它自个儿跑没影了。调试这些玩意儿,比写新功能还累。
RPG元素也得跟上。 做了个简单的血条、蓝条UI放屏幕上。角色加了等级、经验值、攻击力、防御力这些基础属性。打死怪给经验,经验满了升级,升级给点属性点让玩家自己加。这些数值策划可难倒我了,升一级加多少攻?打一个怪给多少经验?全凭感觉瞎蒙,后期肯定得大调。
还想搞个技能系统。先弄了个简单的,比如按个数字键放个火球啥的。找特效、挂脚本、处理冷却时间、消耗法力值……一套流程下来,又是一堆细节要磨。
接着是掉落。怪物死亡后,随机掉点金币或者药水。做了个简单的背包界面,能看到捡了点击药水能回血。这块相对还算顺利点,但界面UI布局也挺费时间的。
遇到的坑与反思
整个过程下来,最大的感触就是细节是魔鬼。看着挺简单一个功能,实现起来各种问题。比如角色动作衔接不自然、打击感不够强、UI界面不好看、性能优化(怪一多就卡)等等。很多东西不是你不会做,而是做好很难,需要大量的时间去打磨。
还有就是资源问题。自己不会建模、画画、做特效、配音,只能依赖资源商店。免费的资源质量参差不齐,风格也难统一。要想做得这块投入少不了,但我这就是自娱自乐,也就凑合用了。
目前这东西,离一个“游戏”还差得远,顶多算是个粗糙的战斗原型。但整个过程折腾下来,虽然累得够呛,踩了无数坑,但也确实学到不少东西,把以前零散的知识点都串起来用了用。至少,那个能跑能砍能打怪的小目标,算是勉强实现了。后续会不会继续填坑?看心情,毕竟这玩意儿太耗精力了。
还没有评论,来说两句吧...