今天就来跟大家唠唠我最近瞎折腾的一个小玩意儿,名字嘛就叫它“火柴人大乱战”好了。也不是啥正经游戏,就是自己瞎鼓捣出来的一个小东西,图一乐呵。
最初的念头
说起来,这事儿得从我前阵子刷小视频说起。老看到那种火柴人打架的动画,特简单,但就是莫名的带感。线条小人儿,拳打脚踢,有时候还飞来飞去的,看着就挺解压。当时脑子一热,就琢磨着,我是不是也能整一个出来玩玩?不用太复杂,就几个小人儿互殴那种。
动手开干:从画小人开始
说干就干!我这人动手能力还行,就是有时候想法比较跳脱。一开始嘛我先在纸上画了几个火柴人的造型,你别说,火柴人看着简单,真要画得有点动态感,还得琢磨琢磨。画了几个版本,选了个自己瞅着最顺眼的,就决定是你了!
然后就是把这小人儿“弄活”。我没用啥高大上的工具,就找了个挺基础的动画软件,一帧一帧地画。先是走路,然后是跑步,再是出拳、踢腿。我跟你说,这玩意儿看着简单,做起来真费劲! 光一个出拳动作,为了让它看起来稍微有点力量感,而不是软绵绵的,我就调了好久。胳膊抬多高,腿怎么配合,身体要不要前倾,细节一堆。
加入对手与“智能”
一个小人儿自己在那儿比划也没意思,得有对手才热闹。我就复制了几个之前画好的火柴人,换了个颜色,当成敌人。最开始这些敌人就是木桩,傻站着不动。我想着这不行,得让他们动起来,至少能追着我打?
这就涉及到咋让他们“智能”一点了。我也没学过啥高深的编程,就用了点最笨的法子。比如,判断一下玩家火柴人的位置,然后让敌人朝着那个方向移动。再加点随机性,别让他们都走直线。折腾了半天,敌人总算是能追着我跑了,虽然有时候还是会卡墙角,或者几个敌人挤在一块儿犯傻。
让打斗更“激烈”一点
能动了,能追了,接下来就是互殴了!我给火柴人加了简单的攻击判定。就是画个框框,如果拳头或者脚的框框碰到了对方身体的框框,就算打中了。打中了总得有点反应?我就让被打中的火柴人后退一点,再来个简单的受击动画,比如身体晃一下什么的。
为了增加点趣味性,我还试着加了几个不同的攻击动作。比如一个直拳,一个扫堂腿。每个动作的攻击范围和“伤害”也稍微做了点区别。对了,我还给火柴人加了个简单的“血条”概念,被打多了就“躺平”消失,这样才有胜负嘛
后面我又琢磨着,光是拳打脚踢是不是有点单调?就想着能不能捡点啥武器。于是我又画了几个简单的棍子、砖头啥的。让火柴人靠近了就能捡起来,然后攻击动作也跟着变一下。你还别说,拿着棍子互殴,那场面可比赤手空拳“激烈”多了! 虽然画面还是那么简陋。
测试与调整:痛并快乐着
整个过程中,最花时间的就是测试和调整了。经常是改了一个地方,另一个地方又出问题了。比如,调整了攻击速度,结果发现判定变得很奇怪;或者敌人AI改聪明了一点,结果它们全跑去追一个根本打不到的目标了。那叫一个手忙脚乱。
我拉着我朋友帮我试玩,他一边吐槽我这火柴人动作僵硬,AI跟人工智障似的,一边又在那儿“嘿咻嘿咻”打得不亦乐乎。看到他玩得挺投入,我心里也挺美滋滋的。
最终效果与感想
现在这个“火柴人大乱战”嘛还是个半成品。就是几个火柴人在一个空白的场地上互殴,能跑能跳能攻击,能捡个小棍子。没什么酷炫的特效,也没啥复杂的系统。但是,从一个想法,到自己动手一点点把它实现出来,看着屏幕上那些自己画的小人儿按照自己的想法动起来,那种成就感还是满满的。
虽然整个过程磕磕绊绊,各种小问题不断,但瞎折腾的过程本身也挺有意思的。以后有空了,说不定我还会再给它加点新花样,比如整个地图编辑器?或者加点奇奇怪怪的道具?谁知道,玩儿呗!
这就是我这回实践“火柴人大乱战”的整个过程记录,希望能给大家图一乐。动手做点小东西,还是挺有意思的!