程序员用12小时复刻《羊了个羊》,代码已开源
扫一扫
分享文章到微信
扫一扫
关注99科技网微信公众号
编者按 :前段时间,超休闲三消游戏《羊了个羊》爆火,不少网友表示游戏第二关难度过高,甚至猜测「根本没有通关的解法」。 而本文作者 @开发游戏的老王 在尝试复刻游戏之后,提出了一个猜想:过高的难度,也许源于代码层面的瑕疵。 以下为正文: 昨天有朋友和我说:“最近有个叫《羊了个羊》的游戏爆火,就是太难玩了,你能复刻一个不?” 话说上次玩休闲游戏还是在几年前,但是朋友之托必须赴汤蹈火啊,二话不说,开整!然而,冲动是魔鬼,直到此时此刻,老王也没能亲手玩一局原版游戏,不知道是游戏入口设计得太隐蔽还是网络加载太慢,无论手机端还是PC端,游戏都停留在如下界面。
所以本次游戏的复刻,完全是基于各视频网站云观摩的结果,好在游戏的玩法不是特别难理 解。复刻使用的开发工具是Godot Engine (使用其它工具开发原理也是相似的) ,目前项目已经开源到了GitCode:Godot版《羊了个羊》:
https://gitcode.net/hello_tute/SheepASheep
接下来我将通过临摹游戏的方式推测一下这个小游戏的实现原理,本文主要面向对游戏开发有兴趣的朋友,欢迎大家多提宝贵意见。 CSDN特供版《羊了个羊》
01
玩法
第一眼看到《羊了个羊》,老王首先想到当年的《连连看》,不过有网友爆料,该游戏“借鉴”了《3tiles》。瞄了眼《3tiles》,是比较相似。说心里话,这个游戏的玩法并没有什么过于出众的地方,算是个中规中矩的“低卡路里”休闲游戏。 之所以成为话题作品,主要就是因为它的第2关极其低的通关率,一下子激起了众多玩家的挑战欲望。 而时至今日这个“低通关率”也被网络上的众多玩家揭秘,第2关其实大概率上本身就是个死局。是程序员故意挖坑设了死局么?先卖个关子,我们先聊聊游戏的开发,然后您自己就会有答案了。
02
实现概要
游戏的整体很简单,但其中有几个实现的重点需要注意:牌堆数据结构的实现
如何检测和更新可拾取的牌
先做个小定义,一个牌堆中可被拾取的牌以下将简称其为:“窗口牌”。
01 牌堆的结构99科技网:http://www.99it.com.cn
