On Sat, 1 Apr 2000, Alex wrote: > After six weeks of discussion, the two groups have finally come to an > agreement for the new game project. Unfortunately, this will mean that > the CircleMUD project will soon be coming to an end, and we will be > looking for members of the CircleMUD community who are interested and > willing to take over the plethora of code and support needs of the system. It should be mentioned, of course, that any and all applicants will need to take over the as-of-yet incomplete CircleMUD 4.0 branch (I'd be rather pissed if you decided to scrap it) that we've been piecing together _in addition_ to the 3.0 branch. I only mention this because it sets a fairly high standard for potential new developers. It is highly recommended that you have some familiarity with: Object-oriented design techniques and UML. Relational database systems, such as MySQL. Perl, Python, INTERCAL, C++, and Java. Flex and Bison and Optimizing Byte-Code Compilers. Connectionless UDP networking, with precise traffic control so as not to flood the user with sends, resends, etc. (This is for the client architecture.) ELF dynamically loadable shared object libraries and Win32 DLLs. Multi-threading (pthreads and Win32 threads). Naturally, you won't need all of this to be considered and its not all for the 4.0 server. You only need to know Java and INTERCAL for the client architecture, since it needed to be cross-platform. There's some foundations there for a primitive 3D graphical interface implemented in the client, but the furthest we got with a playable design is with static 2D images (in the vein of Myst or Riven). Python is used as the internal scripting language, and we opted for building our own cross-platform build system with Perl to replace Makefiles (since automake/autoconf are only portable as far as UNIX is concerned). So that's why you'll need to know those. The actual main part of the server is written in C++ using the Standard Template Library. Familiarity with the STL is an absolute _must_ since you'll find constructs like this, --8< snip from cm4/src/netFE/ioManager.h >8-- class ioManager { . . . private: struct Managed { ioMonitor* mon; ManagedFlags flags; }; typedef list<Managed> ManagedList; typedef map<SocketFD, ManagedList> ManagedMap; ManagedMap _managed; ThreadPool _io_threads; }; where you'll need to know how to add and remove instances of derivitives of the ioMonitor class, and how to use the map to lookup specific socket file descriptors. From there, the ioManager should grab a thread from _io_threads, which is basically a locking queue containing a definable number of threads which are passed the specific ioMonitor and what tasks to perform when the poll() system call (note that CircleMUD 4.0 no longer uses select(), since we were aiming at supporting several thousand users and George's stress testing [included in cm4/src/utils/gg/stress.pl] demonstrated that poll() was the only way to achieve high performance and the vast scalability that was one of the original goals of the project) returns an array of pollfd structs. More information on these things are available through private correspondence, since the idea isn't to discuss and release the entire 4.0 source tree, yet. Indeed, there's a big stipulation with receiving the 4.0 source tree. YOU CANNOT RELEASE IT OR ANY PART OF IT UNTIL YOU COMPLETE THE 3.0 BRANCH. Sorry, but we think that supporting the current userbase is just as important as introducing new technology, and because of a lot of the higher tech stuff, 4.0 will not be an option for many users (i.e., VMS, Amiga, Macintosh users [although OS X users should be able to get on the bandwagon]). To all potential new developers: please allow us some time for deliberation, too, as the design of the infrastructure of Hadron is taking up a lot of our time, in addition to getting used to living together at the new Hadron Developer Bunker. You'd think EA could put up some more dough to get us each a nice apartment, since we all had to relocate, but instead they gave us a studio almost completely barren of any furniture. Anyway, if (_when_) Hadron takes off, well, let's just say that we'll be able to each afford our very _own_ studio apartments! But, can't say much more about Hadron, other than it will be around some time 3rd or 4th quarter next year and kicking major ass. Raph Koster, of LegendMUD and Ultima Online fame, left UO a few months ago when word of Hadron started spreading through the industry. Check it for yourself, we've got the boys at Origin running... BTW, thank you all for all of the kind wishes you've been sending us since the EA memo discussing our contract negotiations was leaked two weeks ago (frankly, and not to insult anyone, I was rather surprised so many of you read the trade papers considering you're mostly amateur game developers). I've been looking over the handful of applications we've received so far, and I must say that I'm quite pleased thus far with the turnout. There are, of course, some clear leaders in the hunt for these elusive, limited positions. Mainly, the taking over of Jeremy's Grand Poobah position. I would greatly appreciate if you DO NOT REQUEST particular positions, such as Jeremy's or George's or Alex's, but instead just list your qualifcations. Not to be rude, but we're more concerned with what positions we think you can fill, rather than what position you want to fill. ObHadronDevelopers: I'm at the offices, if you're wondering where I went off to this morning, to hookup the e-mail accounts. I was going to go grocery shopping later, today, too, unless one of you picks it up. The list is under the sunflower magnet on the left side of the fridge, facing the sink. I forgot to include the suckers on the list, since I need them to help me with quitting smoking, so if someone else does the shopping, I'd appreciate if you pick-up some lollipops -- DO NOT BUY TOOTSIE ROLL POPS. I hate them. Anyway, this is the first test of posting remotely through the Slackware 7.0 gateway at home (so don't be alarmed George if it looks like someone snuck through the firewall -- 'tis me) to the Hadron servers. If you want me to hook-up your accounts, just call my extension at the office. I wrote it on the white board on the fridge in case you've forgotten all ready. And, Alex, please leave the freezer door shut. I know you Canadians are used to near-freezing temp., but I'm not going to pay for the damn electricity bill if you're going to be driving it up like that... Daniel A. Koepke Network Systems Programmer Electronic Arts, Inc. +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/10/01 PDT