二十年前的老游戏,为何再次让无数人痴迷不已?

SpaceTraders是个古老的策略类游戏,运行在古老的Palm OS和Windows Mobile PDA上。

游戏开始时,玩家将获得一艘飞船,然后驾驶它在各个星球之间穿梭,挖掘星球矿产,低买高卖赚取利润,赚了钱可以升级飞船,购买更大货仓,更先进的武器, 因为星际航行中可以会碰到海盗,玩家需要决定是逃跑,交涉还是战斗......

听起来并不是非常吸引人,对吧?

但是,有个叫spacetraders.io的网站,把SpaceTraders玩出了新高度:它把这个游戏给API化了!

换句话说,游戏中的所有动作,都可以用API的方式来调用!

比如,注册一个玩家,可以用CURL发出这样的请求:

curl --request POST 
--url 'https://api.spacetraders.io/v2/register' 
--header 'Content-Type: application/json' 
--data '{
"symbol": "liuxin",
"faction": "COSMIC"
}'

购买一艘飞船:

curl --request POST 
--url 'https://api.spacetraders.io/v2/my/ships' 
--header 'Authorization: Bearer ' 
--header 'Content-Type: application/json' 
--data '{
"shipType": "SHIP_MINING_DRONE",
"waypointSymbol": "X1-DF55-69207D"
}'

给船补充燃料:

curl --request POST 
--url 'https://api.spacetraders.io/v2/my/ships/ONLYLIUXIN/refuel' 
--header 'Authorization: Bearer '

卖货赚钱:

curl --request POST 
--url 'https://api.spacetraders.io/v2/my/ships/ONLYLIUXIN/sell' 
--header 'Authorization: ' 
--header 'Content-Type: application/json' 
--data '{
"symbol": "IRON_ORE",
"units": "100"
}'

我这里只列举了一小部分,除此还有导航、停泊、测绘、卸货、查看市场、完成合约等各种各样的API。

这些API可不仅仅支持一个人玩儿,而是支持多人在线的交互。

即使是多人在线游戏,通过命令行,用API的方式来玩儿这个游戏也太无趣了吧?

又慢又无聊,谁会这么玩呢?

但是,一旦你把视野打开,就会发现这是个非常棒的创意

因为任何程序员,不管他是使用什么编程语言,都可以通过代码调用这些API,写一个SpaceTraders的客户端应用程序,和其他人进行交互。

有很多人已经这么干了,有人做出了漂亮的图形化客户端:

有人做出了文本化的客户端

有人实现了Emacs Lisp 客户端

有人用React做了客户端:

那开发这些“乱七八糟的”客户端有什么用处呢?

最大的用途就是:学习编程

我们每个人在学习编程中都会遇到这样的问题:学了很多语法,写了不少代码片段,但是越学越没意思,因为编程有很多知识点,很枯燥,很无聊,没有真实项目刺激,缺乏动力。

现在有了SpaceTraders API,事情就不一样了。

假如你想学习Python,你完全可以用Python 代码去调用这些API,实现一个Python版的SpaceTraders客户端。

为了尽快实现这个游戏的注册、飞行、挖矿、战斗,你不得不去做界面设计、架构设计、类的设计,和服务器API的交互,这个过程逼着你不得不接触到Python的各个方面。

编程的过程,结合了游戏的过程,有趣,不枯燥。

把这个客户端写完,对Python恐怕也熟悉个七七八八了。

难怪网友反馈说:我在48个小时内学到的东西比一个月的在线课程还多!

强烈建议那些正在学编程的同学看一看这个游戏,调用API去玩一玩。

这个SpaceTraders API让我想到了早些年流行的Robocode,玩家需要编写自己的机器人坦克,定义其行为和战斗策略,在一个虚拟的战场上与其他玩家编写的机器人对战。

只不过Robocode必须由Java编写,限制了用户的群体。

相比而言,SpaceTrader API更加开放,更加有趣。

“寓教于乐”可以让人轻松学习,不得不说,在这方面,国外程序员的创新和脑洞确实比较多,走到了我们的前面,值得我们学习。

展开阅读全文

页面更新:2024-03-12

标签:货仓   在线   飞船   枯燥   程序员   机器人   客户端   过程   代码   玩家   游戏

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top