Gwen Morse's MU* Code Learning Page


Getting Started

A common question people have is "how do I learn to softcode"? I was sort of thrown into it -- I started playing on a game where I was told to build a project in order to advance in my particular faction. I asked around until I found people willing to help. For several years, I was mostly a builder, and learned to code to improve my areas. The interest grew from there.

The only real way to 'learn' is to 'do'. The best way to do is to start small. Build little things for yourself. Ask people for help. Read the guides. If you have a previous programming background, you should have many of the fundamentals to get started. If computers are mysterious boxes that "just work" when you turn them on (much as I used to think), then, it will be harder to learn. Don't expect to learn quickly. I know people who sat down and read the documentation and were building complex objects a few months later. But, it's much more realistic to expect to take at least six months to a year of dedicated learning to really be solid in what you produce. I started coding in 1994 and am still only "average" among competant coders. I have a great deal of trouble understanding how to make my code secure from mischevious or malicious users. You'll only learn as much as you dedicate yourself to learning. The resources (including mentors) *are* out there if you look for them.


Softcode Guides


Servers

It 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.


Other Useful MU* Links


My Work

I've reserved this space to get into a little bit of self-promotion, by discussing some of my code projects, in no particular order. The sites these projects are on, or were on, can be found elsewhere in my softcode pages. The softcode systems and objects mentioned may be archived on my main coding page.

Many of my area descriptions come from books. At no point do I claim "I wrote this all by myself". I also don't copy the descriptions word-for-word. Instead, I take key phrases that I find particularly attractive, and then fill them out with words of my own. So, yes, I plagarize, but, I'm at least somewhat tasteful about it :). The cathedral descriptions were strongly inspired by Ken Follet's book "Pillars of the Earth". A series of 'angel paintings' I wrote descriptions for came from Sharon Shinn's "Samaria" trilogy (the Archangel books). The night sky over Verron IV came from Heinlein's "Farmer in the Sky". Some crystalline caves on Taal'en came from an Andre Norton book (exact one I don't remember) and another section of "Farmer in the Sky". The hexalate reefs and Gemstone Island areas of Taal'en came from an interesting science fiction book called "Catchalot".

My largest-scale project is running two planetary builders on CrystalMUSH. Taal'en is a Polynesian-themed tropical planet, very low-tech in everyday practice. Verron IV is an atmosphered moon (main industry mining and scientific applications), with a week-long 'day/night' cycle due to its revolution around a gas giant. The initial grids for these builders were constructed by other people. However, they were both bare-bones construction when I took them over. They had lovely descriptions, but, very little code. I created my hotel room builder (found on the archive page) when no one else would write an object that would do what I wanted, for me. I installed Dynamic Space on Taal'en, as well as re-writing the in-game CrystalMUSH Modal Space code to function the way I wanted. Verron IV used to have Dynamic Space, but, I decided it didn't need it. Much of this job has been administrative, as I've farmed projects out to other people on the game during my later years. CrystalMUSH has a working in-game economy, which provides easy motivation to find both coders and descers. The planets on Crystal provide a never-ending outlet for me to experiment with, as they can *always* be improved in one way or another. In fact, my biggest "problem" now is that I'm finding it difficult to maintain archives of everything I've built (or simply maintain). I'm responsible for 50-100 rooms, and at least as many objects.

I used to Code Wiz on New York Reflections, a PennMUSH based WoD game. I was responsible for creating and or/updating all the globals for installation. That was a pretty big job, as I didn't have an administrative staff under me. There is one other coder in the game (the site wiz), whose available to take small projects or answer questions for me, but, that's not the same as having a team of coders.

I also used to Code Wiz on Denver by Night. That was an interesting job and my first really "big" wiz position, where I had a significant amount of responsibility. I'd been a code staffer before, but, there'd always been a large support staff around me (in fact, I usually was only support staff, myself). Denver was my first job where I was "it" as far as code staff. There was an official Code Wiz over me on Denver, but, he was rarely around, making me the de facto "only" Code staff. I learned alot by having to fix code on demand (rather than building the code I *wanted* to build), and by being able to look at the infrastructure code of a working WoD game. Much of my newest code builds on what I wrote and learned there.

As of this year (2003), I've had to step down from any and all staffing positions. I'm pursuing a degree in Information Technology (networking emphasis) and I simply don't have time to dedicate to recreational activities like administrating on MU's. I have every hope of going back to it once I finish my studies.

I am still building a game on a home compile of TinyMUX, that goes by the working name "HamptonsMUX", and is nicknamed "Piglet" (I'm obssessed with pigs) This game has been built, taken down, rebuilt, taken down again, and rebuilt yet-again. It's gone through several servers and incarnations. It's mostly a playground for me, but, I eventually hope to offer it as a small-scale World of Darkness MUSH for public play.

I've run some public businesses/locations as part of playing RP characters, that I'm particularly proud of. One was a Cathedral on Texas Twilight, another a series of businesses around the grid of the same game, including a coffee house/skating rink combined business called "The Blue Moon" (origins of my puppet bartender "Alicia", who eventually became the shiftchanging puppet). I built a fairly complex herbalist's shop on Mountain Cauldron, and then moved it to Denver by Night when MC shut down. That shop was another area (as with Code Wiz-ing on Denver), where I improved my coding skills. I learned how to get into some pretty complex building tricks, such as setting +views that could only be seen from inside specific virtual "places". I've always loved having businesses/builder characters, and I don't think I'd play a character that didn't have the built-in coding option of having their own place (even if it's just an area I'm responsible for but don't directly own, like playing a nun who looked after the Cathedral).



[ Guestbook ][ Email ] [ Homepage ]

Updated: Friday, February 28, 2003

1