HTTP API to retrieve market/job state, maybe more?

This topic was started on discord and was recommended to be moved to the forum for longer-form and broader discussion. (

The core of the idea is to have some sort of game state available to the wider internet via an API so community members can build IRL web tools to surface public-by-nature information like market conditions, population size, etc.

The implications of that are that whatever information is exposed in this manner can be available to third party tools so that the Untold Dawn dev core can focus on building the game without needing to maintain more than the web interface for the data, leaving building a UI and/or historical tracking of the game data to community members.

To follow the market conditions example, maybe it might look something like this - Splintercards | A complete compendium to Splinterlands, a digital trading card game built on blockchain technology - an example card stats page from a third party site of a crypto trading card game.

There are many other potential use cases besides market conditions, to take the idea even further - one could imagine an API which not only read and broadcasted game state to the internet, but also received state updates from the internet which induced game state changes.

To take a simple example, imagine an in-game item which emitted an “on” blip whenever the API received a “blip” endpoint request. The in-game item could give a short API key which the service could use to induce the in-game blip. It’d have to be powered in-game too presumably. Then you just need a modular system around it that can do things when connected “on” blips are detected, like open a door or dispense an item.

This brings up obvious concerns around immersion and OOC, however UD’s universe is a hypothetical future universe, so the general technology of the internet and API calls and Internet-of-Things hardware paradigms would be old news and viably IC mechanisms… One would need to obfuscate the specifics of course since we can’t literally fully merge UD’s internet(s) with today IRL’s internet for RP reasons, but signals coming from “somewhere that i programmed” seems reasonably appropriate without much of a backflip.

There was some concern about how it might be giving more technical players an advantage, but certainly there will likely be many aspects of the game which give technical users an advantage - any sufficiently complex task/game/etc falls into this category and UD certainly sounds like it isn’t going for maximizing how rudimentary the systems are.

Lastly, there’s the decision about whether it should be an open api, require specific permission for specific bits of data/actions, have rules around being open source - personally I’m of the “make it free and they will come” mindset, and would personally lean towards not attempting to regulate usage of the API beyond rate limits, etc, as it could be very time consuming and induce friction to the building process to need to control what everyone is connecting to and why. I would expect most folks would want to make their tools open source and collaborate without needing to try to regulate them to, but perhaps others see it differently?

I expect inducing changes to game state to be more controversial, but it sure would be neat so figured I’d float that extension of the idea by as well - but really the baby-steps initial idea is to expose data in the UD → IRL direction.

Please do voice your opinion, for or against, and in what forms, and why!

My biggest point against this is that I don’t think it’s fair for someone to amass personal wealth by pulling API data 50 times a day and jumping on trades that make sense at the time. If you’re gonna play the game, then be active in the game. That said, I have less of an issue with stats that can’t be utilized to gain an advantage, such as:

  • Number of players connected
  • Peak number of players connected
  • Date that last peak was reached
  • Population size of colony

I don’t think that tools should be restricted to free and open source. Either provide the API or don’t. It’s likely that an open source or free to use site would emerge regardless if this rule was put in place or not.

Hm is it really a more desirable experience for the player in question to sit around checking the market in-game all day every day though? My thought is that this kind of thing would draw a parallel to their IC character getting a notification about an item they’re looking for being available, they’d still have to log in and physically conduct the trade - it’d just be a quality of life improvement about what kind of IRL burden it would be to stay up to date with things… and of course it’s conceivable that someone could set up a utility that non-programmers could utilize to get alerts about items, so it’s not necessarily only a benefit to programmers.

I’m against up-to-date IC information being available outside of the game that pertains to systems people interact with due to the fact that it limits the amount of interaction someone has to do with the world.

A core component of building a roleplaying environment is to have mechanics that encourage interaction. If someone is able to, for example, check the stock market without having to go to a place, that limits the amount of interaction that can come from that system.

Me having to log in, walk to some board and read up on MoneyIncorporated being up twelve percent because someone found a vein of money somewhere on Mars gives me a higher chance of running into someone and getting some organic interaction.

1 Like

Considering the ‘I’ part of this RPI game, I’m not supportive of enabling participation in the game OUTSIDE of being logged in to it. Not only does it limit interaction but it also lowers the player count online which can have a heavy knock on affect, if I know I don’t need to log in to check something (markets, my mail, whatever) and can just await a ping elsewhere.

Personally I would prefer name/number of players online at any precise moment also not be visible outside being logged in either, I’m actively against anything which discourages log in to find out. Last peak time, active colony member etc are however great to be shown outside of log in.

I too prefer people to be logged on to abus… interact with them.

But one thing kids have failed to adapt to is the busy state of the players. Some mixers have multiple crotch goblins running around, a wife or husband and struggle to carve out time sitting in front of the computer on a mud client.

I can’t tell you how many times cool ass plots have died because I just couldn’t find the right timing to find x player to advance it.

So I think there needs to be a mix for any mud to flourish in this day and age.

Soi had a great system of mudmail where in the games login menu you could mudmail Jarod and it would trigger and email to me to log in and check my mudmail. I was able to coordinate playtimes with ease and not give away that ooc separation because nobody knew who I as outside my ig character name.

Thank you for the nuanced perspective Jarod. As you underlined, it’s important to remember that players are not bugs trapped in a jar for the game mechanics to do with as they please - players come and go, and in an absence of robust quality of life features which leave them forced to choose between nolifing the game or getting left behind, many folks will abandon the game entirely.

If we want to talk about optimizing for engagement though - we can look to the dark patterns of F2P games which are built from the ground up to manipulate people into playing as much as possible. A super consistent thing about these games is they want to integrate with everything and notify you whenever anything happens, because that gives you a reason to come back and play the game - things are happening. If it was true that integrations and notifications kept folks away from the game then surely these types of end-of-the-spectrum addiction-oriented games wouldn’t touch those mechanics.

Not to say UD should follow the lead of parasitic gambling-oriented gacha games, but they are a good subject of case study for what does and doesn’t work for engagement. Hermetically sealing the game and cutting it off from IRL as much as possible is not the way to keep players engaged, IMO.

If we’re talking about immersion and RP that’s another story, the arguments are murkier there - but IMO it’s a very uphill climb to try to argue that keeping everything in game is good for keeping people active within the game due to the ample prior art suggesting otherwise.

Yeah, @EliteJarod, I agree with you. It is important to provide the necessary tooling both in-character and even out of it to be able to find roleplay. Thankfully, we are on a modern setting, so I think having stuff like mailing and the like should be quite within the realm of things.

@digilog: I agree with you. Games need robust quality of life ffeatures and no game should make you feel like you need to clock in eight hours or even any hours per day, you should be able to take breaks without problem.

I have no interest to manipulate my players into playing the game; I want them to play if they enjoy it.

So I think stuff like subscribing to an email newspaper or even having a way to check stuff on the website is fine. What I am against is any tooling that gives only the technically savvy an advantage over those who do not know how to leverage an HTTP API!

What if it was an open source tool which connected to an API, but only you had the key and you hosted it? That way other folks could contribute features and ui tweaks and such but it wouldn’t give anyone the ability to privately build and exclude others.

Begs the question about whether maintaining a general API or just building the site yourself ends up being less work, but just spitballing.

I think at that point the question is how many people genuinely would be willing to use that API to do pull requests and workshop with me features for that niche side off things, and if the kickback on the development time to enable that would be worth it.

Building the features myself (such as emailing summaries or what ever) is to me simpler because if there is a demand and aligns with the vision, I will do it!

I do not want people to be able to play the entirety of the game OOC, but I also do not want people to spend the entirety of their OOC time in my game, to unhealthy amounts, or to feel like taking a break is bad.

So if we need email notifications for certain things or to have a page on the website that shows you the latest happenings around the planet that your character would know about, I’m happy to do it.

I think maybe it’s one of those things that we can see their need as we start to allow playtesters and potentially head into a pre-alpha?