Expanding on what I said before --
From what I read here, you can't turn every code change into a mod that can be installed separately. I don't even know if you can do that with any code change to the Cyan client and server code! Many (all?) code changes have to be bundled into a release. Also some code changes will break other code changes and then the developers have to to decide what to do. This doesn't mean that personal choice goes away. What this means is that some code changes won't make it into a release on the Cyan system. When that happens, some developers may elect to make a fork in the code road (I know, bad analogy), and develop a separate version of Uru, one they will run in a different server/shard. One can want whatever one wants, but I don't see any way around it. What this means to me is that, if enough people care about a change that didn't make it, and you have group of fans that are willing, we get a fork in the road, separate client and sever versions, and different shards running different versions of the code. I think that's ok.
Let's talk about having several different versions of the client on the same server. Most of the online games I'm familiar with don't let you do that. If you don't have the right version of the client, you either get an automatic upgrade or you have to do it yourself. This is done for practical reasons, so everything works as anticipated, so nothing breaks. And we are just talking about different versions of the client. You can't run different versions of the server(s) as far as I know!
So -- I would say that, due to technical reasons, every code change won't get into a release. It doesn't mean that players won't have choices, but it seems to me that they won't have choices on everything. If people feel strongly about something not getting into a release, that's where you get the fork and fans running their own servers, their own versions of Uru.
---------------------
Those are technical considerations. Let's consider design considerations.
-- I'd like to be able to fly in Uru. I can't remember how it was done (think it was done!) on some of the UU shards -- don't remember if it was actual flying or the physics changing so it was really high jumping! Anyway, this is a design change that affects everyone in the public ages. What I want will affect every other players experience. Even if I don't fly I'd see other people flying around.
Personally I like flying in a game, very much. But -- you could also say it doesn't seem in tune with Uru. In this scenario I can see separate servers/shards. One one server (possibly the Cyan one) -- no flying. On other fan run servers, you can fly. I'm not talking about the technical implementation (don't know how it's done) but on design considerations. If what you do changes everyone's experience in the game, in a fundamental way, then you have to decide if you want to implement it. That's where the "more than one server/shard" thing starts to look good.
-- Camera views. Uru likes to keep control of the camera. I can't swing it around to look at what I want, including looking at how I appear in the game -- it's really hard to get a good screenshot of my avatar, in game. I'd like that changed. I'd like to have more control of the camera view, like I've experienced in other games. This is a change that affects individual players; if I change my camera view it doesn't affect how other people view the game. So, from a design consideration, maybe it's something we could implement in Uru, and make it optional. You can change your camera view, or not. But --- that's from my player perspective, not from a technical perspective. I don't know if that's possible, technically - if you can make it so some players can change their camera view, but all players don't have to. If you can, maybe that's a design change that we could implement on the Cyan run version of Uru. If we can't and if some players want to keep the old camera views, then that's another fork in the road, and we might have a server/shard running where players can switch their camera views around.
----------------
Who gets to decide?
This depends on the roles, on what we are asked to do, also Cyan telling us how much they can do. From a technical perspective, does Cyan want a working client and server submitted to them, of a bunch of changes that may or may not work, may be incompatible with each other. Does Cyan want do to their own integration testing, their own regression testing? Do they want to run test versions of the game, have players submit bug reports, have the fan developers fix the bugs and push their change back to Cyan for integration and further testing?
If Cyan wants more work done on the fan side, technically, then some fans, or groups of fans, are going to have to have decision making roles. I can't see anyway around this.
From a design perspective -- that's interesting. For a change that affects everyone, someone has to decide if it can go on the Cyan run version of Uru. Do you want every design change going to Cyan (fly mode, 7 different versions of the KI, for example). What if, for example, Cyan says -- I only want to review two different versions of the KI, not 17 different versions. Who gets to pick those versions?
_________________ mszv, amarez in Uru, other online games, never use mszv anymore, would like to change it Blog - http://www.amarez.com, Twitter - http://www.twitter.com/amareze
|