2个月构建一个Go服务器,他通过众筹获得14万元

  • 来源:网络
  • 更新日期:2020-06-10

摘要:Kaya.gs是使用Go语言构建的一个服务器,它的创始人Gabriel Benmergui仅用 2 个月的时间就完成该产品的构建及启动,并在随后几个月的时间内容通过众筹活动筹集了 2 万美元(约合人

Kaya.gs是使用Go语言构建的一个服务器,它的创始人Gabriel Benmergui仅用 2 个月的时间就完成该产品的构建及启动,并在随后几个月的时间内容通过众筹活动筹集了 2 万美元(约合人民币14万元)。然而,投入运行 1 年后,Kaya.gs就被迫关闭了。

在本文中,Gabriel Benmergui将和大家分享Kaya.gs的创建过程,以及它的失败原因,希望能给广大创业者一些启发。

Kaya.gs,为围棋而生的服务器

创建Kaya.gs的契机源于Benmergui对围棋的热爱。 2011 年,Benmergui到韩国学习围棋,希望成为南美第一个围棋职业选手。当时的Benmergui只有大约 1 年的软件工程经验,他希望能用自己的软件技能为别人做点什么。于是,他决定构建一个Go服务器,来与King服务器抗衡。

Kaya最大的挑战之一是商业模式。因为用户在服务器上玩游戏是免费的,所以大多数服务器都是采用免费增值模式。一些功能和服务可以通过会员来解锁。

由于需要花费很长的时间来建立一个有竞争力的免费增值模式,因此,Benmergui选择通过众筹来获得前期的资金。人们迫切需要一个新的空间,很快,Kaya通过众筹获得了 2 万美元的资金。

众筹开发,有用户捐赠了 30 多个比特币

筹集资金后,Benmergui开始正式构建服务器。首先第一步是构建一个体系结构,并为自己创建一个演示:以观察是否可以构建第一个响应式HTML实时GO服务器。

当时的工具是非常新,Kaya采用了基于WebSocket协议的Socket.io,包括了客户端的js和服务器端的nodejs,它的目标是构建可以在不同浏览器和移动设备上使用的实时应用。而前端是用jQuery制作的,对于前端开发者来说,有趣的是,Kaya构建了类似React的渲染引擎,仅更新正确的组件,而不是重新绘制整个页面。(WebSocket协议实现在受控环境中运行不受信任代码的一个客户端到一个从该代码已经选择加入通信的远程主机之间的全双工通信;jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库。)

在创建过程中,Benmergui在技术上遇到了很多障碍。对于许多浏览器来说,WebSocket不够可靠。而JavaScript社区当时提供的工具和项目很少,所以Benmergui必须从头开始进行大量构建。游戏很难,具有时间敏感性的实时游戏难上加难。

Benmergui想在Idea.me中对该项目进行众筹,这是阿根廷一家专注于艺术、音乐以及一些零售产品的众筹平台,而且支持比特币支付。然而,Kaya的大多数用户都在国外,活动启动当天,用户的捐款就被信用卡公司阻止了。他们无法完成支付,为此,Benmergui用一晚上的时间在网站上建立了Paypal支付渠道。

有意思的是,当时Benmergui将网站上资助的部分命名为“糖果”,并用粉红色标注。人们在好奇心的指引下发现并打开了“糖果”,然后发现这是网站在向他们“要钱”。

Kaya的定价很像Kickstarter(众筹网站)广告系列,不同的层级意味着不同的特权和收益,但大多数都是自愿的。

Benmergui认为:众筹活动非常适合游戏,捐赠的人成为该项目的传播者,积极参与并分享给他人。在论坛上,Kaya还有一个非常活跃的反馈渠道。在该论坛上,Kaya是唯一回应用户询问的官方服务器。这给了Kaya大量的用户和反馈。Kaya拥有超过 300 个特别账户用户,其中部分人贡献超过 100 美元。这对行业来说意义重大,因为当时Benmergui还尚未提供优质的产品,只有一个产品承诺。(有趣的是,当时有一个用户用比特币捐赠了 100 美元,每个的价值大概是 3 美元。当比特币涨到 60 美元时,Benmergui卖掉了这些比特币,赚了一笔钱。)

开发一个新的围棋服务最困难的部分是先有鸡还是先有蛋的问题:这是一个玩家实力各异的市场,如果你没有足够的玩家,你就无法获得更多的玩家。Benmergui通过多种方式解决了这个问题:比如通过组织有价值的比赛来吸引用户增加使用时长。还有就是通过添加机器人来为用户匹配对手。一开始,Kaya的在线人数大约 100 人,而现在,Kaya有成千上万的注册用户,比赛次数超过 10000 场。

整个Kaya.gs项目就像过山车一样。从疯狂的众筹活动到服务器的第一次发布。Kaya在与当前的标准产品发布相反的情况下迎来了爆发。Kaya每周五晚上都会发布更新,人们会涌向服务器,只为了查看新功能。之后,Kaya逐渐增加了参与度和游戏数量。但Kaya的增长停滞了,接着收入、动力和开发新功能的能力也停滞了。

失败原因总结

Kaya.gs失败的原因有很多,最主要的三个方面如下:

首先是产品,Benmergui表示这完全是他的责任。他消耗了太多的资源来构建新特性,却忽视了基本原则。Kaya经常遇到服务器崩溃的问题,这使得游戏体验不佳。在创建新特性之前必须先打造安全稳固的服务器环境。

第二是设计和规划方面。Benmergui称自己在设计和规划方面犯了巨大的错误。这是一种新颖的架构,当时所有人都在着手开发手机游戏。而Benmergui构建了Kaya.gs,带有实验性特性的gs常常被浏览器关闭,没有DevOps(手动重启崩溃的服务器),这最终影响了开发的能力。

第三是士气。Kaya发布一年后,通过众筹获得的资金很快就用完了,然而产品并没有太大的实质性进展,并且还有每况愈下的趋势。Benmergui和他的联合创始人之间的矛盾越来越多,导致生产力下降。通过这次失败的创业得出的结论是:如果你开发了一款产品,最好聚焦一两个主要功能,通过减少功能可以改善工作水平并使工程设计更容易。如果你成功地完成了产品的改进,也能大大鼓舞士气。

新网企业建站