Evennia - a Python-Based Mu* Server


  • Coder

    Everything @Glitch said.

    Everything.

    In fact, so much everything, let me quote it again:

    @Glitch said:

    I think @Reason and @Derp are talking past one another. @Derp wants in-game scripting and won't look at Evennia for its lack of it. It doesn't have to do with whether or not it's python, but that he can't tinker with code in someone else's game.

    I've had this conversation with @Thenomain before, but the number of people who come up this way generally came up through their own curiosity and I think they'd find another route if the platform changed.

    In the general case, most people just want to RP in a convenient, pleasant environment. Most game coders want to make usable and reusable code systems. Putting in a complex scripting system for the small percentage of people who refuse to play somewhere that doesn't let them use that game's code to make their own code isn't worth it. At the very least, it shouldn't be a minimum requirement to start making a game, but rather a "maybe someday".


  • Coder

    @ThatGuyThere said:

    @Griatch
    Well I might not be a member of the exalted ranks of game developers, but I am concerned with the tolls being used in the games i play. so much like when people talk about engines for video games I pay attention to what is going on because it effects me.
    Nice condescension in your post, though still does not address my question of how is the new shiny thing better if it does not offer the features we have grown used to? Cause honestly if I logged onto a game and was told building was not possible I would log back off. And if you don't want to talk to us lowly non--developers there is a whole group for code talk. Where I am guessing most of us peasants don't post.
    There are essentially two important facets of a game to me, quality or role play, which is rather independent of code, and does the code have ht tools to help facilitate that role play.

    I had no intention to be condescending, if that was how it was perceived, I apologize.

    But there is a difference between end-player experience and game-developer experience from the perspective of me as a library developer. A game coder using Evennia would (supposedly) listen to you as a player and use the tools available to them to appease you with the features you want from a game. All I'm saying is that those tools are available. But it's certainly true that it's not coming out of the box, so the developer would need to do some more work to implement them compared to picking up a standard mush code base. I have explained why we feel the developer is helped by the use of Python on the backend, but this is of course always going to be a matter of preference.
    .
    Griatch


  • Pitcrew

    Fair enough and part of the reason I bring up questions is to spur that thought by developers. In the MUSH community there is less of a divide between players and developers, we are all pretty one big soup. so when I mention things that might need to be added I do it at least partially because people reading this boards will be the ones making the games I play. Heck Theno has coded on or supplied code for at least 4 games i have played in the past and likely more. That is why I insert player concerns into these threads.

    My second concern is compatibility with the clients currently in use but that is likely a whole different kettle of fish.


  • Creator

    To quote my self from the Shadowrun! post that this one spawned.

    I'm the owner of Deep Shadows. I'm absolutely loving the coding for it, and Python offers so much more of an option that any other code base I've messed with. As far as not having the softcode, that's trivial. There are ways to work around it. They do offer an in game @reload that allows for any new code to replace the old, minus a few things here and there. But if a coding mook like me can learn Python, anyone can."

    I've played around with other Server types before settling on Evennia. I've played around with the softcode in the past too, of other server types, and it's such a pita to learn. Honestly, I can't believe how much easier it is to learn Python.


  • Coder

    I had this discussion with someone who doesn't understand this thread, trying to explain it to a Musher. It goes a bit like this:

    [10/12/15, 3:16:45 PM] Thenomain: There are some softcode (“script”) interactions, but not in the way where you can take, say, a base Evennia game, log in, and do the rest.
    [10/12/15, 3:17:02 PM] Thenomain: There is no “log in and add things”. It’s all “get the game owner to add things”.
    [10/12/15, 3:17:46 PM] Thenomain: Advantage: Make complex changes like “a stat system” super easy.
    [10/12/15, 3:17:48 PM] Coin: Right.
    [10/12/15, 3:18:04 PM] Thenomain: Disadvantage: Make simple things like “a dog that barks when someone walks into the room” super hard.
    [10/12/15, 3:18:10 PM] Coin: Disadvantage: Make any change--yeah.
    [10/12/15, 3:18:35 PM] Thenomain: The complex systems should be system-level anyhow. Those are globals. Globals should always go through a vetting process anyhow.
    [10/12/15, 3:21:05 PM] Thenomain: Even if that vetting process is Cobalt saying, “Hey, can I do x?” and me saying, “Yes.”

    The disconnect I'm seeing (and why I'm praising Glitch) is one between Developer and Casual User. Asking the Casual User to become a Developer is, if I can be a bit brash and hyperbolic, "Not the Musher Way".

    MOO allows people to code from within the system, to make their own little game systems and toys, their own limited games with real code. MUSH just went the PHP/Whatever Works system. But for what it does, it does work.

    I hope this clarifies for the server-coder minded "MUDlike" people.


  • Coder

    @ThatGuyThere said:

    Fair enough and part of the reason I bring up questions is to spur that thought by developers. In the MUSH community there is less of a divide between players and developers, we are all pretty one big soup. so when I mention things that might need to be added I do it at least partially because people reading this boards will be the ones making the games I play. Heck Theno has coded on or supplied code for at least 4 games i have played in the past and likely more. That is why I insert player concerns into these threads.

    My second concern is compatibility with the clients currently in use but that is likely a whole different kettle of fish.

    The shared coding aspect tradition of MUSHes is a very fair point. Evennia is not designed (at least not out of the box) for doing such shared coding in-game. Rather it is built for people contributing using professional external code-sharing tools and version control systems. For more advanced game systems, I would propose this is a world-proven, well-developed and highly efficient way to collaborate on code. No server access is necessary to contribute this way, but there is no way around that it is different and a touch more involved than in-game softcode coding.

    @Tirit
    This seems to echo the experience of other MU* coders involved in the Evennia community.
    As pointed out by @thenomain, @glitch and @ThatGuyThere though, the issue is not really softcode vs Python (as I understand it) but who may code the game and when it can be done. And here Evennia does default to work differently from traditional MUSH.
    .
    Griatch


  • Coder

    @Griatch said:

    a touch more involved than in-game softcode coding

    I still do not understand Git. I can use it, in the way that I can "use" a stick-shift if someone doesn't particularly care about the transmission. I have fucked up some pretty simple push/pull/get/clone situations, because I had no idea that the workflow required that Step A needed to be done before Step B. Some day I'll understand branches.

    If I get involved, get ready for a lot of "... what?" style responses. This is one of the major reasons I haven't yet gotten involved. I can let the adult coders play and hope that my repeatedly saying, "But we need X" filters into someone's brain until it's stable enough for me to get my hands dirty.


  • Pitcrew

    @Griatch

    Exactly I that is why I said I was code base agnostic,. I have no love for mush code, but things like building my characters place of business, if it the type of place that would see rp frequently or his lair, or even being able to set my own aconnect so it pulls up the info I want right way on connection are important to me. I am willing to learn new commands to do them but not willing to give them up.
    I know there are some people that are the same with multi-descers because they love having a ton of outfits.


  • Creator

    @Thenomain

    I still do not understand Git. I can use it, in the way that I can "use" a stick-shift if someone doesn't particularly care about the transmission.

    If I get involved, get ready for a lot of "... what?" style responses.

    I have to say that setting up the git has, and continues to be, one of the more difficult issues when I've tried to recruit developers. So much so, that the way I've thought about doing the development has changed. Initially I was just depending on developers to set up their own test server, until Deep Shadows opened to the public, but now during even the initial development status, I'm starting to look at setting up a development server and giving developers direct access to it so they can do what they need. Creates a simple version control yes, but much more demanding on the owner side to set that up,


  • Coder

    @ThatGuyThere said:

    Exactly I that is why I said I was code base agnostic,. I have no love for mush code, but things like building my characters place of business, if it the type of place that would see rp frequently or his lair, or even being able to set my own aconnect so it pulls up the info I want right way on connection are important to me. I am willing to learn new commands to do them but not willing to give them up.
    I know there are some people that are the same with multi-descers because they love having a ton of outfits.

    Customizing your game objects with your own descs, rooms in your shop or configuring your account is not really "softcode"-related as far as I understand softcode. If this is the kind of functionality that is needed, Evennia can most likely offer it quite easily. I might be confused just what level of "building" you are referring to. Could you give more specific examples of building you as a player expect to see?

    Edit: I realize softcode is technically used for almost everything in MUSH world, but I think it's a difference between what is basically advanced building commands and actually making in-game "code flow".
    .
    Griatch


  • Coder

    @Griatch said:

    Edit: I realize softcode is technically used for almost everything in MUSH world, but I think it's a difference between what is basically advanced building commands and actually making in-game "code flow".

    Yeah, this is a core issue in MUSHlikes. There is little difference between @create and @ahear. Both engage hardcode (server-level) commands, but do an entirely different set of things.

    The @listen/@ahear combo is probably one of the first things people use for toys, and used to be the first experience for Mushers to softcode. Nowadays it's the "multidescer", which I refuse to code a global one because I don't think there's a good way to do it. Everyone has their favorites, and I don't know if I'd want to install 3-4 different types globally just to appease every different type of person. Let them code their own or clone someone else's.

    If they can.


  • Coder

    @Tirit said:

    I have to say that setting up the git has, and continues to be, one of the more difficult issues when I've tried to recruit developers. So much so, that the way I've thought about doing the development has changed. Initially I was just depending on developers to set up their own test server, until Deep Shadows opened to the public, but now during even the initial development status, I'm starting to look at setting up a development server and giving developers direct access to it so they can do what they need. Creates a simple version control yes, but much more demanding on the owner side to set that up,

    This is an interesting anecdote! Was the issue related to devs not knowing how to install Evennia itself or was there some other problems? Did you try with a free private repo on something like bitbucket as a way to share code?
    .
    Griatch



  • If the fear is owner only can do "things", couldn't you just give rights to the code folder? Let people dump their shit code right in and run like the wild west?


  • Pitcrew

    Alright quick example from my experience. I made a char who as a job worked in a comic store, there was no comic store on grid. No biggie I did not think I would rp being at work much. RP happens my char mentions said job people want to pop in a visit him at work scenes take place there so I decide to build it.
    I co to the build nexus and dig the rooms make the exits get is all connected together, get the success and fail messages set and then put in a request to have it linked to the grid. A couple days later after build staff looks though it to make sure I did not mess anything up it gets put on grid and rp in it continues.
    Or another example on a different game, in cgen spend point on having a free hold, this gets approved so before hitting grid. There the process was a bit longer. I put in a request to build it gets approved I do the building of the project in this case three rooms, grounds, house, freehold, I add the the request I am done then it gets looked over and linked to grid.
    So basically the ability to @dig and create exits etc. not so much abotu altering a room there but taking an idea for a place and turning it into a room.
    Also on MUSHes the billboards, mail system, and channels for the most part are soft-coded as well.


  • Creator

    @Griatch said:

    This is an interesting anecdote! Was the issue related to devs not knowing how to install Evennia itself or was there some other problems? Did you try with a free private repo on something like bitbucket as a way to share code?

    I've got a repo setup at gitlab.com (not github) and I add developers to the repo.
    The problem is they're not as familiar with git, and frankly I'm not either, so while doing merges or setups, it gets screwed up. So no, the problem isn't with Evennia itself, it's the lack on knowledge.

    Although I must say, that it would be interesting to an evennia --init option that allows for the folders to be setup with all the basics, but lack the typeclasses or commands. So it would be something that people can pull and git --init to directly without having to delete the files Evennia puts in.


  • Coder

    @ThatGuyThere said:

    Also on MUSHes the billboards, mail system, and channels for the most part are soft-coded as well.

    Mail is hard-coded these days. Only on Penn (and for their own reason, Haunted Memories) do I know the channel system softcoded. The bboards should be hard-coded. As well as the cron system. As well as the stat system. As well as the dice system. As well as ...

    If you see what I mean.


  • Coder

    @ThatOneDude That's an awful idea for Evennia, because it's much like giving every character on a MU a wizbit.

    @ThatGuyThere Those are all systems that would do better as globals created by a coder that allows for usage of those systems (up to, and including, a generic room builder). This is a system that wouldn't need to allow for in-game scripting in the style of MU soft-code. It's just that no one has made those systems in Evennia yet.

    Like @Thenomain said, it is the mutli-descer coder, or the person that makes their own deck of cards for poker, or an eight-ball object. It's the tinker level of coding that can't be done in Evennia, but which I argue should not be necessary for a game. The gains for usability, extensibility and maintainability outweigh the occasional person's inability to write tinker code on your game.


  • Coder

    @Glitch said:

    Like @Thenomain said, it is the mutli-descer coder, or the person that makes their own deck of cards for poker, or an eight-ball object. It's the tinker level of coding that can't be done in Evennia, but which I argue should not be necessary for a game. The gains for usability, extensibility and maintainability outweigh the occasional person's inability to write tinker code on your game.

    Hobbyists vs. Professionals, FIGHT.

    Mind you, Glitch, you said I was foolish for not giving people on Eldritch a Quota so they can tinker-code. I agree that creating a good development platform is of top priority, but I won't concede that not being able to create individual code is not just beneath "mission critical".

    (edit: I think I broke about five rules of english with that last sentence. tinker-code be important, yo.)


  • Pitcrew

    @Glitch
    Fair enough though I do like a lot of the tinker code bits I have seen most places even if I do not make them myself.
    For what I gather Evennia makes big things easy to do but at the cost of the small fun bits. All I can say is best of luck but I probably won't be adapting to Evennia games until all the old mush style games are gone.
    No offense meant but for me the small fun bits are important too.



  • @Glitch said:

    @ThatOneDude That's an awful idea for Evennia, because it's much like giving every character on a MU a wizbit.

    I was being sarcastic (which doesn't translate well in text) from reading the previous posts in the thread. It read like listening to people I work with complain about versioning control. We have git set up internally within our network and use it as a repository and to assist with version control, works great.