Top Mud Sites Forum Return to TopMudSites.com
Go Back   Top Mud Sites Forum > Mud Development and Administration > MUD Coding
Click here to Register

Reply
 
Thread Tools
Old 03-15-2010, 03:13 PM   #1
Hygelac
New Member
 
Join Date: Jun 2009
Posts: 3
Hygelac is on a distinguished road
Recommend a C++ codebase

What are some good C++ MUD codebases. I am looking for codebases that use STL or Boost, rather than reimplementing low level system functionality.

Also. How do i get threads to display oldest to newest on this forum. The oldest thread should be on the top not the bottom.
Hygelac is offline   Reply With Quote
Old 03-15-2010, 04:06 PM   #2
Newworlds
Legend
 
Newworlds's Avatar
 
Join Date: Aug 2007
Name: NewWorlds
Home MUD: New Worlds
Posts: 1,382
Newworlds will become famous soon enoughNewworlds will become famous soon enough
Re: Recommend a C++ codebase

Quote:
Originally Posted by Hygelac View Post
Also. How do i get threads to display oldest to newest on this forum. The oldest thread should be on the top not the bottom.
In your User Profile go to Edit Options then down the page a bit you will see an option to select Thread order <newest first> etc.
Newworlds is offline   Reply With Quote
Old 03-16-2010, 01:22 AM   #3
Realedazed
Member
 
Realedazed's Avatar
 
Join Date: May 2002
Location: AZ
Home MUD: Armageddon
Home MUD: Harshlands
Home MUD: DartMUD
Posts: 157
Realedazed is on a distinguished road
Send a message via AIM to Realedazed Send a message via Yahoo to Realedazed
Re: Recommend a C++ codebase

You can check this link: New MUD codebases

There's a long list of different codebases. There's a bunch in C++. I'm still learning, so I can't be too much more help. But I hope that cna point you in the right direction.
Realedazed is offline   Reply With Quote
Old 03-16-2010, 06:48 AM   #4
Hygelac
New Member
 
Join Date: Jun 2009
Posts: 3
Hygelac is on a distinguished road
Smile Re: Recommend a C++ codebase

Thank you for your quick reply. That list was very helpful and I used it as my starting point when I started looking for a better mud engine. That list is also woefully outdated. Several of the c++ muds I have evaluated are not even on that list. MudBytes has a far more comprehensive repository list of over 2000 entries (click on the directory headings at the top for more items).

I've ported the Xenobia code base, a derivative of AFKMud 1.63 (c source), to compile under g++. Now I am going to integrate AFKMud 2.11 (c++ source) back into my code base. Here I have three options:
  • rewrite my existing code-base in c++. This isn't very appealing as I have user requests to code that are more important the designing a mud from scratch.
  • integrate AFKMud 2.11 as-is back into my highly modified code-base. Now Samson has done an amazing job of cleaning up AFK, fixing a lot of bugs, reorganizing the modules into a sane format that separates low level functionality from high level business logic, and cleaned up defines. What he has not done is put out a c++ mud. I need to leverage the features of c++: strings, streams, objects, and public libraries to shorten my development time. In the age of string a; if(a == b) and tokenizer< escaped_list_separator<char> > tok( line );, I'm working in c with a rewritten str_cmp() and two separate one_argument() functions. So yes to integrating AFKMud 2.11 design and functionality and no to integrating AFKMud 2.11 code *as-is*.
  • get a well written c++ code-base and use the library functions to implement AFKMud 2.11 design into my code-base. This is the option I'm currently evaluating. I need to figure out a time-line and schedule. That depends entirely on the quality of the c++ mud base I find.
Now I've looked into murk++ and it is good. It uses SQLite as the db and is well written c++ code. Unfortunately it's very small and does not have all the features of AFK. So I am left with the task of rewriting much of the functionality I need.

Ideally I would like to find a code-base that
  • uses c++ in a way that make it accessible to STL. that means streams not stdin, strings not char*, std containers not hand rolled linked list implementations, new not calloc, etc.
  • uses a db/xml for persistent storage.
  • uses python and OLC as the mudlib scripting engine. Must have OLC because all of our areas and builders use it. OLC is pretty limited so unless I go the DiskWorld route, Python holds promise as a better scripting layer.
I'm asking for recommendations. What would you do/use given my situation.

Thanks in advance.

btw Feel free to check out Xenobia at telnet://xenobia.mudmagic.com:1972

Last edited by Hygelac : 03-16-2010 at 06:51 AM. Reason: hmm, realized the lists did not get parsed automatically
Hygelac is offline   Reply With Quote
Old 03-19-2010, 04:00 AM   #5
Samson
Member
 
Samson's Avatar
 
Join Date: Apr 2002
Location: United Socialist States of America
Home MUD: SmaugMuds.org
Home MUD: Arthmoor MUD Hosting
Posts: 249
Samson is on a distinguished road
Re: Recommend a C++ codebase

Quote:
Originally Posted by Hygelac View Post
integrate AFKMud 2.11 as-is back into my highly modified code-base. Now Samson has done an amazing job of cleaning up AFK, fixing a lot of bugs, reorganizing the modules into a sane format that separates low level functionality from high level business logic, and cleaned up defines. What he has not done is put out a c++ mud.
You should probably consider using 2.1.4 as your platform rather than 2.1.1. There were a number of additional bugfixes applied that folks found.

Also, the reason I haven't put out a C++ MUD is because Alsherok closed down. Unless you meant something else. The work on getting AFKMud completely over into C++ code sort of fell apart after I lost interest in continued development on it. The first round of conversions to get std::string done took far too long and sapped much of the motivation I had to keep going. It was especially trying since GNU made several compiler updates that got progressively more strict in what they'd accept. The infamous const char* stuff you've probably seen talked about.

Unfortunately I'm not really aware of any recent full-featured C++ bases out there that are actually completely C++. AFKMud is caught about halfway in between right now and isn't likely to get much farther.
Samson is offline   Reply With Quote
Old 03-22-2010, 05:22 AM   #6
Hygelac
New Member
 
Join Date: Jun 2009
Posts: 3
Hygelac is on a distinguished road
Re: Recommend a C++ codebase

Quote:
Originally Posted by Samson View Post
You should probably consider using 2.1.4 as your platform rather than 2.1.1. There were a number of additional bugfixes applied that folks found.
Thanks for the heads up. I was not even aware that version 2.1.4 existed.

Quote:
Originally Posted by Samson View Post
It was especially trying since GNU made several compiler updates that got progressively more strict in what they'd accept. The infamous const char* stuff you've probably seen talked about.
Yea, I now what you mean about frustrating compiler standards. It took me close to 40 hours to make AFK 1.6.3 compile in g++. Almost all of that was fixing const correctness.

Quote:
Originally Posted by Samson View Post
Unfortunately I'm not really aware of any recent full-featured C++ bases out there that are actually completely C++. AFKMud is caught about halfway in between right now and isn't likely to get much farther.
Ok, fair enough. AFK is a great code base. I'll merge Xenobia into AFK 2.1.4 and write any additional functionality I need. The std::string is the most important part anyways, since the majority of the code does text processing. The logic code does not have to change much, mostly changing data types. At this point, I might as well forget about refactoring the data structures and globals into a tighter scope. I'll cross that bridge if I have to.
Hygelac is offline   Reply With Quote
Reply


Thread Tools


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off

All times are GMT -4. The time now is 11:49 PM.


Powered by vBulletin® Version 3.6.7
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Style based on a design by Essilor
Copyright Top Mud Sites.com 2014