One of the great joys of MUSH (to me, anyway) is that I was able to learn to program without having a programming background. When I began writing MUSH code, I was a young housewife, with a great deal of free time on my hands. I learned through a very long process of trial and error. The programming I do is called "softcoding", and refers to creating objects on the fly within the MUSH database structure. "Hardcoding" refers to writing scripts in 'real' programming languages (or modifying the TinyMUSH server) and requires more real-world programming training to accomplish. I'm no longer a housewife. In fact, I'm now an IT professional. However, I can honestly say that I would have never been on this career path if I hadn't been interested in MUSHing. Because I wanted to learn to code I "had" to learn how to set up server software (which meant running my own Linux box -- this was before any MU* Windows ports). It all grew from there. I switch between PennMUSH, TinyMUSH, and TinyMUX coding, the servers are almost identical on a softcode level. Some functions or flags carry different names, while some new ones exist in one server or the other. However, it takes a minimal amount of brainpower to switch from one to the other (after you know at least one!) If you take *any* code from this site, all that I ask is that you post back the fixes, updates, or changes you may need to make in order to get the code functional elsewhere. There's no single source out there on "how" to softcode. Each of us has to learn from the scattered notes found online, and by deconstructing and reconstructing other peoples' code creations. Please respect that I am trying to provide a service to the MUSH community by providing this archive and give back where you're able. ServersIt may be useful to install one (or more) servers on a home machine in order to work on code projects. This allows you to have access to wizard powers (assuming you're not wizzing on a live game), and going through the documentation files can teach you much about how the server works.As a short illustrative example of that, I was asked to work on a PennMUSH game installing WoD globals and my edit of Didi's Chargen. For several weeks, I was frustrated by all of my TinyMUSH/TinyMUX code "breaking" on the Penn server. It was a laborious process to re-write it, but, it seemed that it had to be done. I finally installed Penn on my home machine, to give me more time to work on the porting project. While reading over the sample configuration file, I learned that there was a simple configuration change that would almost magically allow my code to work on Penn. I would have never learned this if I hadn't installed the server, myself.
The Wayback archive of my previous MUSHcode site. This old site hosted at Geocities was a long-time resource for people looking for help with MUSH code. RIP Geocities! |