Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
SpaceTraders: A multiplayer game built on a free web API (spacetraders.io)
273 points by akpa1 on May 7, 2023 | hide | past | favorite | 56 comments


While this seems focused on trading, kinda like EVE (spreadsheet MMO), I think physical action is the real attraction of 3D graphics/audio:

So I made a very scalable MMO protocol: https://github.com/tinspin/fuse

It's event based so analog movement should be compressed, which means headshot FPS are not the target audience. But it works fine with action games that take scalability into concern.

I'm curious how hard people find it to adopt. I'm guessing I need to deliver a good and open game on top of it to see adoption.


I like your license. Hopefully this works out for you!


So far it does not.

I have not pushed it though because I'm making my own 3D engine to go with the backend: http://talk.binarytask.com/task?id=5959519327505901449

That said, I think it's the only way forward.

Both the tech and the license needs openness.

Unfortunately open-source means free forever, while "source available" got the backseat and allows money to be involved.

Not explicitly but indirectly through "you can just download and compile it yourself" for "free".

This is also an incentive to make build systems opaque, another trend I have noticed.

Eventually compiling something will take weeks and months to setup. XD


Yes, there is a logical error contained in "open core". The incentives are just not aligned properly, so stuff like opaque build systems does not really surprise me.


Your logo is on point


Backronym ftw.

Have been switching between system and standard for the S, standard is kinda pretentious as it needs adoption, but you gotta stay positive.


It's super cool. I would buy merch with that logo (stickers, a shirt, etc.)


I love this, it’s like the purest form of a game: just the rules and a way to access them. Large multiplayer games are already as much communities as they are games, so why not let the community build the UI they want?

Besides, we’re already trending toward turning everything into an API, either explicitly or (with AI) implicitly, so why not get a head start?


Not to be confused with Space Trader (the old Palm OS game) which can be played here:

https://archive.org/details/palm3_SpaceTrader


Also not to be confused with TradeWars 2002, the classic BBS game: http://www.tradewars.com/default.html


I both lost so many hours to this game and lost my love of gaming playing this haha

At a point it clicked that I was just sinking hours into a game loop that didn't benefit me in any real way... and that thought managed to carry over to all games from then on :(

Great game though if you don't have an existential crisis during it


Isn't that generally true for most forms of entertainment? Watching shows or movies, seeing sports played, etc is just a fun diversion for a bit.


Aye, to be honest it's probably a divergence to the norm due to adhd or depression or whatever miswiring is going on in my brain.

Action films and comedy still have enough dopamine in them to be worth a couple hours, but yeah generally it does indeed apply to all of those things


comparison of men focused tv shows vs. soap operas.

Not everything needs to benefit you


I'm so confused by this comment.

Could you expand on your thoughts a bit? What do you mean?


We used to host TradeWars on our BBS back in 1990-ish. Gosh those were fun days.

If anyone wants to revisit the days of olde - https://www.telnet.org/htm/places.htm


Not to be confused with Elite Dangerous 2 on the Amiga 1200 or PC.


Not to be confused with Pioneer Spacesim, the remake of Elite 2, a free online game

https://pioneerspacesim.net/


Not to be confused with Star Trader (1974).

https://en.wikipedia.org/wiki/Star_Trader


Edit: free game, locally run. It is not an online game


Thanks for sharing! I totally forgot about that game, despite playing it for hours.


Me too. Weird deja vu.


Neat little Elite, shame it has no arcade bits.


Wow this is so cool. Really stupid question but... is there a self-hosted single player we can just noodle around with?



That's not even remotely similar.


Try RESTwars: https://github.com/phxql/restwars

We used to play this together in the same LAN, it’s pretty similar to SpaceTraders.


Looks like there are plans to enable private worlds/servers at some point in the future.


for a 20 year old port of a 40 year old game (very roughly) there is Oolite


This looks really cool, but just imagining how I would start using this makes me feel that the API would very quickly become overloaded.


Just testing it out in the past hour and noticing a lot of "API offline" errors


Yeah I've tried all the web clients and this is the only one that seems to be somewhat working at all https://exo.nickhowell.com

I wonder if it's the API being completely overloaded or the clients being terrible.


Happy to see something I made showing up in the comments! I do still maintain Exo, but it doesn’t have all of the features I would have liked to build (like automation) built-in. Maybe someday, or for SpaceTraders v2. Cheers!


Yeah, that one is rock solid. But this shows one of the benefits of the API-based approach: I'm trying to set up auto-trading in this client (https://tradecommander.dotefekts.net) while the other one would be more useful for manual flights


> Yeah, that one is rock solid.

The best compliment to receive, thanks! (I’m the author)


That one is interesting, though it's extremely fragile. Constantly throwing unhandled exceptions, not updating ship status and failing commands, breaking automation.


It does have rate limiting


Something that isn't clear to me is whether game state changes on its own between requests. Would taking a few minutes to hand craft a command have different results than if a script generated the same command instantly based on the last response?


I had the same question about how to handle game time / game ticks. My guess is the game runs on a universal game time in some turn-based manner like Civ, but how that's handled really affects how the game is played. Couldn't find any documentation on that


I think this is handled by the travel time logic (or mining timeout). It just prevents any other actions on the entity while the timeout is in effect. When the timeout expires the entity is magically in the new location. If you need locations in between you interpolate based on time already traveled.


As a web dev / game dev, I do like the idea, but just playing devil's advocate:

Wouldn't players just mine ore via a cron job and forget about the game? It seems like a "make numbers go up" type of game without any immersion.


Sure they can, to a large extent "cron" is the way to play this game. But would a static move be the winning strategy? Try and find out ;)


If I leave it running long enough to out last all other players, yes.


The game does model supply and demand, though, so eventually the ore supply would become depleted and the markets will start offering lower prices for your mined material. So possibly not yes!


A good, existing example I'd like to show you is Screeps: https://screeps.com/

Personally, when I'm in the mindset of playing that game, I can't help but come back to my bot every 30 minutes to see if it's performing well. When I see that it's doing something strange, I take notes and can't stop thinking about possible solutions.

When I'm not in the mood to play (i.e. analyze the bot or program more functionality), it does indeed sit there, but to me, that's no different than any other multiplayer game. :)

I do think that it takes a certain kind of leaderboard-chasing person to stay glued to it, though.


People love "numbers go up" games. There's a fair amount of additional complexity, but the sell isn't immersion, it's optimization ("how do I make the number go up faster?").


Looks almost like the definition of a non player character. Just powered by other people’s machine.


This looks interesting, but the main question I have is how is this funded?


It’s supported by donations (via Patreon).


Cool, good to know.


I'd played so many games in this way in my younger days, and learned a ton in the process. Off the top of my head, I got my sisters banned from Neopets for doing this, and dominated my friends in that Google Maps Monopoly game. Also, ruined Star Wars Galaxies for myself to the point where I got bored and quit.

Anyways, interesting to have a game where EVERYONE is playing it via API / code. Not sure if it's as fun when it's allowed, but still a cool idea.


I was imagining a game where you gather and trade resources (abstracted from data) from public APIs across the internet. This is cool too.


Feels like a combination of Snow Crash and Accelerando:

scripts/bots/people get information and then upload it to a global database. If someone ends up using that information, you get credits for being the source.


For folks finding this, as of time of writing, most Clients out there are using V1 of the API, which is not compatible with the current V2.

Thats why you cant login to v1 clients with the v2 token you get from following the quickstart. Join the discord to see what people are cooking up for v2!


someone built my game!


rate-limit is cool eh, but you can run a whole bot empire behind a proxy list? seems not fair




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: