Page 1 of 2

Development & Secrecy

Posted: 16 May 2010 04:57
by Velicus
I have played Genesis for years and, like many of you, have become a tad attached to it. It puzzles me why because I find so many flaws with its design and maintenance. It is an itch I have never been able to scratch, despite multiple attempts at contributing from above the clouds. Each attempt has ended with impatience with the Genesis "wizarding" ("developing") approach. Perhaps it will help to apply some direct sunlight to the technical problems. (It's been some time since I sat up there, but I'm sure some wizards will correct me if any of this has changed.) Further, I wonder if there is a root problem, as I'll explain.

The first big problem wizarding is that there is only one Genesis. There are backups, but there is no place a wizard can go to try things that might explode the game. This means that any change that might explode the game cannot be attempted by a typical wizard, even if a success could mean a significant improvement for everyone. Any suggestion for a global change results in someone in authority describing an extreme catastrophe, such as the game becoming self-aware and infiltrating the network of a participle accelerator, interfering with an experiment and creating a black hole that sucks the whole of our planet into its swirling vortex. Why don't we have a second copy running for such experimentation?

Another major technical hurdle is that domains were set up as mechanisms of protection, not simply for organization and planning. Lets say I wanted to create a Stone Masonry craftsmanship guild in my domain, but wanted players to be able to use rocks, stones, and boulders in all corners of Genesis as part of their craft. You might have to go find all those chunks of stone in the code and modifying them a little to make them consistent with one another in the code. However, just finding them would require the ability to search through all the code in the game. That's not ability a wizard is just trusted with. You can forget about being able to change it all yourself too. You might screw something up and then how would go back to the old version? It's not easy.

For any of you that have done coding, you might stop and ask, "Wait, it's not easy to go back to the old version?" That's right, Genesis has not been using a revision control system. (There was one for the mudlib/driver, but it's down now.) Tracking changes, if done at all, is done by the individual wizards.

So what's holding anyone back from changing these? Well, here's where the politics come in. It seems to be all about secrecy. Creating a lot of freedom for wizards also gives them a lot of information and advantage. But given the way it holds us back, is it worth it? And with the lack of details around major decisions, such as the Vampires being closed, we are left to imagine the true reasoning. Perhaps we would we all be better off there were far fewer secrets and far more open discussions in Genesis?

Velicus

Re: Development & Secrecy

Posted: 16 May 2010 08:54
by petros
Genesis wasn't always so secretive and protective. There were times way back when all wizards has access to all code, stat abilities, etc. Problem was, there also ended up being plenty of abuses, with code being stolen and what not.

That being said, the Genesis of today is much more open than it has been in previous years. Wizards are encouraged to code in a "global" approach, meaning that if there is something that already exists in the game, it should be reused, rather than re-inventing the wheel. Much of the efforts over the last few years has centered around making domain specific code into generic global code that all can benefit from. If you need the ability to "search" code, there are plenty of helpful wizards with access to do that who can assist you. There are other ways too, but I won't go into them. I have even created distributions of Genesis standard library/mudlib for interested developers/wizards. They are available for Mac OS X, Cygwin (Windows), and Ubuntu Linux. Wizards who want to experiment are free to do so on their own development boxes and recreate the "Genesis" environment so they can fix and test new things.

The goal of this forum is to make things more open with the community. Wizards and players working together to discuss and talk about important decisions and changes in the game. I think this forum has already done much to make effective changes in the game through this open communication. I look forward to more of it in the coming years.

Re: Development & Secrecy

Posted: 16 May 2010 12:44
by Keltar
velicus wrote: For any of you that have done coding, you might stop and ask, "Wait, it's not easy to go back to the old version?" That's right, Genesis has not been using a revision control system. (There was one for the mudlib/driver, but it's down now.) Tracking changes, if done at all, is done by the individual wizards.

Velicus
Actually, anyone can still almost get the recent mudlib sources.
The host is wrong on the www, it still is genesis.tekno.chalmers.se.

And I write almost because I had some problems with the mudlib repository and I had to manually checkout most of the paths.
"Error: \doc\help\wizard\.svn\tmp\text-base\ed.svn-base': File not found"

The driver is there too, but I dont know if this is a recent version.
However, with a bit of tweaking, everything runs smoothly.

Re: Development & Secrecy

Posted: 16 May 2010 16:14
by Velicus
petros wrote:Genesis wasn't always so secretive and protective. There were times way back when all wizards has access to all code, stat abilities, etc. Problem was, there also ended up being plenty of abuses, with code being stolen and what not.
It has been as far as I can remember. And I recall one reason Exodus came around was because several wizards felt so restricted by the policies. If I recall correctly, they didn't have access to all the code.
petros wrote:That being said, the Genesis of today is much more open than it has been in previous years. Wizards are encouraged to code in a "global" approach, meaning that if there is something that already exists in the game, it should be reused, rather than re-inventing the wheel. Much of the efforts over the last few years has centered around making domain specific code into generic global code that all can benefit from.
This is a non-sequitur to me. Code reusability and code openness are related, but different. You are saying if Jimmy The Wizard creates a new area, these days he'll use the same type of tricks that have been employed already and that is a good thing. That is true. I am saying that if Jimmy The Wizard wants all crustaceans, pools of water, kobolds, and wooden sticks to meet the same standard so he can create a new Doglobster racial guild where members have furry tails and pincers, fetch sticks, and relax in shallow water, and interact with his relatives appropriately, it would not be simple. In an open coding environment, it would be a relatively straight-forward search and brief modification of a few elements. Changing every kobold in the game might take 10 minutes. How many months would it take a wizard who only has access to his own domain? Or am I exaggerating? Would it only be weeks?
petros wrote:I have even created distributions of Genesis standard library/mudlib for interested developers/wizards. They are available for Mac OS X, Cygwin (Windows), and Ubuntu Linux. Wizards who want to experiment are free to do so on their own development boxes and recreate the "Genesis" environment so they can fix and test new things.
Cool, where's the link? :D

Velicus

Re: Development & Secrecy

Posted: 16 May 2010 16:32
by petros
velicus wrote:I am saying that if Jimmy The Wizard wants all crustaceans, pools of water, kobolds, and wooden sticks to meet the same standard so he can create a new Doglobster racial guild where members have furry tails and pincers, fetch sticks, and relax in shallow water, and interact with his relatives appropriately, it would not be simple. In an open coding environment, it would be a relatively straight-forward search and brief modification of a few elements. Changing every kobold in the game might take 10 minutes. How many months would it take a wizard who only has access to his own domain? Or am I exaggerating? Would it only be weeks?
You're correct. In an open coding environment, everyone has access to all the code and this can happen. However, Genesis is not, and probably will not be an "open" environment where anyone can just download the source, take a look at it and make modifications like a piece of GPL source code. Jimmy the Wizard is probably not going to be responsible for changing every kobold in the game. There are roles and positions that are specific to making global changes like this. In an open source project, if you make a contribution but the main contributors to the project disagree with you, you're free to go make your own open source project and fork the development. This does not apply to Genesis. For better or worse, we need to work in the structure that's been established over the long history of Genesis. Evolutionary changes work well for Genesis - revolutionary ones don't. But does it mean it can't be done by Jimmy the Wizard? No. When I started out as a wizard, I contributed three things related to code which I had absolutely no access to. Quest orbs, newbie pin enhancements, and the Sparkle Library. Even though I wasn't granted access to the code didn't mean that I couldn't work with other wizards who had the access to get the info I needed and request the changes necessary to make these projects work. Plenty of wizards have done the same for years without needing full access.
velicus wrote:Cool, where's the link? :D

Velicus
Mail me in game and I'll be happy to share the link with you. They'll go up on the new web page that is being built soon otherwise.

Re: Development & Secrecy

Posted: 16 May 2010 22:01
by Velicus
petros wrote:However, Genesis is not, and probably will not be an "open" environment where anyone can just download the source, take a look at it and make modifications like a piece of GPL source code
That would be the extreme case of open. I am suggesting it should be more open than it is now. Why not put the sensitive, critical, or controversial code in a private folder (maybe named "TOPSECRET" for emphasis) and don't let wizards at it until they earn their double-0 status and license to kill? Everything else can be free for wizards (not just anyone) to peruse and modify while under the protection of an RCS?
petros wrote:For better or worse, we need to work in the structure that's been established over the long history of Genesis.
Exactly. This is why I still play on my 233 MHz Pentium II with 14.5" CRT monitor and connect with my 33.3k modem.
petros wrote:Evolutionary changes work well for Genesis - revolutionary ones don't.
These are the age-old wizardly myths that has been given to mortals with a pat on the head as if they were matters too large for them to grasp. In reality, it's more like a developer's fear of the unknown. "We might break something and we don't want to do that, so lets not try." Just make a couple of nearly failsafe contingency plans, like an RCS and a complete backup. After that, what's the worst that could happen? Some players are mildly entertained by copper and platinum swapping values? Novices beating up myths for a day? They'll probably only be disappointed the fun will end so soon and everything goes back to normal.

Velicus

Re: Development & Secrecy

Posted: 17 May 2010 03:36
by petros
velicus wrote:These are the age-old wizardly myths that has been given to mortals with a pat on the head as if they were matters too large for them to grasp. In reality, it's more like a developer's fear of the unknown. "We might break something and we don't want to do that, so lets not try."
And your claims are simply F.U.D. directed at wizards. I'm willing to engage in conversation as long as you keep this positive. If you have positive contributions to make, we are willing to listen and see what we can do to improve. If all you want to do is criticize, then I'll consider the conversation over.
velicus wrote:Just make a couple of nearly failsafe contingency plans, like an RCS and a complete backup. After that, what's the worst that could happen? Some players are mildly entertained by copper and platinum swapping values? Novices beating up myths for a day? They'll probably only be disappointed the fun will end so soon and everything goes back to normal.

Velicus
We do have complete backups made on a regular schedule. Is our worry about destroying the code base? No. As in any production environment, we need to be concerned about the daily experience of the players. Having a novice beat up a myth may seem like a small issue to you, but it won't to the myth. Make no mistake, Genesis is a production environment.

Re: Development & Secrecy

Posted: 17 May 2010 14:52
by Velicus
petros wrote:And your claims are simply F.U.D. directed at wizards. I'm willing to engage in conversation as long as you keep this positive. If you have positive contributions to make, we are willing to listen and see what we can do to improve. If all you want to do is criticize, then I'll consider the conversation over.
I suppose I will need to wait for a specific example of my claims to arise before I can try to convince you I don't intend to spread FUD.
petros wrote:We do have complete backups made on a regular schedule. Is our worry about destroying the code base? No. As in any production environment, we need to be concerned about the daily experience of the players. Having a novice beat up a myth may seem like a small issue to you, but it won't to the myth. Make no mistake, Genesis is a production environment.
Players can be restored and life goes on. My point is life could go on much improved if more attempts were made to change the game. I suspect many old players still monitor the game to see what is going on and, should a significant enough change come along, they might be tempted to rejoin the flock.

So, let me make some specific suggestions. On the wizard side:
1. Add an RCS
2. Seperate closed code (guilds, quests) from open code. Allow more wizards access to all open code. With an RCS, keepers, arches and lieges can monitor changes easily

On the player side:
1. Implement full death recovery over time, i.e. you will automatically regain all experience over a reasonable period of time (a delicate balance, I know)
2. Implement some sort of player size cap, perhaps voluntary, that ensures those who want to participate in PvP will not be in an eternal grind race
3. Move toward making every room exist for a reason, not to fill space or create a room for grinding.
4. Announce changes to the game, even minor ones. It motivates players to know that there are changes being made and new things to explore
5. I still don't know the circumstances, but I've yet to hear any explanation for why the Vampires had to be closed entirely. That said, it would be nice to see them given more standard abilities and guild structure and re-opened. It seemed to be a wonderful theme.

Those would make a good start!

Velicus

Re: Development & Secrecy

Posted: 17 May 2010 16:37
by Rhaegar
velicus wrote: On the player side:
1. Implement full death recovery over time, i.e. you will automatically regain all experience over a reasonable period of time (a delicate balance, I know)
2. Implement some sort of player size cap, perhaps voluntary, that ensures those who want to participate in PvP will not be in an eternal grind race
3. Move toward making every room exist for a reason, not to fill space or create a room for grinding.
4. Announce changes to the game, even minor ones. It motivates players to know that there are changes being made and new things to explore
5. I still don't know the circumstances, but I've yet to hear any explanation for why the Vampires had to be closed entirely. That said, it would be nice to see them given more standard abilities and guild structure and re-opened. It seemed to be a wonderful theme.
Ad. 1. This gets a big NO vote from me. I hate the entire grind fest and players becoming even more huge than they already are. Things are just fine as they are.

Ad. 2. This is an interesting idea. But I guess that it's mostly the fault of including too many levels and stats descriptions. I'm not saying they're a bad idea, but back then almost everyone was champion but there was hardly any way to know if one champ was a lot bigger than the other. At the time when this changed (I believe there were just a couple of people with legend and none with myth) people were able to clearly see who's the biggest and The Big Grind happened.
Changing mortal levels again, so that the highest visible one would be equivalent to that of the majority of heavyweight people (hero), could partly remedy this issue. After all, if you're a myth now, then you'll still have the highest level, even if you will die a couple of times (or even plenty of times).

Ad. 3. I'm not sure how should I understand it...

Ad. 4. I'm all for that.

Ad. 5. I can only speculate here but my best bets would be that this guild was:
a) extremely bugged - thus not looked good upon by wizards (hell, even if I've heard some specifics about the bugs found there over the years, some of that had to be true)
b) extremely elitist - thus not looked good upon by players
c) overpowered - thus providing problems for both wizards and players

I think that any (or all) of this options could be a good guess. Although, it would be nice if there would appear a lengthy explanation on the common board as to the major reasons some guild/area etc. was closed.

Re: Development & Secrecy

Posted: 18 May 2010 21:08
by Ilrahil
Well to answer 5....

You could point it to Irreconcilable differences between the members of the guild and the wizards. As well as the fact that the one who coded it was no longer available to assist due to a variety of reasons. Many things that were altered slightly affected other things in the guild code (Sometimes minute things and sometimes major things.) To much time was being funneled into the one guild that it was slowing down production of it.

Was the guild elite? Yes
Was the guild friends only? Prior to the last few years I would say many of them were RL friends. The last few years though it was expanded in an attempt to squash those rumours and prove it wasn't true.
Was the guild overpowered? When it first opened... yes it was. When it closed, there were certain imbalances as will happen with most *elite* guilds but many myths of the guild had problems doing things that champions could do. It was a give/take scenario.

I don't want to turn this into a vampire thread but since it was pointed out and the question was asked I figured I would give some reasons behind it. I hope the guild will reopen at some point, It would probably bring me back to the game but I won't expect anything before x-mas. :lol:

As to the other points.

1) I like this. I'd like to see it expanded to a point. I think that deaths caused by PvE and PvP need to be treated differently. Yes I know this can lead to abuse but if some form of code is implemented where:
A: A player if engaged with an NPC and is killed by another player would not get the benefit. For certain areas like the Yeti or Fael-Thas or Ashburz where one might get trapped it would be an added risk to going and fighting there. But it would prevent abuse of players disbanding a team and killing the one who is going to die so that they will get a less harsher penalty.
B: If a player is poisoned and they die while the poison is in their system (Provided it is not a poison inflicted by a player) It stays the same.
There are flaws in this but moving toward a system like this would encourage more PvP.

2) Player cap size I do not think will ever effectively happen. The cat is out of the bag so to speak... Where would you cap it at? With Xar or someone like Irk? You can't cap it lower than that or it would drive players at those high levels away from the game. They enjoy grinding, its what they do, who are we to take that away from them. Not to mention with the death penalty functioning in the way that you will recover fully even from multiple deaths it ensures a semi-speedy recovery back to former size. So technically now combat experience is like quest experience except combat experience you CAN lose... but you can get it back and not be any worse for the wear.

3) I enjoy this idea. It is part of the reason I enjoy Avenir so much. The majority of the rooms there exist for a reason and are not just mindless fillers. If you like to explore most of the things in the common description are examinable making it fun to explore.

4) Completely agree. To many times a small change will be made and nothing will be said. Things like "Oh let's make the yeti's room hard to escape from." Rush there after an armageddon, enter, and suddenly the fight goes sour.... go to leave and "Hey what the hell! Why can't I leave!"

Just some thoughts.