Reddit-Mud / RMUD

A MUD written in C# using the fantastique literary genre, started by redditors.
MIT License
25 stars 8 forks source link

Room Design & Writing Style Discussion #3

Open ghost opened 10 years ago

ghost commented 10 years ago

This issue is open for the discussion on WRITING STYLE, TONE, and VOICE. This is particularly aimed at rooms and the objects within them currently. Any implementation issues, especially involving code, should be posted in the 'Foundations' issue. Please remain on topic.

So here is a sample room I put together real quick tonight. I did take creative liberties in naming locations, and none of this is actually set in stone. This would be an office room in one of the buildings on a seaside street of the city. It's just an idea of my writing style and tone. I'm welcome to criticism and suggestions, and I'd also like to see some others throw together some examples so we can work on a voice we all agree on.

It always amazes me how long it can take to write a room when you've got so many nuances to adhere to.

I went for something short, but still descriptive to cover the entirety of the room. It definitely could be shortened further; there's a lot of non-critical details, but I feel that only adds. It could also be extended vastly, but again, I tried to meet a fine balance.

If some of the syntax seems a bit weird, that's probably because I'm used to writing in Inform 7 and just used that style for pointing out areas where things would change based on specific flags.

ROOM IGA Clinic, Campana's Office Pristine white walls, empty of decor sans a lonely, framed diploma complement the hardwood floors and immaculate glass desk. A window, taking up just over half of the wall, looks eastward toward the [empty] shoreline, [a full moon gleaming back]. The office is bare; a stack of folders sits atop the unopened box of a new filing cabinet in one corner, a small tree brimming with life in the other. A fluorescent bulb nestled within the fiberglass ceiling tiles illuminates the area; both it and the computer on the floor emit a gentle hum in the otherwise silent room. On the desk sits only a large monitor set off to the side, and an engraved nameplate.

The door on the westward wall is [wide open[or]shut soundly], [[if open] revealing another nameplate displayed at eye level. Light pours in from the main hallway.]

OBJECTS [nameplate]: A polished-gold plate set upon a rich rosewood base. Engraved in dark lettering it reads 'J.S. Campana'. [window]: Overlooking the eastern shoreline, [ocean_sky_random]. [plant]: Potted in a simple, slate-colored bowl, it stands about five feet tall with a head of large, vibrant leaves. [desk]: A smoky-colored glass resting upon thick metal framing. A sliding section is occupied by a keyboard. [monitor (while off)]: The screen is black. An orange LED glows softly along the black frame, indicating the computer is likely off. [monitor (while on, password not entered)]: The screen is displaying a login window atop a pale, blue background. The password field is empty, the key cursor flashing rhythmically, waiting for input. [light]: A hard plastic tile hides the fluorescent bulb lighting the room. [folders]: Stacked hastily atop a box, the manila folders are all empty. [box]: The box is unopened with giant text running along the sides: OFFICE PRO® 22'' VERTICAL FILING CABINET. [floor]: Polished, oak-colored strips run the length of the room, complementing the walls nicely. [wall]: Painted the brightest white, it is devoid of anything but the framed diploma [diploma]: A fancy, mahogany frame displays a prestigious diploma beneath a sheet of glass. It reads:

UNIVERSITY OF NEW ORTIAGO By authority of the board of trustees and upon recommendation of the faculty hereby confers upon JASON SADLER CAMPANA, M.D. the degree of DOCTOR OF PSYCHOLOGY

Following is a large emblem, embossed in gold, and several signatures.

Another option here would be to use some sort of tagging system. I read a good post on it earlier this year here. This might be more useful for someone like @Blecki to look at; I'm not sure how we wish to implement this system.

Blecki commented 10 years ago

I'm trying to decide whether I implement a tag or conditional text system (It would likely be similar to inform), or I just make descriptions optionally a function that returns the description. The latter is far more powerful, and far easier to implement, but it can make simple variations a pain to write. Consider these..

Here is one of your examples:

The door on the westward wall is [wide open[or]shut soundly], [[if open] revealing another nameplate displayed at eye level. Light pours in from the main hallway.]

Here's how it might look with tagging/conditional text:

Long = "... The door on the westward wall is [if Here.Links[west].Door.Open]wide open, revealing another nameplate displayed at eye level. Light pours in from the main hallway[else]shut soundly[end if]."

Here's how it might look as a lambda function in C#

Long = (viewer, owner) => {
   var builder = new StringBuilder();
   builder.Append("...");
   if (Links[west].Door.Open) builder.Append("The door on the westward wall is wide open, revealing another nameplate displayed at eye level. Light pours in from the main hallway.")
    else builder.Append("The door on the westward wall is shut soundly.");
    return builder.ToString();
    };

The second example is longer and more cumbersome in this case, but it is far more powerful. There's no need to implement a complex tagging or conditional text system which could (if Inform is any indication) become it's own mini programming language. On the other hand, a builder has to be able to do some rudimentary coding.

Blecki commented 10 years ago

Actually the lambda based approach was so easy to add I went ahead and did so. I can support both, but tagging will take a bit longer to implement.

Trevoke commented 10 years ago

Linking the text from @Blecki's comment here:

I know of a city we can use. Not a terribly large one, a town really. The kind of city that calls itself a city, but has a zoning ordinance preventing anyone from building more than three stories up. It's on an island, and it would be a tourist trap if it wasn't so cold, and the beaches weren't so rocky. Back when it was founded, when ships actually had to stop there, it was almost important. It's called Port Ivy. It's been years since I left, keep that in mind. I haven't actually been on the island since I was a young man, but I don't imagine it's changed much. Life there moved at a very different pace. Everyone was so careful about everything, but that was because of how close to the edge everyone was all the time. I remember there was this bed and breakfast across from the post office, the same b&b where Margette Wok hung herself. A man who called himself captain ran it with his round British wife. He always said his name was Captain, but we called him Of What. They would book out a room for three or four nights and go ahead and sell that same room starting the second night because no one ever made it more than one. Of course, if you're native to the island, it doesn't get to you quite as much.

ghost commented 10 years ago

@Blecki That's actually pretty solid. Yeah, the code-based approach is a bit more complex, but I don't have a problem working with it. Unless other builder/writers have a preference or take issue with the code, I don't see a reason you would need to spend time implementing the tagging system if the majority was done in those function-like scripts. I enjoy having the extra power, personally.

Trevoke commented 10 years ago

Can we keep the discussion on implementation separate? I'd like this thread to focus on writing style.

ghost commented 10 years ago

Yeah, that shouldn't be an issue! I edited out the implementation details out and we can continue that half of the discussion in the 'Foundations' thread!


Bringing the thread back on my initial point: thoughts on the style presented? Tone? Any feedback at all? Should we start expanding the world?

ghost commented 10 years ago

The tone is fine, and I like what you have there. With room descriptions, each one can't be a work of prose because it seems to make more sense to save those really intense descriptions for important rooms. That and if we try to write in a very specific literary voice (say, like the way William Gibson might describe the world) that could be a turn-off to players who not into certain styles.

Adjectives are going to be our hottest resource, and they will probably run out quick, so don't be afraid to mix pools, so to speak. One thing I do is purposely mix and misuse some adjectives to create a bit of variety. "The crisp white walls stand guard around a heavy oak desk that oozes a rich, savory walnut color." Yeah, I purposely over-did it a bit for the sake of the example, but basically I wanted to describe a boring room while acting like I was describing food, or something. It seems to help vary things a bit, which I'm worried about since we've got a lot of room descriptions ahead of us.

Mood will be important, too. So, if we wanted a darker atmosphere for the office sample, my above choices won't work, and I'd be more inclined to act like I was describing a prison cell, perhaps. Anything that would convey a closed-on or trapped feeling that a worker might feel in an office setting. It just depends on what we want the mood of the area to be.

If I can propose an experiment, I say we do this; come up with a (very tiny) map, and we all take a shot and describing the rooms after we decide what they all should be. This doesn't have to be used in the game, but if we're all lending words to the same area, we might be able to get a broader sense of each others' writing voices and play off that a bit. I figure have this done by Sunday, or whatever, depending on people's schedules. Map shouldn't be any more than ten rooms, and it can be one building, or a street, or whatever we pick. Any thoughts?

ghost commented 10 years ago

Yeah, I'm extremely wary of going over-board on adjective use because we're going to be describing hundreds, if not thousands, of rooms. Typically I'd put that level of detail in objects, so players interested in really getting a feel can gradually be exposed to it on their own accord. That also lends to the problem of unimportant objects having too much detail, which might cause players to think it's important when it's not.

The last thing I want to do is over-saturate a room that isn't as important as another, but not make it so bland that the description doesn't really leave you with a feel.

We probably should do something like that. Maybe smaller if others' schedules aren't as open, but we definitely need to have a firm starting point -- in our world, in my opinion. Currently we have a lot of theory and conceptual ideas, but I think it would be easier if we got a few things on the ground to build around. They can be changed later if we find it doesn't fit.

Sunday would be fine by me. Do you have any specific idea on what kind of map we'd like to write out? The sooner we can nail down our details, the better for others looking to submit their version.

Blecki commented 10 years ago

I'm game. But please keep the map as small as possible. Or alternatively let us each design the street front and interior of a single building of our choosing. I'd even stitch them together so we can walk around them together in the engine I'm building.

ghost commented 10 years ago

I'm down for either one. If no one else has any other suggestions or proposals for this, I'm going to helm the project and set the task; I'll post a small list of rooms, guidelines, submission format, and a date. Unless someone else wants to do this, then feel free to speak up! :)

We just can't spend forever locked in discussion on things like this, when there's a lot to be done!

Blecki commented 10 years ago

Go for it! I'll just add, if you want to explore them in-game; stick to a simple format. Short, Long, objects with the same properties. Avoid dynamic text at this stage. The less work it is for me to get everyone's piece into the engine the better. I don't expect anyone to actually write it in the format suitable for this engine, not yet anyway, but I want to make it easy to translate.

ghost commented 10 years ago

Noted. We'll stick to static descriptions that are fairly painless for you to add in, so we at least have a world to walk around in and we can all discuss from there. Everything will likely be changed, but it is good to have the groundwork.

EDIT: Okay, that task is posted. Keep all discussion on it in here for now. If we can just get the ability to push our files to the repo, that'd be ideal. I think that's on @Trevoke's end though, we don't really have any control right now.

ghost commented 10 years ago

Heads up, @DevRW, the link to (what I think is) the example you posted in the task is 404'ing. I see the page format you want, but I'm not sure about file(s) format you want in the folder. I was hoping someone else had already uploaded one so I could see what they did. Apologies, I'm still fumbling my way through this as a complete noob, trying to learn a lot at once (inlcuding using GitHub).

ghost commented 10 years ago

@piggybankcowboy Thanks, I forgot I forked the current repo and deleted my other one. I'll fix that ASAP!

The format is pretty much just as posted. Put them in a folder named: piggy-demo Then all your room files separately. They can just be plain-text, as they have to be converted into C# code to actually run in game right now. That will be done later. If you want to see an example of how it should look in the end, though, take a look here. That's Blecki's current demo which he uploaded.

Once it's all nice and tidy, you can push it to the main repo: database/static//!

Blecki commented 10 years ago

I'm going to be contrary... please don't push it to the main repo. Please fork the repo, make sure you're on the dev branch, and push your files to your own fork. Then submit a pull request to pull it into the main dev branch. The master branch should be an 'always working' codebase. I'll handle pulling from dev into master.

I've been treating dev like it's my own personal fork so far, but with other people contributing it's time for me to switch to temporary feature branches and to start using dev as the place for merging everything.

ghost commented 10 years ago

Duly noted; will update the appropriate posts to reflect that. For the best in the long run.

Trevoke commented 10 years ago

It's probably time to create a CONTRIBUTING.md file.

On Sat, Sep 20, 2014 at 12:27 AM, Rob notifications@github.com wrote:

Duly noted; will update the appropriate posts to reflect that. For the best in the long run.

— Reply to this email directly or view it on GitHub https://github.com/Trevoke/let-us-write-a-mud/issues/3#issuecomment-56256510 .

ghost commented 10 years ago

So what did we get out of the room projects? Any thoughts on voice/tone?

Also, does anyone mind if I map a mock-up starting area based off our project? I noticed two of us indicated a town should be nearby, and I've been looking at various islands to get a sense of layout and whatnot.

Trevoke commented 10 years ago

Is everyone's work up? When I last checked, there was DevRW, Blecki and my work up (I think). Are there more? I'd like to log back in and take notes so I can share them.

I find interesting that writing them up and then navigating through them gave me different feels :)

On Mon, Sep 22, 2014 at 1:03 PM, Nick notifications@github.com wrote:

So what did we get out of the room projects? Any thoughts on voice/tone?

Also, does anyone mind if I map a mock-up starting area based off our project? I noticed two of us indicated a town should be nearby, and I've been looking at various islands to get a sense of layout and whatnot.

— Reply to this email directly or view it on GitHub https://github.com/Trevoke/let-us-write-a-mud/issues/3#issuecomment-56404965 .

Blecki commented 10 years ago

I translated piggy's and added it yesterday morning.

ghost commented 10 years ago

I have gone through each demo and I have a lot to bring up, but I have been busy with work over the weekend. I'll take the initiative (unless someone else would like to), and this will be our task for the rest of the week, ending on Saturday the 27th.

We will set one day of this week to discuss a single persons map each for every demo area. Everyone should explore the map on the day of, and use it for referencing back to. If you do not have a local server running connect to the live server at luna.devrw.com:8669. The focus will lie solely on that persons' map all day. We can discuss their style, voice, etc. etc.

After we spend the 4 days on each map, we will have a round-table discussion where we will compare and contrast all of the maps. At this point, we will spend the rest of the following week (hopefully less) finalizing rules regarding the overall writing style this game will have. We will come to agreement on an overall tone and other miscellaneous quirks.

Once that discussion closes, I will compile and properly document our final plan, and add it to the repo for everyone to reference, and newcomers to have a clear plan-of-action regarding how the game will be written.

TUESDAY: Discuss Trevoke's demo area. WEDNESDAY: Discuss piggy's demo area. THURSDAY: Discuss DevRW's demo area. FRIDAY: Discuss Blecki's demo area. SATURDAY: Group discussion for all demo areas. SUNDAY - SATURDAY[?]: Finalization discussion for over-all game. ETA: Completed plan posted to repo.

I will open an issue each day and all discussion will go in there.

Thoughts, issues, etc.?

Blecki commented 10 years ago

Would it be unfair of me to add to mine in the meantime? My focus was on the server and I only actually wrote one room.

ghost commented 10 years ago

Nope, totally reasonable! That is actually why I put you down for Friday, and myself second to last as I still have a few edits, too. If you need more time after that, I'm sure it can be worked out, of course.

ghost commented 10 years ago

Sounds perfect.

Trevoke commented 10 years ago

What I've learned:

A room needs to have linguistic elements to match it to the rest of the area. A room needs to explain what it is and its goal. We can't overdo the sombre atmosphere, but we can and should throw elements of it. Describing present-day is an interesting experience. We want to avoid using "you", or telling the player how they feel.

We haven't determined how we want to hint to players that there is further description to be had.

And .. What else?