Page 4 of 11
Posted: Wed Mar 07, 2007 2:40 pm
by Callas
Ahruman wrote:For the record: I for one have no intention to contribute towards Oolite becoming online-only. I also have no interest at this time in working on network code, but working submissions will be gratefully accepted.
How do you feel about separating out aspects of the game - economics, Thargoids, messaging, etc - into servers and players opting in to the aspects they wish to have in the game. Including no aspects leaves Oolite as it is now.
This would essentially make servers into OXPs.
Posted: Wed Mar 07, 2007 2:48 pm
by Callas
Ahruman wrote:By the way, an economic sim as proposed would have to conform to established Oolite design policy to be accepted into the mainline.
Where can I learn the design policy?
Ahruman wrote:In particular, this means that the effects of inidividual players on the economy would have to be very small (currently zero),p
What does "small" mean, in terms of a galatic economy? do you mean quantatively or qualatively? player crafting would be small quantatively, but would be a qualative change.
Given the magnitude of the economies, player trading is negligable.
I note though that given the magnitude of economics, there are far fewer ships in space than there would be.
Ahruman wrote:and the effects of much larger non-player interests would have to be much larger (currently simulated by random fluctuations). This would still require a lot of work to integrate into the game.
Given this, I suggest not using economics as a starting point.
What do you have in mind, for it to be a lot of work? do you mean in the client or in the server, or both?
Posted: Wed Mar 07, 2007 3:33 pm
by Killer Wolf
[Message deleted as per above -- Ahruman]
Re: MMORPG
Posted: Wed Mar 07, 2007 3:33 pm
by winston
Callas wrote:
The obvious has just descended upon me like a 16 ton weight.
The server doesn't have to be written in the same language as the client.
In fact, it is less probable than probable that the two very different tasks are best written in the same language.
The thing is if you wrote an Oolite server in $OTHER_LANGUAGE, you'd have to completely re-invent the OXP parsing, AI etc. which depends on language features of Objective-C. I'd argue that it would be a monumental waste of time to use a language other than Obj-C for an Oolite server.
Posted: Wed Mar 07, 2007 3:37 pm
by winston
Commander McLane wrote:I
- First of all that would mean kicking me (and everybody else with a not-state-of-the-art internet connection) off this game.
No, it wouldn't mean that at all! The single player game wouldn't suddenly vanish or evaporate just because a multi player version came into existence. Users of the single player game would see no change. You won't suddenly find Oolite has deleted itself off your hard disk because a multi player game was written. It's actually *impossible* to kick you off the game.
This is part of the beauty of Free software (note the capital F in Free, I don't mean free as in $0 here, but Free as in freedom). The single player game won't ever be withdrawn at a whim, like it might do if it was non-Free software. The single player game won't "wear out" and break like a physical item. A multiplayer Oolite and a single player Oolite can exist at the same time; the two are not mutually exclusive. Therefore, the addition of a multiplayer game would be expanding Oolite, not shrinking it in some other area.
Having said that, the MMORPG thing has been discussed several times. It is still impractical for all the reasons that have already been stated.
Re: MMORPG
Posted: Wed Mar 07, 2007 3:44 pm
by Callas
winston wrote:Callas wrote:
The obvious has just descended upon me like a 16 ton weight.
The server doesn't have to be written in the same language as the client.
In fact, it is less probable than probable that the two very different tasks are best written in the same language.
The thing is if you wrote an Oolite server in $OTHER_LANGUAGE, you'd have to completely re-invent the OXP parsing, AI etc. which depends on language features of Objective-C. I'd argue that it would be a monumental waste of time to use a language other than Obj-C for an Oolite server.
Why would you need to reinvent all these things for say an economy server?
Posted: Wed Mar 07, 2007 3:48 pm
by TGHC
winston wrote:Having said that, the MMORPG thing has been discussed several times. It is still impractical for all the reasons that have already been stated.
I agree cos Dylan knows these things!
How about a poll to see if anyone other than Callas is obsessed about MMORPG Oolite or if their ought to be a separate MMPORG forum for Oolite.
Posted: Wed Mar 07, 2007 3:49 pm
by Callas
TGHC wrote:How about a poll to see if anyone other than Callas is obsessed about MMORPG Oolite or if their ought to be a separate MMPORG forum for Oolite.
Obsessed?
Posted: Wed Mar 07, 2007 3:53 pm
by JensAyton
Callas wrote:Where can I learn the design policy?
It’s not formalised, but the issue of player impact on the economy has been discussed several times.
Callas wrote:Given the magnitude of the economies, player trading is negligable.
Yes.
Callas wrote:I note though that given the magnitude of economics, there are far fewer ships in space than there would be.
Yes.
Callas wrote:What do you have in mind, for it to be a lot of work? do you mean in the client or in the server, or both?
In the client. Currently, the economies of various planets are not persistent, except in the limited sense that the availability of items at a station are affected by your trading for as long as you stay in the system.
Posted: Wed Mar 07, 2007 3:58 pm
by TGHC
Ok could be a bit strong, but there is a thread you started called "In game economy server", that you started and replied to your own posts 4 times in succession before someone pointed out you were talking to yourself!
And you responded to my post above in 1 minute.
Anyways as I previously said why not get on and do it, I haven't seen any dissenters, more like doubters if it is practical, go for it and prove everyone wrong.
Posted: Wed Mar 07, 2007 4:03 pm
by Callas
Ahruman wrote:Callas wrote:Where can I learn the design policy?
It’s not formalised, but the issue of player impact on the economy has been discussed several times.
I'll search the forum archives. Any links for me?
Ahruman wrote:Callas wrote:What do you have in mind, for it to be a lot of work? do you mean in the client or in the server, or both?
In the client. Currently, the economies of various planets are not persistent, except in the limited sense that the availability of items at a station are affected by your trading for as long as you stay in the system.
I'm unfamiliar with the client code, so I may well be wrong, but I would have thought that replacing the economics code would be rather simple. The economy in Oolite is very simple, which means the code should be simple and small. I'm guessing that when a player enters a system, the quantity and price of commodities is decided - which should be a single function call. Replace that function call with a call to the server, if the player has decided to use server data rather than the in-game engine.
At this point, changes begin to depend on how much the economy changes. In the simplest form, the data the server returns is the same as that which currently exists, although the values will be calculated differently.
I'd like to see a more sophisticated economy, though. Right now, IMO, the utter predictability and simplicity of the economy detracts from the game. It's a cardboard-cutout economy. There's no point in trading most of the commodities.
Posted: Wed Mar 07, 2007 4:05 pm
by Callas
TGHC wrote:Ok could be a bit strong, but there is a thread you started called "In game economy server", that you started and replied to your own posts 4 times in succession before someone pointed out you were talking to yourself!
And you responded to my post above in 1 minute.
Well, clearly, absolute proof!
TGHC wrote:Anyways as I previously said why not get on and do it, I haven't seen any dissenters, more like doubters if it is practical, go for it and prove everyone wrong.
The problem with that is that you can end up investing a great deal of effort into a project which then absolutely no one uses. It is prudent, to say the least, to find out what people want and need and so make sure you invest your time in something which will be used.
Posted: Wed Mar 07, 2007 4:33 pm
by winston
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.
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 - and would add the requirement of a network connection to use (which a local simulation wouldn't have). So if the effort is merely to improve the economy model, then a simulation would be better/faster/cheaper and open to all users, not just the ones on a persistent net connection.
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.
Posted: Wed Mar 07, 2007 4:47 pm
by Callas
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.
Posted: Wed Mar 07, 2007 4:57 pm
by winston
In the context of a server that does a bit more than just the economy - the scripting and AI functions would be useful for the server so that:
- new missions can be scripted for server side use, and thus be available to all online players (and one player playing a particular mission could have knock on effects on other missions, which would be seen by all).
- in the context of a complete online game, NPCs could be generated and run by the AI code.
- ad infinitum.
Retaining or extending the existing missions would mean current contributors (who are not necessarily programmers) can continue to contribute missions to the multi player version, too. Just look at Second Life and how popular scripting is there.