From gin Sat Feb 25 15:00:21 2006 Date: Sat, 25 Feb 2006 15:00 GMT From: gin To: timichal Subject: Your Ankh-Morpork Application Cc: thoreksken,rotas Hello Timichal, Thank you for your interest in joining the wonderful domain of Ankh-Morpork! The application process is divided into three main steps. You have already taken the first one by filling out the application form. The second step requires some more work from you. For the assessment of your suitability, some examples of your work are needed. The most important ability in AM is to be able to write nice descriptions of Things such as rooms, npc's and objects. If you are not good at this it is possible that you might get hired solely on coding abilities, but you would have to be an exceptionally good coder for that. If you don't know the first thing about coding ("Coding? Eh? Has it anything to do with fish?"), don't worry - we can teach you that. This is the reason why the tasks are divided into the following three sections: 1. Description All of the tasks are mandatory. 2. Problem Solving 2.1 and 2.2 are mandatory, 2.3 optional. 3. Coding Voluntary, but feel free to look at the tasks. If you are not a coder you may be able to describe ideas for the solution anyway. If you are a coder, these questions shouldn't be too great a problem for you. It cannot be stressed too much though, that this coding part is not vital for your chances of employment - your writing is. The more of these tasks you can do, the better, but only if you can do them well. Quality is always more important than quantity, though a combination of the two is expected from all AM creators. Do not worry if the coding questions are beyond you: your writing ability is far more important. We have plenty of people who are more than willing to teach people how to code (the learning process including a not-insignificant number of spankings). *** *** *** *** *** *** 1. DESCRIPTIONS *** *** *** *** *** *** *** Descriptions are very important part of the mudding experience. They can make you laugh and want to explore, they can make you yawn and go and play Zelda instead. Rules for descriptions: * They must be informative, interesting and in the Discworld Theme (preferably Ankhian or Morporkean for that matter). * Use British English spelling (e.g. "colour" not "color", "centre" not "center"). * Good grammar is vital. * Do not impose feelings onto the player. "You feel like running away." or "You think you would like this place." is an abomination, and should be avoided. * Avoid assuming facts about the player. "You are standing in a black room." is bad: what about someone looking into the room from another room, or scrying the room? * Write full sentences. "A red table." is not a sentence. * Humour is Good. So, use a spell checker and be very conscientious about your grammar and sentences. That is very important. But, most important of all, have fun with your descriptions! The Tasks: 1.1 (mandatory) Write four rooms: At least one room must be outdoors and at least one room must be indoors. At least one room should be better suited for proud Ankh and one for pestilent Morpork. A few extra rules apply for these: items mentioned in the description should have descriptions of their own, and items mentioned in descriptions of items, etc... 1.2 (mandatory) Write an NPC: Write an NPC with a bit of personality. Remember to add what equipment it uses/has, what it chats and how it will respond to players talking. Please make some mention of its level too. Description Examples: These are not necessarily good descriptions. Frankly, the first one stinks, but at least they are examples of how you might want to layout your work. --- ROOM EXAMPLE --- brief: The hallway of a deserted house. verbose: This is the hallway of an apparently deserted house. The door to the east leads onto Mormius Street, and the western doorway leads into what appears to have been the kitchen. There is no furniture here, and quite a lot of dust has gathered in the corners. door: Judging by its greasy shine, the door probably leads into the kitchen. dust: Quite impressive piles of dust tower up in the corners of the room. They're large enough to lodge rather hostile creatures. etc... room chat: A heavy, yet muffled, thud is heard from the floor above. A small mouse scurries across the floor, pausing momentarily to stare at you with contempt. etc... Action: search dust -> The player searches and is attacked by a killer bunny with big, pointy teeth. --- NPC EXAMPLE --- short: Suzy the Salty Salmon Sultana of the Shades. desc: Suzy is quite a salty signora. Her looks are remarkable, her beauty quite unusual for the Shades. Now, if only she didn't stink so overpoweringly of fish... equip: a large fishing hook (held) a revealing fishing net (worn) a red herring (carried) chats: say "Now, where'd my cod go? I must've mis-plaice-d it!" emote "smells so strongly of fish, people avoid walking near her." etc... responses: "mackerel" -> "Ha! Yes, you should have seen when I ousted Mary, the Mackerel Monarch!" "pike" -> "Oh, poor Pete the Pike Prince, he never really stood a chance..." etc... While you are writing these things, you will probably find it helpful to imagine walking into the rooms while playing, or meeting the NPC in the game somewhere. *** *** *** *** *** *** 2. PROBLEM SOLVING *** *** *** *** *** *** *** This is not a part that you can pass or fail - this is just to see what sort of approach you take when attempting to solve a problem. Answers to the first two questions are expected; the last one is voluntary. Don't write an essay for each, you should be able to convey your ideas in a few paragraphs. 2.1 (mandatory) You have 1,000 CD albums standing on one long, continuous shelf (yes, it's a very big room). They are in total disarray, and you'll never manage to find the title you are looking for. You have no list of the CD's you own. The task is to sort them alphabetically. How would you do this? 2.3 (mandatory) AM badly needs a quest involving a kitchen table, a madman with meat cleaver and a couple of gallons of beer. What would you make of that? 2.2 (optional) Consider a building, 4x4x4 (four rooms wide, four rooms deep and four storeys high). Each room has an exit to all of its adjacent rooms. However, as a player moves around in the building, Bulky Things fall over, blocking exits and opening other exits. As a result, not all exits are open at once, and the choice of exits that are open changes all the time. In other words, what we have is a maze with moving exits. The task is to think about what will need to be considered, to reason about what the problems with designing this could be. A solution is not required or wanted, just show that you are able to analyse the inherent problems. *** *** *** *** *** *** 3. CODING *** *** *** *** *** *** *** *** *** You can submit the answers in LPC, C, Java, Ada or SML (the languages I can read without having to think), or in pseudo-code. If you really don't know any of those languages, and don't think you can manage to write structured pseudo-code, feel free to write in another language. Whatever you choose, do let me know what language it is supposed to be. You can assume that you have access to some basic functions, but if you do, please explain what you are assuming, and what the functions do. 3.1 (optional) Write a function bandit() that takes a string argument and returns a string where every consonant "x" has been replaced by "xox". Examples: "pike" -> "popikoke" "mackerel" -> "momacockokerorelol" 3.2 (optional) Write a function f() that takes four integer arguments: a, b, c and d. If a and b are both even and c is positive, or if a and b are both odd and d is negative, return 1. Otherwise, return 0. 3.3 (optional) Write a function transpose() that transposes a matrix. So: 1 2 3 4 5 6 7 8 9 becomes 1 4 7 2 5 8 3 6 9 *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** So, these are your tasks. Make sure that your spelling is right and that your layout makes it easy to read. If you think the amount of work requested of you is too big, you may want to reconsider your application. Once you are done, send your solutions with mudmail to Gin, Rotas, and Thoreksken, or via regular e-mail to ginntonique@gmail.com, iefgrootaers@gmail.com and rotas.dw@gmail.com If you have questions regarding these tasks, feel free to contact Gin in some way (mudmail or online). Gin n Tonique, Leader of AM.