View Single Post
  #2  
Old 06-06-2005, 01:57 AM
RangerDown
Demi-God
 
Join Date: Mar 2004
Posts: 1,066
Default

The cynic in me will remind you that he's heard these very mantras repeated, multiple times, throughout his tenure at EQEmu -- and while some strides have been made to achieve that goal, it still comes nowhere close to your ideal level of modularization. Database code is not modularized in any way that could even come close to supporting an alternate database provider. Point: there's ideals, then there's the real world.

That said, you're starting fresh with a new code base so you don't have the level of baggage EQEmu has. You have a better chance of making that happen here.

Here's the real problem you're going to run into:
  • During EQEmu's prime, it was blessed with literally a dozen or more knowledgeable developers who were able to write to the CVS. Hence what a boon to have them find and fix errors in others' code -- and contribute new features of their own -- quickly and easily.
  • During that same time period, EQEmu was cursed by having literally a dozen or more know-it-all developers who had direct access to clobber any code in the CVS. Hence, what a headache to find that some other dev -- who only knows enough about that part of server code to be dangerous -- totally rewrote the module you'd introduced only a week before. Not to mention every time a dev announced they were about to put in a new feature, you literally stayed up that night with anxiety -- just KNOWING their implementation of the feature would be completely short sighted and make absolutely no effort to work properly with the rest of the server code.

This isn't a technical problem at all, it's a people problem. Coders like yourself who are terrific at single-handed tasks lots of times tend to bump heads when they have to watch out for others' code. I'm not saying you specifically can or can't work with a team, just saying that's something to watch out for.

Your best bet is to actually work a design in a similar fashion to how you would at a big job. And make every dev adhere to it. If you're lucky enough to get a team of developers whose coding styles, personalities, etc. just mesh together, then you're pretty much set. If one of you takes a more "senior developer" position where he's not only coding himself but keeping an eye on quality control as well, all the better.
__________________
<idleRPG> Rogean ate a plate of discounted, day-old sushi. This terrible calamity has slowed them 0 days, 15:13:51 from level 48.
Reply With Quote