怎么会想到搞出个“MazeCave杨过游戏”?
就是那天晚上喝(,不能说喝酒,算了),就是那天晚上肚子撑得睡不着,随手打开了电脑,想着找个最简单、最蠢的练手项目来打发时间。实践驱动型,光看文档听课那是看不进去的。
实践过程:从零开始瞎折腾
我先是敲定了主题:迷宫和杨过。迷宫简单,算法现成一堆,杨过嘛他不是在绝情谷底被困了十六年吗?那不就是个天然的“Cave”(洞穴)吗?主题一下子就立住了。
接着是工具的选择。我抓起了一个前端小框架,不用那些大而全的引擎,就想看看用最原始的方法能不能跑起来。这过程简直就是个噩梦:
- 第一步:迷宫生成。我直接抄了一个回溯算法,写了不到一百行。刚开始一跑,TMD直接卡死了!原来是递归调用的栈溢出了。我折腾了两个小时,改成迭代,才算勉强跑起来。
- 第二步:杨过“立绘”。这最简单。网上找了个像素风格的侠客图片,随便抠了一下,改个名字就叫“杨过”。反正这只是个 demo,谁管那么多。
- 第三步:移动和碰撞。我设定杨过不能穿墙。这个碰撞检测我写得极其粗糙,就是判断下一个位置是不是墙壁。稍微走快一点,杨过直接就卡在墙角动不了了。我懒得做平滑处理,就设定了个极慢的移动速度,反正在山洞里,慢点走也符合人设。
小编温馨提醒:本站只提供游戏介绍,下载游戏请前往89游戏主站,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
我把背景图换成一个黑乎乎的岩石纹理,中间加了点点蜡烛光影效果,就算是“Cave”了。一个下午,一个晚上,总算给它弄出来了,能动,能走,能出迷宫。但你仔细看,到处都是毛病,像个半成品。
为什么搞得这么简单粗暴?
这要从我前段时间跟老东家那个项目经理的那次扯皮说起。那小子,老是觉得我写的东西不够“快”,不够“轻”。他嘴里老是叨叨那些互联网大厂的敏捷开发、快速迭代,嫌弃我做的系统逻辑复杂、启动慢。
有一次为了一个年终奖的分配问题,我们直接在会议室吵翻了。他指着我的鼻子说:“你行你去外面找个项目,用你那套理论,三天给我弄出一个能让大家玩得起来的 demo 看看!”他那架势,完全就是看不起我这种做底层架构的。
我当时气得脸都青了,当场就辞了职。我走的时候撂了一句狠话:“等我用一个下午的时间,做个谁都能玩的出来东西,看看是你那个半死不活的系统快,还是我这个玩票性质的 demo 快!”
辞职回家后,那份气一直堵在心里。睡不着觉,我就想起来这茬。这个“MazeCave杨过游戏”,就是我为了给自己争一口气、打他脸而随手搞出来的东西。我就是要证明,做东西,可以快,可以粗糙,但必须能跑起来,能实现核心功能。至于优化,那是第二步的事。
这就是为什么这个杨过在迷宫里的样子有点“呆”,走得有点“慢”的原因。我回头就把这代码打包发给他,看他还有什么话说。
技术不分贵贱,能解决问题的,就是好东西。

