Return to Website

AberMUD Forum

Discussion Area on Abermudding

AberMUD Forum
Start a New Topic 
Author
Comment
Coding specials

Having read the current News on this site and Sorisor's list of


alternative ways of coding 'specials', I've got a couple of


comments re what's been said about our approach at TerraFirmA.


Your comments overlook what we see as the major advantage of


TerraScript, the scripting language used for TerraFirmA's quest


puzzles, which is that it can be used by people who aren't C


coders. People who have never written a line of code in C in their


lives (like me), and who may have no access to the main code of the


game, can write the script for a quest, as well as the zone file


and other quest information (the basic quest description and a set


of hints which players can buy from our Bard mobile); in other


words, they can supply a quest which is already complete and can


pretty much just be dropped into the game without lots of work


being required from the C coders, who are then free to concentrate


on general game systems, implementing new features etc.


TerraScript is a major step forward in that it means that new quests


can be brought in much more quickly (after normal quality control


and editorial checks, of course), and more people can work on


quests and have a much higher level of involvement in bringing the quests they have designed to reality.




Re the disadvantages you say there are: first, TerraScript is


not limited in any way in what can be done with it so long as the


supporting libraries that it needs are there, and as we are


converting more existing quests to TS as well as creating new ones


that way those libraries are being built up. Second, here is no


extra lag experienced by anyone doing a scripted quest versus a


C coded one.




Those comments aside, it was interesting to find a little out about


the different approaches.




Firefly (Kate Moore)


TerraFirmA

Re: Coding specials

The comments I had sent to Crimefighter were a very general outline of the different strategies used in various MUDs. Since I


never saw any of Terrafirma's, Northern Lights' or pDirt's code,


I could only go by the info that people were willing to share.




You're right, a simple script language can make things much easier for people who are unfamiliar with coding in general. Nevertheless the code will most likely not be bug-free and a coder will have to


verify everything is ok before it can be installed.


From my own(!) experience I can say that I'm usually faster writing own code than trying to understand other people's code and tracking down the potential problems. Having builders write code themselves may lift some work off the coders, but not overly much.




People needn't necessarily have code access to write specials on other MUDs either. Designs like NL and pDirt allow to put the code directly in the zonefile, all that is required is a good documentation about the interface to the MUD (just like the script language has to be documented).




As you say yourself, Terrascript can do whatever the library provides and if that is not enough, the library can be expanded. That in the end means that for exotic code, the coders have to expand the library and then have to deal with quest code again.




Most well-written AberMuds use up less than 1% CPU usage even on slow machines. So the loss of speed that an interpreter causes is unlikely to cause lag for players, because lag occurs mostly due to net congestion rather than high CPU load. It's still slower than compiled code. It would be interesting to have a comparison about the efficiency of code among the various MUDs, rather than a chart about each MUD's size, but I guess it is impossible to do because they all run on different machines.




Nevertheless it's a fine piece of work and a great progress in the way AberMUDs are coded. Hopefully some other MUDs will also invent


interesting concepts rather than using the old-fashioned methods.


In that case I'd probably write a more complex overview about the different approaches in a future newsletter.




** Sorisor **


Re: Re: Coding specials

It's certainly true that the first TerraScripts people write


may have bugs in, and scripters use a system by which scripts


are uploaded via an in-game editor session similar to the mailer


to put them on the server and test compilation from within the


test mud, and iron out these bugs themselves if at all possible.


A new script has to compile with no errors before it qualifies


to be made active (also done from within the game) and actually


tried out. But I wouldn't want to suggest that there isn't a


learning process that takes some time and effort (and also help


from other people) - new scripts being written at the moment


rarely need intervention from a coder though; more often they


will have improvements suggested by more experienced scripters.




As you say, not all alternative systems require code access,


either - I'm certainly not suggesting TS is the only way round


that - in general I just wanted to mention what we see as a major


advantage, without suggesting that it is the only system that has


that advantage or better than every other system under the sun.




I'd be interested in reading any more complex overview that


you write in the future, with an open mind in the sense that I


wouldn't be biased towards my own mud's method, but all the


same with a particular interest in all methods that result in


systems that are easy to use and accessible to the widest possible


range of people, not just because that saves work for coders but


also because it increases the involvement and sense of achievement


of those other people in bringing their quests to life.




Firefly