What your witnessing is the code has reached a level of maturity which it has never possessed before.
When the MOO started, most everyone was a neophyte. Johnny included. They did not have years of experience to draw on. They had sheer willpower, and that's what drove them. They wrote code that got the job done, and did their best to keep an eye on the future, while not really knowing what would be ultimately possible. Sure, they had ideas, but they didn't -know- where it would be in 5 years.
It's been almost a year since I joined, and in that time we all have made some very drastic changes in how we code. Johnny has had 5 years of experience to teach him what the right way to do things are, and our understanding of how to build things has matured greatly with his knolwedge. We no longer build features; we build frameworks to support features, and then enable the features through the use of the framework.
The anology would be like building a house: We used to build one story houses, with a front and back door, kitchen, bathroom, and living room. If we wanted to later add on a second story, we often found ourselves tearing down and redesigning the entire house just to support the second story.
Now we build foundations. And on thoes foundations, we can build any type of house you want. It can start with a one story house, and turn into a mansion, or a castle without having to tear down the walls and start all over. Because our foundations are strong, and flexible enough to support any of thoes things.
The framework is our foundation: The Babble-On Scripting language. The Mementoing (Ditto) technology. The NPC responses used to make NPC's respond to what your saying. The pathing logic, to determine a path from point A to point B. And that's just the stuff you hear about. There's tons of small, code-helper stuff that makes these things possible, like mutually exclusive locks (mutexes), message mutexes, the scheduler, and things like that that make the code standardized, easily read, reusuable, and simple.
When you have these strong foundations, it becomes POSSIBLE to build large structures on top of them. Like Judge Responses. Like Chouffeurs. Like all the things that were now working on that you'll find out about soon enough.
And the code is GOOD. ~It reveals it's intentions when you read it.~ It's not obscure, and hard to follow. It's SHORT, simple, clear, and easily changed. It's flexible, REUSUABLE, and reads like a story.
We now write LESS code to do MORE. Because the little code we write utilizes LOTS of code from our frameworks. The majority of the work has been done up front in the form of the framework. All that's left is to tie it all together in the form of a feature.
And here's proof: Johnny cranked out choufferus in about 4-5 evenings with a bit of help from me. Less than a week!!! It took him so little time because we allready HAD most of the tools to make it happen. It's just been a very long time in making thoes tools.
I'm not telling you this so we can toot our own horns. I just wanted to give you all a better understanding of why this is happening at the time it is, and what it means. I hope it makes sense.
-Kevlar
(Edited by Kevlar at 2:58 pm on Jan. 31, 2003)