Abstracting & Documenting Systems Softcode

Submitted by Eratl on Fri, 2006-07-21 18:10

Hi folks! I'm going to take a minute to show off some code I recently wrote for my latest project, a MUSH set in Terry Pratchett's Discworld (obligatory plug).

This article is targeted at beginning/intermediate programmers who are beginning to get into coding more complex things like economy systems, chargen systems, and so on. I'd love to hear any feedback.

Often, most or even all of the softcode on a MUSH is done by one person. Whether a "Head Coder", the head wiz him/herself, etc, this person often is tasked with designing, coding, and maintaining all systems on the game. While this definitely has some advantages (the old "if you want it done right" principle, for one), it also has disadvantages: if your coder wizard gets bored, busy, or something happens to him/her, you need someone else to add new features, fix bugs, and that sort of thing. This can be a problem, though; most people will tell you it's a lot harder to read someone else's code than read your own. And, even when you're not fixing bugs, it can be a pain to figure out how to work with a system.

PennMUSH Web Resources

Submitted by Noltar on Fri, 2006-07-21 15:30

I've been thinking about this for a while, and already have some ideas and plans, but it would be nice to hear thoughts from the community at large...

Are there any resources beyond those we currently have available that people would like to see on the pennmush websites? Any improvements to what currently exists? I feel community.pennmush.org is underutilized and could fill many of the possible needs of users. However, it may help to have feedback from the users so that we can highlight the features people are looking for but may not be aware of, as well as look at what is lacking and inves

My retirement

Submitted by javelin on Wed, 2006-07-05 23:26

The game's the thing, for in our play we touch
Another's soul, and bring to it new life
New words, new truth, new joy, as forasmuch
As we increase our play we d'minish strife.

I am both pleased and wistful to announce that as of the current release of PennMUSH, I have retired as PennMUSH maintainer, and will soon leave the development team. Raevnos will be taking over as the lead developer, and Noltar will be responsible for integration and release of patchlevels. My interest in the copyright of PennMUSH has been transferred to Talek.

PennMUSH 1.8.1p8

Submitted by javelin on Thu, 2006-06-29 20:41

PennMUSH 1.8.1p8 has been released. This version fixes two crash bugs and introduces some new features, including: AAHEAR/AMHEAR attribute flags, improvements to @conformat/@invformat, lwho-like functions that return objids, the stringsecs() function, %i0-%i9 (shortcuts for itext()), and other minor improvements and bugfixes.

Phishing from 'register@pennmush.tinymush.org'

Submitted by javelin on Wed, 2006-04-19 09:21

This should go without saying, but in case it doesn't, I recently received a phishing email allegedly from "register@pennmush.tinymush.org" which included some zip file I'm supposed to open to confirm details to them, and a bogus "no virus found" line in the email message.

Obviously, nobody from the Penn devteam is going to be asking anyone to confirm any private information, etc. If I did have any reason to want to communicate with a user about something personal, I'd sign it with my gpg key. If you get something like this, it wasn't from us.

PennMUSH 1.8.0p12 and 1.8.1p7

Submitted by javelin on Mon, 2006-04-10 12:24

Two new releases. 1.8.0p12 is just bugfixes, and some small improvements in networking and logging.

1.8.1p7 includes many new features. Important changes: The FIXED flag's restriction on home no longer happens in the hardcode -- you must add it to restrict.cnf! Also, the LIGHT flag now overrides DARK consistently; as a consequence, DARK wizards appear in LIGHT rooms.

Some of the new stuff includes @lock/take (who may get something from a container, replaces @lock/enter for this purpose), improved @chan/recall and crecall(), speak(), ulambda(), unique(), nextdbref(), namelist().

PennMUSH 1.8.0p11 and 1.8.1p6

Submitted by javelin on Wed, 2006-03-01 14:50

Two new releases in the usual place. 1.8.0p11 is very minor fixes. 1.8.1p6 makes more substantial internal changes, including a new version of PCRE and removal of the NT_TCP code. User-noticeable changes include a new LOUD flag, DBREFLIST^ lock key, the Many_Attribs power, improvements to decompose(), new functions mapsql(), wildgrep(), and ordinal(), and an assortment of bugfixes.

Building PennMUSH on cygwin

Submitted by javelin on Mon, 2006-02-13 20:52

I was recently asked about building PennMUSH under Cygwin, a port of the GNU software to Windows. We used to recommend Cygwin as a platform for Windows users, and then stopped doing so when cygwin quirks and the arrival of Mingw32+Msys offered a better alternative. But Cygwin has regular upgrades and I thought it would be interesting to try again with the most recent version (1.5.19-4) under Windows XP Pro.

I installed Cygwin and added the following extra packages to the base install: binutils, gcc, gcc-core, make, openssl, openssl-devel, perl, bash, gnupg, and patch (and anything that these depended on). Then I tried to build PennMUSH 1.8.1p5.

PennMUSH 1.8.0p10/1.8.1p5

Submitted by javelin on Mon, 2006-01-30 14:17

Two new releases in the usual places.

1.8.0p10 is nearly all bugfixes, and highly recommended. The most important fix is a double-evaluation bug in sql(). As a bonus, the fix allows for row and field separators to more than one character.

1.8.1p5 includes those bugfixes as well as a fix for a 1.8.1-specific crash bug, and several feature improvements, including the nsearch() family of functions, @list/locks, two new @search classes, and other feature and portability enhancements.

1.8.1p5 introduces one incompatibility: @attrib/access now requires a space-separated list of full flag n