Ziberath
 New Member
 Posts:7

 | | 06 Mar 2011 09:20 PM |
| The Question is basically in the title.... | | |
|
|
Karak Locutus of WheelMUD
 Advanced Member
 Posts:787

 | | 07 Mar 2011 10:01 PM | | Yes some of us come and go with bursts of coding/activity but at least the forums are checked every day by about 2 of us. Welcome here! Hopefully this means you're interested in the project  Let us know if you have any specific questions. | | | |
|
Ziberath
 New Member
 Posts:7

 | | 08 Mar 2011 11:16 AM | | I've basically been wading through the code at this time.... trying figure out what exactly the code is doing... I'm also not seeing a section specifically for questions about the source... | | | |
|
Karak Locutus of WheelMUD
 Advanced Member
 Posts:787

 | | 08 Mar 2011 10:47 PM | | As with any large system or codebase, it's probably best to start with a focus on a particular area of the code to learn about and explore it - following to definitions, or debug stepping, etc. We'd like to work towards getting the systems better described in the wiki (IE http://www.wheelmud.net/Wiki/tabid/...rce+code), but for now if you have any particular subject or system you'd like to hear about, I will do what I can to help if it's an area I'm familiar with. section specifically for questions about the source The "General" forum is usually where such miscellaneous code questions are asked. | | | |
|
Karak Locutus of WheelMUD
 Advanced Member
 Posts:787

 | | 08 Mar 2011 10:49 PM | | Anyway, feel free to introduce yourself  What kind of coding background do you have? How did you encounter this project? Etc? We're always happy to see new faces around here. Seeing others be active here tends to help spur us back into activity too, one way or another. | | | |
|
Ziberath
 New Member
 Posts:7

 | | 09 Mar 2011 12:11 AM | | My Name is Tim, I've read the entire wiki I'm pretty sure....
I've been studying programming for nearly two years now up to object oriented programming (java) which is the highest level programming class my college teaches... I learned the basics of c# when I was messing around with XNA, which I fail at because its difficult to make a game when You have the artistic ability of a dead stick...
I first stumbled on to wheelmud 4ish years ago I think back when you were using VS2005 i think.... when I was just getting into programming/XNA... | | | |
|
Karak Locutus of WheelMUD
 Advanced Member
 Posts:787

 | | 09 Mar 2011 09:25 PM | | the artistic ability of a dead stick Good thing text-based game engines don't tend to need that, lol. | | | |
|
Ziberath
 New Member
 Posts:7

 | | 09 Mar 2011 10:32 PM | | Posted By Karak on 09 Mar 2011 11:25 PM
the artistic ability of a dead stick
Good thing text-based game engines don't tend to need that, lol. Yeah thats basically why I'm here lol Is the lead Dev around still? Also can you explain the thought process behind this behaviour system... | | | |
|
Karak Locutus of WheelMUD
 Advanced Member
 Posts:787

 | | 10 Mar 2011 12:54 AM | | I believe Fastalanasa has been pretty swamped lately.
There are a couple basic goals of the Behaviors system. Behaviors should help with Separation of Concerns - for instance, weapon-related code is not located in the core item code, it should all be contained in relevant behaviors. Eventing... Requests which can be cancelled, and then Events which broadcast about something happening... really helps here - for instance the ExitBehavior can expose a context command to the place (typically a room) that it's located in. The exit-related command code is even housed in the ExitBehavior (next to the other code of similar concern). When attempting to move through, a movement request is posted; the ExitBehavior doesn't have to know anything about the existence of various things such as ImmobilizedEffect or JailedEffect which might subscribe to all movement requests made on behalf of the player and cancel them. In other MUD codebases... when you added something like an immobilization spell you'd have to go touching all sorts of parts of the codebase to implement it, such as the exits-handling code.
Separation of Concerns in turn has its own benefits, such as improved testability of a given component.
Behaviors will help improve the composability of very complex item types which one wouldn't want to have to fully define as their own class. For instance, one might assume that Portals will always be unmovable, permanent, indestructable fixtures which a player can enter, one-way, and end up in another location. But then a MUD admin decides to make a portal-creation spell or have a destructable portal or whatnot... One shouldn't have to code up hard classes for TemporarySpellPortal, DestructablePortal, DestructableMovablePortal, DestructableMovableTemporaryPortal, etc... nor should a portal-related class have to start adding properties for every conceivable potential usage which get ignored by 90% of the cases... it is more desirable to just start adding Behaviors to the core Thing and have them all apply their properties to the Thing correctly.
I could go on but I've gotta go to sleep soon. Here are some other good discussions related to the topic: http://www.wheelmud.net/Forums/tabi...fault.aspx http://www.wheelmud.net/Forums/tabi...fault.aspx
Also, don't be afraid to resurrect old threads when you have further questions or comments on something. (I know some communities frown on resurrecting threads but we're generally the opposite.) | | | |
|
Karak Locutus of WheelMUD
 Advanced Member
 Posts:787

 | |
Fastalanasa Grumpy Half-Elf
 Veteran Member
 Posts:1015

 | | 10 Mar 2011 07:33 AM | | Posted By Karak on 10 Mar 2011 02:54 AM
I believe Fastalanasa has been pretty swamped lately. Karak is quite correct. I've been frustratingly quite busy in real life. Got a new job, and I'm spending a lot of time in traffic every day. I'm in the process of figuring out where to work on WheelMUD. | | | |
|
Fastalanasa Grumpy Half-Elf
 Veteran Member
 Posts:1015

 | | 10 Mar 2011 07:38 AM | | Posted By Ziberath on 10 Mar 2011 12:32 AM
Is the lead Dev around still? Karak knows the system just as well, and sometimes better, than me. I consider him an active co-lead. I'm basically the head admin guy, and take care a lot of the million details in the background to keep both the project and the systems that support the project running. I also give guidance on the direction of the project's goals. | | | |
|
Ziberath
 New Member
 Posts:7

 | | 10 Mar 2011 09:22 AM | | Would a BehaviorManager contain a playerBehavior for anything other than a player?
| | | |
|
Karak Locutus of WheelMUD
 Advanced Member
 Posts:787

 | | 11 Mar 2011 12:16 AM | | No, it shouldn't. Something like a 'who' command can be implemented by finding all Things in the world which contain a PlayerBehavior, listing some info about them. The PlayerBehavior itself houses player-specific properties, and I do literally mean properties. Things like the last login date of the player, their list of characters they have "friended", player-specific settings such as their preferred prompt, etc.
Note that this is distinct from the UserControlledBehavior, which helps direct the commands a player sent through their client to the game into actions the attached Thing attempts to perform. IE if a player has some sort of 'possession' effect, the code might transfer the UserControlledBehavior onto the possessed mob. (That part is mainly theory - we haven't actually set that up.) But the point is, a typical "player character Thing" under normal circumstances will have not only a PlayerBehavior, but also a UserControlledBehavior, SensesBehavior, LivingBehavior, MovableBehavior... each part can be read and reasoned about by itself. In a hypothetical MUD where players control tanks directly and don't have 'player' avatars, you don't have to rebuild a whole Player class, you just have to remove LivingBehavior as somethign character creation assigns, add a VehicleBehavior instead, add behaviors specific to your game, etc... Most of the 'core' parts of the game still work great w/out modification. | | | |
|
Ziberath
 New Member
 Posts:7

 | | 14 Mar 2011 09:52 PM | | You guys may want to consider releasing a version of the server that hobbyists can use that doesn't require as much knowledge of C#/ OOD I understand that code but most people who would look at this probably go "WTF is this" lol | | | |
|
Fastalanasa Grumpy Half-Elf
 Veteran Member
 Posts:1015

 | | 15 Mar 2011 03:51 PM | | Agreed. We are not there yet. The main issue is that there is not an easy way to add and edit content to the MUD server in its current state. I've been working on the offline editor quite hard, and it was working for a while. It will need to be redone just to support the new features that are coming down the pipe. I'm thinking that I might create a binary release in conjunction with the source release, once we are ready to deploy milestone 0.5.  | | | |
|
Ziberath
 New Member
 Posts:7

 | | 16 Mar 2011 10:05 PM | | How far is this milestone .50? | | | |
|
Fastalanasa Grumpy Half-Elf
 Veteran Member
 Posts:1015

 | | 17 Mar 2011 10:34 AM | | Not very much, I"m afraid. Look at the issue tracker tab over at http://wheelmud.codeplex.com, and select "WheelMUD 0.5" in the Release box. That will give you a list of items we have tasked for 0.5. This is the best way to tell what's being worked on, and how far along individual items are. | | | |
|