27 Oct, 2014, lionplane wrote in the 1st comment:
Votes: 0
Hi, just found out about this site, I also tried searching help on other MUD site. :)

I'm looking for some help with my game project. I'll write a little bit about what the project is first and then explain what kind of help I'm looking for.

I've always wanted to make my own game and since programming is the only thing I can do, making a MUD seemed like the best choice. I've been thinking of making a certain type of MUD for a long time, I guess it's MOO? I'm not familiar with the terms, I've only played one MUD in my lifetime and it was derived from ROM. I want to make the opposite of that :P

The game will be slightly different from normal MUD because I want all names and descriptions to be generated on the fly instead of pre-written. So if your character sees a chair in the corner as part of room description then it is an actual chair in the world, you can go take the chair and throw it outside and now the description of room would be different because the chair isn't there any more. Also all properties of objects will be actually in the game. For example if that chair had the property "dirty" then you could see the name as "a dirty chair" but if you put the chair under water then it wouldn't be dirty any more, it could be "a wet chair" for a while until it dries. So what I mean is that everything you see is actually in the game in one way or another and can be interacted with.

I wanted to write the game in a certain way so I wrote my own engine from scratch and it took a long time, I restarted the project at least 10 times but now I think I'm content with how it turned out.

So far what I have implemented is:
Networking / ansi / xterm / input / output and all the basic MUD stuff.
Object oriented world - I can write functionality for one type of object and then make an object that consists of many types or inherits other types (like loading templates on objects).
Easy to use command parser so you can give complex orders in natural language. E.g. "get the feather hat from third red bag" or "go into the portal".
Language generation - names, descriptions, sentences, messages etc. generated on the fly.
Basic objects support like container (room but not limited to), physical objects, properties, actions, exits.
Support for random generation of properties. For example choosing a random color for a rock (brown, grey, etc) but it can be a lot more complicated.
Actions can consist of other actions, for example opening a door involves moving your hand, touching door, moving the door, so if any one action fails then door won't be opened. For example if you are a ghost then your hand would go through the door, you can't touch it, so you couldn't open the door, but also you couldn't do anything else that requires you to touch objects.
Sounds - it is text based but sounds can be emitted from objects and they can travel through exits. For example if you are blind you could find someone by hearing them yell.
Smells - objects can have smells, and they can transfer these smells to other objects that come in contact and sometimes into other rooms through air.
Basic content, few common materials, few colors, properties, objects, actions - just to see some tests in action but nothing playable.
I also wrote a separate program that can make code templates so others could help me write the game without having to know how to program. For example enter few words and it can generate code file that game can use.

Things I am still planning to implement but haven't yet:
Saving and loading of world as is so it can be persistent. Players can shape the world with their actions. I haven't made this yet because it's not so important for testing and object structure will change a lot still.
Repops of objects. Not sure yet how I should do this it depends on what type of game it will be.
Account system. Basically written but haven't written messages or hooked it up yet.
AI, this I will do much much later and I haven't decided how to write it yet. It could also be external (out of process) so anyone could write it actually.
Procedural generation of world. I have a pretty good idea how I want to make this but still working out details. Some basic aspects of this are already in game. I can explain more if you wish.

I wrote everything in C# because I needed reflection and intellisense, string manipulation is about 10 times faster than C, and also I can get the most done in shortest amount of time (also it's my favorite language :P). There's not much to see in game now, only a few test rooms set up for myself, but you can come see if you like. I expect this to grow rapidly as more content is created so we can see more of how everything works and see more funny bugs :P

Now the help part. The engine is starting to get almost ready so going further I need to implement the actual game content so that players can interact with it and receive information. I am not so comfortable with English, it's not my native language and I don't read books. And I'm terrible with user interface, so I could use someone to think how the player should receive the information and how descriptions are generated on specific objects and rooms. The system for this generation is already done, you can play around with it as much as you want to get it right. Basically figuring out what the format is for all information received.

Another thing I need help with is building the world. However building is done very differently in this game. Builders don't create specific areas, rooms, mobs and so on. Instead here we make a template for an object and multiple of this object may appear in the game later (you choose how and where and conditions and what chance). You could also write different descriptions for the same object based on conditions, such as where the object is, what other properties it has and so on. So the same object's description can easily change during the game. Hopefully this way we can have a little more colorful wording of the room descriptions and when you examine things instead of just listing objects and their properties.

Example of an object that a builder would make is a plant. You would need to choose a name, color of the plant (can vary), material of the plant (all objects must have material which says how they behave), size, mass, any additional properties such as poisonous etc. What smell the plant has. You also would write a few different descriptions based on the state of object. For example if the plant is growing you could write that it's healthy and pretty, if it dies you could write that it is dead, doesn't have good smell anymore and maybe it changed color to brown. And last you also would choose where this plant shows up in the game (during world generation), how often, how many and maybe other conditions like climate, seasons etc. It seems like a lot of work to make one object, but actually it will be used in the game a lot. For example a spoon is one object template, but it is used in a lot of places in the game. You might find a silver spoon in a castle or a wooden spoon in a village, but this also must be decided by the builder and is part of the object template. You will not have to do any of this in code. You can figure out everything you want the object to be and do and I will implement it. I can write a computer program to make this easier for you to do.

It seems like there's an impossible amount of work to do but actually a lot of this can be done in parallel. I don't think I could do all of it alone. :)

But I also could use people to give general feedback or discuss ideas, no qualifications necessary.

I haven't decided on the setting or story yet, but I would prefer to have it more of a RP style, not with numbers and gamey messages. Also permanent death would seem an interesting idea especially since this world is so complicated. I'm open to anything else but I don't like any real world setting - historical or otherwise, I also would not like the use of any copyrighted material. First I want to get some basic version of the game world up and have it possible for people to walk around and perhaps possible for builders to do their thing and see their work in action. It would be ideal to have people see how it all works before any story, mechanics or setting is thought of.

Thanks for reading and if you have any questions or want to talk further you can answer here or PM, we can also IM in skype.
27 Oct, 2014, Oliver wrote in the 2nd comment:
Votes: 0
What's up? I can't say I can help you with your game, but as a designer of a game with similarly lofty plans, I thought I'd drop you a hello and offer my condolences. :P My game engine is in the process of being polished; it's an all-original rp game with semi-procedurally generated content and lots of focus on world-player interactivity, so I feel your pain, and your ambitions too. haha.
28 Oct, 2014, lionplane wrote in the 3rd comment:
Votes: 0
Thank you.

Yeah sometimes it's really frustrating when I think about everything that still needs to be done. But then when I test some new thing and it works in a cool way it doesn't seem so bad.

And good luck with your project too, friend. :biggrin: