winston wrote:If all you want to do is tinker with the economy - no netcode is needed. It'd be easy enough to save the state of the economy and perhaps put some kind of simulation into effect.
Stateful behaviour across the galaxy which responds to and involves all players needs a server.
winston wrote:I'm guessing why you'd want to do it is because the mass of player preferences would affect the economy in some small way, however, if the only player interaction is the effect on the economy, it would be utterly indistinguishable from a simulation anyway
Yes and no.
Yes, in that numerically, the two would be indistinguishable.
But no in a far more important way; players will KNOW that other players are operating in their game universe. Transient events, such as say a massive mineral shortage in a particular system, will be experience by all players at the same time in the same way. Players can co-operate to respond; for example, if there is a massive need for minerals in an anarchy, players with large freighters can carry mass loads up to the nearest safe system, and players with small, hardened fighters can carry small loads into the system itself.
Having a shared environment opens up fundamentally new behaviours.
winston wrote: - and would add the requirement of a network connection to use (which a local simulation wouldn't have).
Everyone in this debate has a network connection.
Those who do not will not have the option of using the "economy server OXP" and will receive default, single-player behaviour.
winston wrote:If the root reason for writing an economy server is just a stepping stone to more MMORPG like features, then this is why you'd want to use Objective C - because when you come to want to add things like Oolite scripting to the server, you can just borrow already extant code and keep the simple AI and script parser rather than having to reinvent it.
Good point.
What features are there in the existing code base which would be useful to a server?
I'm not sure scripting is that useful for a server; the server must offer the same functionality to all users. It's not like the Oolite client, which is customized by each player.