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

spacetraders-io Spacetrades.io Javascript / Typescript SDK npm i spacetraders-sdk 立即下载

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

1914009b61a915f6b2522dac92b15904.png

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

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

但是,有个叫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 <token>' 
--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 <token>'

卖货赚钱:

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

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

21f0c4cbf2f9ed7f962bdc1015325973.png

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

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

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

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

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

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

a08beebba9866be2c2e87f97260d481f.png

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

f47dc73ab475f64ec8c77161b4577a78.png

有人实现了Emacs Lisp 客户端

6b8caddd1e124a4b1064a5021c77e05e.png

有人用React做了客户端:

15455c4dc347bb69bfccb1dc8806585f.png

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

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

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

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

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

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

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

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

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

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

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

e54dbfff5d8fe6f9e038781a204c57ea.png

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

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

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

(完)

最后宣传下我和闪客建立的星球“ChatGPT基地”,专门探索程序员在ChatGPT时代的定位,如何使用ChatGPT来提升工作效率。

在程序员领域,我们这个星球可能是玩ChatGPT玩得最深入的,已经远远超出了ChatGPT聊天的阶段,很多人进入了API开发,甚至私有化模型训练。

ChatGPT聊天 ->使用ChatGPT API开发应用 -> 训练私有化部署大模型

这里的朋友们很多已经从小白进化成ChatGPT领域的熟练玩家,星球的专栏有很多有价值的主题:

4a145b004fe72e9e44a1f415f90a65b6.png

来到这个星球,用心刷上个几天,你就不知不觉超越了这个领域 99% 的人了。

现在星球有这些活动:

加入星球即送ChatGPT账号(仅限今天进入星球的前100名,联系方式:加微信onlyliuxin97)

输出优质内容即送100元红包

参与打卡挑战,有机会退星球费用

现在星球处于试运行期,原价199元,现在有个100元的优惠券,相当于99元就可以加入,早点儿拥抱ChatGPT,成为第一批会用ChatGPT和用好ChatGPT的人,占据先机,吃到红利。

ac96fe8ef3e0d80e2f56f8877e9ca171.png

Space_Traders:游戏空间交易者的交互式和扩展版本。 由 Caleb Stokols、Naveena Karusala、Maharshi Patel、Seth Davis 和 Tejas Khorana 创建 CS-2340-2014 年秋季 立即下载

相关推荐

Space-Trader:重制太空交易者游戏。 使用 Java 后端,JavaFX 前端

太空商人 这是经典游戏Space Trader的重制版。 这个想法是买一艘船,在不同的星球上飞行,买卖货物,最终赚到足够的钱买一颗月球并退休。 这是由 Arvind Narayan、Thao Vo、Ishaan Rajan 和我自己为 2014 年秋季 CS 2340:Georgia Tech 的对象和设计部分完成的游戏的一个非常简单的实现。 由于我们对其含义的误解,原始项目在 GitHub 上的私有存储库中进行管理。 因此,我已在团队成员的许可下将代码移至我的个人存储库。 该项目是使用 Intellij IDE 完成的,并在 IDE 上运行。 我将致力于制作一个可执行的 jar 文件,让那些没有 IDE 的人可以运行游戏。

老游戏的新生:探究二十年前的经典游戏为何再次风靡

但是,在这个繁华快速的行业中,却时常有一些老游戏顽强地生存下来,并且在很多人心中再次引起了巨大的追捧和热情。SpaceTraders API让我想起早些年流行的Robocode,玩家需要编写自己的机器人坦克,定义其行为和战斗策略,在虚拟战场上与其他玩家编写的机器人对战。最大的用处就是学习编程。在学习编程的过程中,我们常常会面临这样的问题:学了很多语法,写了不少代码片段,但随着学习的深入,变得越来越乏味。在游戏开始时,玩家会得到一艘飞船,并驾驶它在不同的星球之间穿梭,挖掘星球矿产,通过低买高卖来赚取利润。

Tina666_的博客 205

spacetraders

太空交易者 针对的实现 演示版 生成并运行 npm i npm run start

我来谈谈我的游戏经历和“游戏三境界”

说到三境界,很多人怕是首先想到王国维: 王国维在《人间词话》说: 古今之成大事业、大学问者,必经过三种之境界: "昨夜西风凋碧树。独上高楼,望尽天涯路。"此第一境也。 "衣带渐宽终不悔,为伊消得人憔悴。"此第二境也。 "众里寻他千百度,蓦然回首,那人却在灯火阑珊处。"此第三境也。 此等语皆非大词人不能道。然遽以此意解释诸词,恐为晏欧诸公所不许也。" 如果上面看不太懂的,请自行百度吧:) 由此我也想要总结一下我玩游戏的三境界:玩游戏,改游戏,造游戏。下面我就谈谈关于游戏,我的经历吧。 学编程.

august5291的博客 389

spacetraders:自动客户端玩SpaceTraders

太空交易者 自动交易客户 尚未准备好使用 战略 贷款(尚未自动) 购买两艘船(尚未自动化) 选择两艘船中速度更快的船,参观没有货物的集市的所有事物 这是侦察船 侦察船记录每次造访星球时的市场 等到第一艘船到达第二颗行星 与其余船只一起从当前位置( WIP )出发,以最好的货物运行最佳航线 credits earned on sale / distance * volume (每距离量的积分) 确保在到达新星球时重新索引所有星球市场 侦察员访问了所有有市场的行星后,便与其余的舰队一起加入了贸易船队。 尚未自动化 新帐户开始贷款,购买第一艘船,等等 偿还借款 船舶购买/报废由于速率限制问题,随着更多在线购买的船只,一些低容量的船只将需要报废

spacetraders:太空交易者界面

太空交易者界面 用C ++编写的基本程序,使您可以玩SpaceTraders游戏。

曾是谷歌程序员,抛下百万年薪创业,4年成就7亿用户,今身价百亿!

点击“技术领导力”关注∆每天早上8:30推送“给我十年,记录这世界的喜怒哀乐。”这句话,如果是放在,互联网迅速发展的今天,倒也没有什么稀奇的。但如果,放在十年前,甚至是,二十年前,那...

技术领导力 954

space-traders-vue:Space Traders API在线太空游戏的Space Traders前端

太空交易者Vue 项目设置 npm install 编译和热重装以进行开发 npm run serve 编译并最小化生产 npm run build 整理和修复文件 npm run lint 自定义配置 请参阅。

【程序员35岁才明白的真相】37.程序员35岁才明白的精力管理:写代码之外的生产力黄金法则

35岁不是魔咒,而是技术人的觉醒时刻。当我们放下对语言版本的焦虑,开始培育那些需要时间沉淀的元能力时,就会明白:编程是青春的燃料,但认知才是永恒的火种。下次面试被问"你的优势语言是什么",或许可以试试这样回答:“我能用任何语言构建符合业务场景的最优解——不过您桌上的产品文档,能借我看五分钟吗?(全文完,字数统计:4897字)

1274

spacetraders-api-sdk

Spacetrades打字稿API SDK 用打字稿为编写的SDK 安装 安装软件包npm i spacetraders-api-sdk或yarn add spacetraders-api-sdk 进口Spacetraders从包import { Spacetraders } from 'spacetraders-api-sdk' 创建导入类的新实例const api = new Spacetraders(); 发展 安装节点和纱线 安装依赖项yarn install 构建模块yarn build

判断两个多边形是否相交(java实现)

判断两个多边形是否相交 ,当前认为一个点相交也是相交,可针对凹多边形和凸边型等多复杂的多边形进行相交判断,采用java实现,因为网上java实现的比较少,所以这里写下如何实现,适用于碰撞检测,地图等等应用场景

IT_CREATE的博客 5845

曾是谷歌程序员,抛下百万年薪创业,4 年成就 7 亿用户,今身价百亿!

“ 阅读本文大概需要 3 分钟。 ”“给我十年,记录这世界的喜怒哀乐。”这句话,如果是放在,互联网迅速发展的今天,倒也没有什么稀奇的。但如果,放在十年前,甚至是,二十年前,那简直就是痴人...

静觅 363

(3万字深度解析)Kaggle《房价预测:高级回归技巧》详解复现攻略

在这篇教程式文章中,我们从零开始完成了 Kaggle《房价预测:高级回归技巧》比赛的复现工作,涵盖了数据预处理、特征工程、模型训练、调优、解释和融合的完整流程。深入理解数据:阅读数据描述,结合常识对每个特征作出合理处理(如缺失值填充’None’表示无此设施 、异常值剔除 等)。对目标和偏态特征进行对数变换,使分布更平滑,从而更好满足模型假设并提升准确度。特征工程:我们创造了总面积、总浴室等新特征,整合信息提高模型可学习性。

qq_38334677的博客 1772

中国最顶级的一批程序员,从首富到首负!

过去的20年 是程序员快意恩仇的江湖时代 通过代码,实现梦想和财富 有人痴迷于技术,做出一夜成名的产品 有人将技术变现,创办企业成功上市 这些早一代的程序员们创造的奇迹 引发了一浪高过一浪的互联网热潮 上一篇为大家展示了↓↓ 《技术领域有着巨大影响力的程序员》 点击标题可迅速查看↑↑ 这一篇将为大家带来 《商业领域有着巨大影响力的程序员》 (小编补充:排序并不按个人成就,如果你的偶像排在...

全栈开发者 770

Spring Authorization Server 实战指南:构建企业级 OAuth2/OIDC 授权中心

本文介绍了Spring Authorization Server作为构建企业级OAuth2/OIDC授权中心的解决方案。首先分析了传统认证模式的不足和OAuth2/OIDC协议的优势,然后详细讲解了如何从零搭建授权服务器,包括核心配置类、授权流程、数据库持久化等关键实现。文章还涵盖了资源服务器配置、客户端应用集成、安全最佳实践以及生产环境部署建议,完整呈现了Spring Authorization Server的核心功能和使用场景。通过本教程,开发者可以掌握统一认证授权系统的构建方法,为微服务架构提供安全可

qq_39476913的博客 783

保姆级教程:手把手教你下载和配置Waymo自动驾驶数据集(附百度网盘链接)

本文提供了一份详细的Waymo自动驾驶数据集下载和配置指南,特别针对国内研究者优化了数据获取方案,包括百度网盘链接和Google Cloud CLI配置。文章还涵盖了环境配置、数据处理实战、可视化分析以及进阶技巧,帮助开发者高效利用这一业界黄金标准数据集进行自动驾驶研究。

weixin_42651281的博客 364

启示——来自《DOOM启世录》

上周,博文视点的编辑们送了我一本《DOOM启世录》。周日下午坐在麦当劳里等人,就着午后的斜阳和粉红色的草莓奶昔读完了整本书(也没有等到要等的人),多少还是有一些感想,在这里罗列一下吧(按照原书页码的倒序排列): P314. “译者后记”中有这样一段话:“为了忠实于原著,本书正文没有对Quake3过多着墨……”我可是读完全书才看到这段话的。什么叫“忠实于原著”?这难道不是译者的天职吗?这个所谓的“译

继续发呆 3610

打通Creo与Matlab的桥梁:Simscape Multibody Link插件安装与配置全攻略

本文详细介绍了Simscape Multibody Link插件的安装与配置全流程,旨在帮助机械工程师和开发者打通Creo与Matlab/Simulink之间的桥梁,实现CAD模型到多体动力学仿真的高效转换。文章重点解析了版本兼容性、管理员权限、注册文件配置等关键步骤与常见故障排查方法,助力用户快速建立设计与仿真一体化工作流。

rrr55的博客 634
上一篇: 漫画丨上辈子作恶多端,这辈子早起上班
下一篇: 人类禁止进入的“微博”,我的AI机器人在那里吹牛,“勾搭”AI小姑娘
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值