It is currently Sun Aug 09, 2020 5:32 am

All times are UTC




Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 78 posts ]  Go to page 1, 2, 3, 4, 5, 6  Next
Author Message
PostPosted: Mon Dec 15, 2008 8:45 am 
Offline

Joined: Sat Mar 17, 2007 11:37 pm
Posts: 68
To preface this, I've been a big fan of all things Myst for a decade or so now, but I've never really had any sort of involvement in its community, not even in the context of MOUL. (When I look around here and UO, I see all sorts of acronyms and names flying about that I've never taken the time to learn. :P) I learned about the most recent development in this game's long and colorful history only an hour or two ago, and I'm not quite sure what to feel yet. I'm obviously very excited that Uru will get the chance to live on in some form, perhaps indefinitely, but I'm also somewhat apprehensive as to what the future will bring (not to mention a bit regretful that, at least as of right now, Cyan won't be holding the reins). I know that there's already been a lot of discussion about the ramifications of "open-source" and just what it means to Uru, so as someone heavily involved with a game community whose developer similarly released its source code to the fandom, I thought I could throw together a few (or more) of my thoughts and experiences, as well as lay out what I'd really love to see happen.

Let me lay out a bit of background first. I'm a huge fan of a series of space combat sims called FreeSpace, which were created by a developer called Volition. The original FreeSpace drew from many elements of past space sims (a sadly near-extinct genre) to create a very solid and coherent game, and its sequel FreeSpace 2 took everything good about the first game and cranked it up to 11. FS2 received rave reviews from gaming sites and is widely considered the finest title of its genre; it's even managed to make several "best games of all time" lists. Sadly, due to some rather incompetent marketing on the part of its publisher (sound familiar?), FS2 was something of a sales flop. A few years after its release, Volition gave its fandom the extraordinary gift of its entire source code. For those of you who may be unfamiliar with the concept, "source code" generally means the underlying code that drives a particular program; it's the fundamental heart and soul of any program that you use. In the case of a game, it's literally the engine that powers the game's audiovisual content.

So anyway, Volition released the source code to its fans wholesale, to play with and modify as they wished, much like it seems that Cyan will in the (hopefully) near future. I wasn't part of the community at the time, but the fans were understandably somewhat overwhelmed, much as most of us are right now. A few of the more technically-minded members started diving into the reams of C code, trying to determine how everything worked. After a short time, people started releasing slight modifications to the codebase, either adding small features or fixing a few of the small bugs that had existed in the game up until that point. If things had continued down that road, it's rather possible that it might have become one big mess of code forks ("splits" of different modifications to the original code) and conflicting versions.

But soon after the release, one member of the community suggested that there should be some sort of structure to these improvement efforts, so as not to have a thousand incompatible versions of the game flying around. And after some discussion and agreement amongst the community, so was born...the Source Code Project. The coders of the community pooled their resources and started to coordinate their efforts into one central codebase, so that any improvements and bugfixes could all wind up in the same place. While each coder might have his own personal code projects to work on, it was with the general intent that they would eventually be committed to the central source. The project set up a central bug-tracking system, so as to get input from the community on what needed fixing. Over the years, the project's members added a staggering number of technical advances to the game's engine, adding all sorts of new features and modernizing the game's capabilities. A related project sprang up to update the retail game's content (such as models and textures), taking advantage of the new features that the coders provided. The project's still going strong to this day, and the difference between its current iteration and the original retail game is like night and day.

So what does all of this have to do with the new situation this community finds itself in? Well, I think it serves as somewhat of a possible lesson as to how an open-source game movement can work well, provided it starts off on the right foot. I've seen a lot of people around here talk about having all sorts of different versions of the game, complete with all sorts of wacky modifications and individual servers to host them, and I get these visions of a horribly-fragmented base of players, with only a few people populating each individual server. That's not really what I want at all, and I'm sure most people around here don't want to see that either. (Just for starters, I don't think this community is large enough to support a model like that.) What I'd like to personally see is the same sort of setup that's worked so well for FS2: a central code project that would provide a single stable release of the game, one that everyone could run with assurances of this working. I'd like to couple this with the sort of server model that Chogon mentioned: multiple machines hosting one big "official" instance of Uru, much as we saw in MOUL, the sort of place where the spirit of Uru could live and thrive.

Now before you think I'm against any and all sorts of more esoteric modifications to the game's code, I'm not at all. To return to the FreeSpace example, there are several groups that have sprung up within the community to create total conversions of the original game based on various outside universes. (These include the new Battlestar Galactica series, Star Wars, and Wing Commander.) Some of these total conversions use a slightly separate release of the codebase, with a few special features added in for their particular mod, and they've managed to achieve some really amazing gameplay mechanics. But as it turns out, just about all of those new features have wound up back in the main codebase, for use by anyone else who'd like to try doing something similar. To get back to Uru, I'd be all for anyone who wants hosting their own server with whatever features they so desire activated on it, as I'm sure they'd be a whole lot of fun. But it would be with the understanding that there would always be that one central location based on that one central codebase, where all members of the community could gather to continue Uru much as it was (albeit with an improved codebase and all sorts of fun new features). It would allow for all the code forks and AdminKI-like servers in the world to flourish around it, but it would always remain the central pillar of the community, a place where we could direct new members to and could all gather ourselves.

The bottom line? Cyan's just presented us with a wonderful opportunity, and if we handle it right, we could produce something truly unique and spectacular in the gaming universe. But that power should come with the responsibility to avoid fracturing the community to the point that what made Uru great to begin with is lost to us.

(I'm sure this thread will most likely get lost in the mob of new posts around here at the moment, but if even one person gets something out of it, I guess it was worth it. I'm just wondering if anyone will feel like reading the whole thing. :P)

_________________
Prepare for Descent...


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Dec 15, 2008 9:38 am 
Offline
Obduction Backer

Joined: Thu May 25, 2006 12:55 pm
Posts: 9852
Location: Luton, UK
Quote:
I've seen a lot of people around here talk about having all sorts of different versions of the game, complete with all sorts of wacky modifications and individual servers to host them, and I get these visions of a horribly-fragmented base of players, with only a few people populating each individual server.
I'm sure we'll get that to start with. We also have a more cohesive version in the pipeline with the guilds working together. I'm also sure that we'll see Darwinism at work - the number of versions we start with won't be the same as the number we end up with a year or so later.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Dec 15, 2008 4:04 pm 
Offline

Joined: Fri Aug 04, 2006 5:08 am
Posts: 1991
Location: Greenville, SC
Keeping it object-oriented should fix that. As long as you stick to the protocol and age file structures that already are in Cyan's code it shouldn't matter if you want an Uru client that runs on a Commodore 64. It would still be able to interoperate. :)

Think of it like the HTTP protocol and GIF/JPEG standards. Web browsers and servers are definitely not the same code, but they all work together reasonably well. ;)

_________________
Can you withstand the gaze of the Eye of Eternity?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Dec 15, 2008 7:17 pm 
Offline
Site Admin

Joined: Wed Aug 02, 2006 7:13 pm
Posts: 1071
Thanks Top Gun!

This has also been on our minds very much also. We don't want to just dump the source out there. But have a growing and moving source code set with a main branch that is golden and sub branches for experiments or specialties. This needs good organization and lots of good help. One of the open source repositories that interest me is LaunchPad because it has strong collaborative services with teams with varying degrees of responsibilities. I would be curious to what you thought.


Thanks,
Chogon


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Dec 15, 2008 7:37 pm 
Offline
Obduction Backer

Joined: Wed Dec 20, 2006 4:19 pm
Posts: 1161
Quote:
This has also been on our minds very much also. We don't want to just dump the source out there. But have a growing and moving source code set with a main branch that is golden and sub branches for experiments or specialties.

Yeap, i was thinking along that line too. One svn for the tested - sure won't crash the server stuff, and other for dev/ testing.
Then we can also split the main base code (i mean ki, 3D engine and all that), from the ages and other stuff.

And an other thing bumped into my mind, how do we prevent the server for going Kboom when everyone will want to download the code the fist time ? I though bittorrent, but that won't do for that i guess.

_________________
MOUL ki : Ewilan : #07497427
MOULagain ki : Will tell if i manage to get in someday.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Dec 15, 2008 7:39 pm 
Offline
Obduction Backer

Joined: Mon May 15, 2006 2:02 pm
Posts: 819
Location: Switzerland
Thumbs up for Launchpad. Their bug tracker seems to be one of the more capable ones, and I happen to like Bazaar. (These two are the only components of their service that I have used, sporadically.)

I wrote this in the Benevolent Dictator thread, but now I see that it would have better fit here:
I wrote:
Who will have write access to the source repository? Who will decide who gets write access? The natural candidate would be Cyan, but they don't have the capacity. I guess the best solution would be to use a decentralized version control system, and give only Cyan write access to the "trunk" (although they wouldn't use it except for the initial release). All development would happen in branches managed by individuals and groups from the community. Hopefully, in a similar way as for the shards, one or a few of them, perhaps maintained by the guilds, will emerge as the "main" ones.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Dec 15, 2008 7:40 pm 
Offline

Joined: Sun Sep 03, 2006 4:34 am
Posts: 378
Chogon wrote:
Thanks Top Gun!

This has also been on our minds very much also. We don't want to just dump the source out there. But have a growing and moving source code set with a main branch that is golden and sub branches for experiments or specialties. This needs good organization and lots of good help. One of the open source repositories that interest me is LaunchPad because it has strong collaborative services with teams with varying degrees of responsibilities. I would be curious to what you thought.


Thanks,
Chogon


I think that looks awesome. I really support Chogon's server theory; a huge part of URU was the unity between players, the united server that seems to have been taken for-granted. If we have a large collection of servers working together, that could solve many of the issues we faced in URU Live. And if all of our coders (or the majority, anyway) were working together using Launchpad, we could resolve bugs and implement (Gasp! :o ) New Features! I've always been one for giving people tools to create, and I think that if we collaborate intelligently, let the guilds do their part, and stay united; we can not only keep URU alive, but create a better game for MORE people to play!

Whaddia say, people?

_________________
KI#: 00944919
Herohtar wrote:
the message in the Episode 6 release notes [sic]...[sic] finally makes sense -- the DRC shipped them off to Halo 3 to "prevent the safety" of players there! :shock:


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Dec 15, 2008 7:58 pm 
Offline

Joined: Tue Feb 05, 2008 6:11 pm
Posts: 1972
Location: Land of Confusion
Sounds good to me Trav. as a community we can make it work, everybody has some tallent that will be usfull at some level

:- )

_________________
When You have eliminated all other possibilities What ever is left must be the solution

E=mc2
Energy = Milk x Coffee Squared


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Dec 15, 2008 8:11 pm 
Offline
Obduction Backer

Joined: Wed Dec 20, 2006 4:19 pm
Posts: 1161
Bazaar, funny name :lol: (it have the meaning "mess" in french.

Yeah, we sure need a way to be able to join branches easily. Then, is the question of access. a badly intentioned person can do lots of damage.

_________________
MOUL ki : Ewilan : #07497427
MOULagain ki : Will tell if i manage to get in someday.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Dec 15, 2008 8:23 pm 
Offline

Joined: Tue Feb 05, 2008 6:11 pm
Posts: 1972
Location: Land of Confusion
EowynCarter wrote:
Bazaar, funny name :lol: (it have the meaning "mess" in french.

Yeah, we sure need a way to be able to join branches easily. Then, is the question of access. a badly intentioned person can do lots of damage.


Thats where the Community comes into play when a badly intentioned person who can do a lot of damage is identified they can be dealt with appropriately depending on the damage intended and what the community decides should be done.

_________________
When You have eliminated all other possibilities What ever is left must be the solution

E=mc2
Energy = Milk x Coffee Squared


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Dec 15, 2008 8:25 pm 
Offline

Joined: Tue May 23, 2006 7:24 pm
Posts: 3131
Location: Tomahna
I'd neve heard of LaunchPad before but that sounds like an interesting service - and an interesting plan. I thinkt that the way Cyan will go about this will ensure Uru's intellectual property and keep just enough of it for it to be able to be picked up (if possible) in the future by another company that would want to invest. Hopefully that'll silence some of the naysayers that say 'if this happens, Uru is dead'. ;)

TG

_________________
"The Ending has not yet been written" - Yeesha in Tomahna!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Dec 15, 2008 8:27 pm 
Offline

Joined: Sat Mar 17, 2007 11:37 pm
Posts: 68
Chogon wrote:
Thanks Top Gun!

This has also been on our minds very much also. We don't want to just dump the source out there. But have a growing and moving source code set with a main branch that is golden and sub branches for experiments or specialties. This needs good organization and lots of good help. One of the open source repositories that interest me is LaunchPad because it has strong collaborative services with teams with varying degrees of responsibilities. I would be curious to what you thought.


Thanks,
Chogon

Wow, thanks for the reply. :) I'm not directly involved on the project I mentioned, but I do follow along with it closely; they currently use SVN (and formerly CVS) for version coordination, along with Mantis for bugtracking. There's one stable code branch for official releases, along with a more experimental branch for new features (which wind up getting folded into the main branch once they're complete and stable). This LaunchPad service certainly looks like an excellent resource that would allow the community to implement something similar. While I'm all for letting any segment of the community create their own code fork to play around with, I think having a single central stable code branch would definitely be most beneficial

As far as servers go, I am glad to hear that the Guilds would like to set up some sort of quasi-official central instance to carry on the general Uru story feel. I first started joined MOUL as a way to come together with other people inside the D'ni universe, and that's really what I want the most to be maintained as this concept moves forward.

_________________
Prepare for Descent...


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Dec 15, 2008 10:01 pm 
Offline

Joined: Mon Dec 15, 2008 7:05 pm
Posts: 9
I think first the communication channels should be arranged. E.g. having a dedicated subforum for development or a mailinglist and maybe IRC channels to organize the interested developer before the first code is released. Maybe this can be accomplished with Launchpad (I have never used Launchpad).


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Dec 15, 2008 10:38 pm 
Offline

Joined: Sat Nov 04, 2006 5:53 pm
Posts: 453
Location: Plasma Miasma (still… and I'm feeling nauseous)
Launchpad is a good option. There are several other places, such as Kenai and BitBucket, which are Mercurial-centric but have functionality similar to what Launchpad provides. (I personally find Launchpad confusing to use; I prefer a combination of hgweb + trac.)

In any case, for Uru a distributed VCS would be a much better choice than a centralised one such as Subversion. A DVCS makes forking easier, but more importantly, it makes merging much easier. With Subversion, branching and merging is nothing but pain, which is going to be a serious drawback. A DVCS would also pretty much eliminate the need for people getting commit bits.

As long as people stay away from git, we're fine.

If you're looking for a place to host an IRC channel, chat.mystlore.com is a good place (join #cyanchat when you're there).


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Dec 15, 2008 10:49 pm 
Offline

Joined: Mon Dec 15, 2008 7:05 pm
Posts: 9
ddfreyne wrote:
In any case, for Uru a distributed VCS would be a much better choice than a centralised one such as Subversion. A DVCS makes forking easier, but more importantly, it makes merging much easier. With Subversion, branching and merging is nothing but pain, which is going to be a serious drawback. A DVCS would also pretty much eliminate the need for people getting commit bits.

Full ACK
Quote:
As long as people stay away from git, we're fine.

I have never used git, but I people told me it's lightning fast and pain to use.

Quote:
If you're looking for a place to host an IRC channel, chat.mystlore.com is a good place (join #cyanchat when you're there).

This is a completely new community for me. ;) Very interesting :)


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 78 posts ]  Go to page 1, 2, 3, 4, 5, 6  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
cron