From: "Grimau Lysik'an" <grimau_lysikan@HOTMAIL.COM> > Well, in case anyone is interested, I'm starting (as of Aug 4, 2001, EDT) a > C++ version of circle. All the licenses for Circle will need to be adhered > to, since I'm shamelessly stealing as much as possible on the first pass. To > be precise - I'm stealing from Del's bundle based on bpl18 (re-doing the > integration of OLC and scripts would be a bigger pain than I want on the > first try). I would suggest that you simply base your new version off the baseline system with nothing added (except maybe the races patch) just because it's the most stable version of Circle I know of. I've tried some bundles and most of them seem to crash under various compilers. The OLC patch isn't bad, but there's a lot there to try to wrangle first time out. I'm not discouraging your attempt, but I wouldn't try to attack it from such a large baseline. Circle is pretty big as it is, adding anything else out of the gate would be added effort with the potential for hidden problems. The Circle baseline is (IMO) the stablest jumping point to start from. Maybe with Georges global patch applied would be an even better starting point, but I wouldn't toss in any bundles, scripts or olc just yet. > I will NOT be running a MUD based on it - I just like making C progs into > C++ progs. :) I have no server at the moment, but might get access to a CVS > server if there's interest (and I learn to use it correctly). One thing to try to steer clear of as I've seen C->C++ projects fail because of it. Converting C to C++ isn't really doing any justice to anything. Circle already compiles with C++ compilers (under Windows anyways) and structs are treated as classes already so in that view, it is a C++ project ;). Seriously though, C++ (or OO in general) isn't just changing the name struct to class. It's a well thought out design where you encapsulate all the functionality that an object should offer and create a stable public interface to present it. Behind the scenes you have whatever implementation you can to make it work. So before you go sprinkling C++ class keywords all over the place, think about what a room really needs to do? What data does it have to keep track of (people, objects, etc.) and what can you ask a room object to do that would make sense. Does it make sense that a room have pointers to other rooms or should the world be in some kind of linked list (a STL vector is perfect for this). Lots of questions to ask and answer on this. This can of course get into heated debates over what is appropriate for an object (does a dog have a tail syndrome, OO programming 101) so keep abreast of those issues. As another poster mentioned, SourceForge (http://www.sourceforge.net) is the best place to put such a program, however you have to accept one of the predefined public licences when registering a project (GPL, etc.) so that may be a problem with a Circle derivative but check it out. It offers plenty of project management services not just CVS. I have several projects hosted there. > Anyone interested in contributing to, borrowing from, or shamelessly > stealing from my codebase is welcome to contact me, as long as you remember > the Circle licenses will still need to be observed. I would be interested in participating but only if it was on a service like SourceForge just because it's a nice clean approach to project management and you'll never be scratching your head wondering what someone is working on. However, the license issue might be a problem there. > I'm designing, coding, and testing on linux using as much pure (read ISO) > C++ as possible. Porting to MS C++ I'll leave as an exercise for the reader. Another suggestion is to keep all of the portability issues intact and maintain them upfront. They're already in the code so why go off creating a *nix version just because you don't have Windows, thereby leaving a port blowing in the wind. With a good cross section of developers in the project, you can easily have someone working on the Windows version, ensuring that all code checked in is compatible. It'll save a lot of headaches later trying to retro-fit something to keep a compiler happy. Set your goals and scope up front and stick to it. Good luck and looking forward to seeing how things go. liB -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/06/01 PST