零基础学代码,我做了一款 App 实现童年心愿
小时候每天上下学时有一个妙想:如果我能把一生走过的路、走过的地方都记录下来该有多好。我会去上海,会去北京,会去巴黎,会去埃及。当我老的时候,看着自己这辈子到过的地方一定很有感触。
从设计专业学生到独立开发者
我叫韩重赞,工业设计出身,以前做产品经理。4 个月前,我辞掉了工作,打算做一些自己脑海中的产品。
零基础学代码的过程很痛苦,但磕磕碰碰花了一个月时间,我还是做出了自己第一款 app ——「0528」,一款文字冒险类游戏。
玩过 LifeLine 的朋友应该对这类游戏不会陌生,只是,我把游戏背景设在了医院,并采用了第一人称叙事的模式。
接着,我又做了一款工具类 app ——「恋人清单」,用照片记录和恋人之间发生过的各种小事。
令我意外的是,「恋人清单」上线不久就被 App Sore 首页推荐了。而做一款能被苹果推荐的应用是我人生的一个小梦想,8 月 19 日那天,我几乎激动到睡不着觉。
做一款实现童年心愿的 App
前两个 app 的用户反响都很不错,但我没有满足于此。接下来,我想做个「大」的。
我有个习惯,就是会把一些好的想法点子记在苹果自带的备忘录。翻看那些大大小小的点子,希望找到灵感做一款概念新颖、有趣好玩的应用。
我想起了我小时候每天上下学时的一个妙想:如果我能把我一生走过的路、走过的地方都记录下来该有多好,我会去上海,会去北京,会去巴黎,会去埃及,当我老的时候,看着自己这辈子到过的地方一定很有感触。
两年前,我下载了「世界迷雾」这款 app,它是我最爱的 app 之一,每到一个新的地方我都会打开来记录。
「世界迷雾」把整张世界地图都蒙上一层白白的迷雾,就像玩魔兽争霸一样,你走到哪里,哪里就「破雾」了。巧妙地用这种「破雾」的形式来记录你一生的足迹。
不过从产品的角度看,我还是发现一些世界迷雾的不足之处:
- 现在我已经越来越低的频率去打开世界迷雾记录足迹,可能一年里就旅行时会打开几次
- 世界迷雾是单机游戏,和别人的互动性为零,最多在 Game Center 上看看别人的等级
- 个人的存在感很低,没有足够的信息让自己变得更加个性化
于是,我花了一个月时间做了这款「开垦世界」。
开垦世界是一个怎样的世界?
开垦世界,简单说就是一款 LBS 种树游戏,可以在自己附近一定范围内(在游戏里称为视野)种植树木。这样,你可以把你们的学校、你们小区变成一大片丛林。
登录之后,你将和世界上所有的开垦者一起瓜分世界。对的,你没听错,瓜分。就是说在一块地盘上种上你的树,这块土地就属于你了,别人不能再在这里种他的树。
除了「抢地盘」这点好玩之处,你还可以找回当年「偷菜」的乐趣。
看到树木右上方的那一个个数字了么?对的,就是说明这棵树可以「收菜」了。
绿色的是香樟树,一种优良的行道树,它每过一分钟就能「收割」,每次获得一棵。黄色的是银杏树、橙色的是红枫树,他们各自有自己的收割时间和收割数量。
开垦世界背后的设计思路
其实,在开始这个产品之前,我也为如何「种」思考了很久,有无数的问题围绕在我的脑海:
用户在地图上点一下就蹦出一棵树就好了么?这样子不是可以在地图上种无数棵树了?定义一棵树周围 10m 内不能种其他树,还是 100m ?用户怎么知道是 10m 或者 100m 呢?我可以随便点地图任何一个角落种树么?难道说不能缩放地图(那可真蠢)?定义自身周围 100m 以内才能种树?用户怎么知道呢?每个人的树可以无限地种么?不然有什么获取的渠道呢?
后来不知道哪来的灵感,突然想到,可以用经纬度来划分区域。
经过温习地理知识和反复地测算体验,我最终确定把整张地图按经纬度以 0.001 度为一个单位分割,故最小的一块地盘就是 0.001 度 * 0.001 度的一块地(精确来讲就是 111m * 111m * 所在地纬度余弦值的一块地,粗略来讲呢就是 100m * 100m 的一块地)。
理论上,说整张地图一共有 360,000 * 180,000 = 64,800,000,000 块地。但实际上呢,我们平时用的什么高德地图百度地图其实把最高纬度的一些地方去掉了,只有大约南北 85 度之间的地区可以显示。所以,最后大约剩下 64,800,000,000 * 85 / 90 = 61,200,000,000 块地,约为 600 亿。
经过这样的定义之后,很多问题就迎刃而解了。这让我想起了小时候玩的「金庸群侠传」,不管是大地图还是场景地图还是战斗地图,都是被分为了一块块的单元,所有人物的移动,技能释放都以这些单元为基础。
上线后,用户给我提了很多建议
目前,「开垦世界」正式上线也就半个多月时间。我在知乎上发了一篇专栏,引来了不少热情的 app 爱好者,总体反响大大超出我想象。
有说想砸了安卓机买大苹果的,有说玩了整整一天独孤求败的。
真的很感谢他们的支持和喜爱。当然,最感谢的是他们也提了很多建议,每条我都认认真真看了。
比如,他们希望能把别人的树砍掉,当然不是冷酷暴力地解决掉,他们提了很多好的点子:
- 砍树的技能需要很高的要求才能达到
- 被砍的人可以获得相应的报酬
- 根据种植的时间来判断是否能砍掉这棵树
- 可以给树木加上等级的概念,低等不能砍高等
- 可以通过拍卖来出售自己的树木
当然,我会再三考虑之后,以一种最平衡的方式来增加这个「砍树」的功能。
再比如,他们希望看到别人的信息,并增加互动功能。也有很多好点子:
- 查看对方的种的树
- 查看对方的行踪
- 聊天功能
- 「撕逼」功能
- 交易功能
- 在世界地图展示所有人的树(那可真壮观)
群体智慧真的很强大。我也希望有越来越多的人给我反馈信息,提些建议。
「怎么好玩怎么来」是我做产品的中心思想,只有自己觉得好的产品才是用户真正会用的。近期,我又在开垦世界中加了很多好玩的东西,比如「老旧小斧子」「收割机老农」「绿翎鹰之眼」等神奇的道具。
希望「开垦世界」在大家的共同努力下能越做越好,做成一款不后悔的成功产品。
开垦世界适用于 iOS 8.0+ 的 iPhone 和 iPad ,大小 5.5 MB,完全免费。