MU Soapbox

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Muxify
    • Mustard
    1. Home
    2. Griatch
    3. Best
    • Profile
    • Following 0
    • Followers 1
    • Topics 23
    • Posts 375
    • Best 172
    • Controversial 0
    • Groups 2

    Best posts made by Griatch

    • RE: Evennia - a Python-Based Mu* Server

      @ThatGuyThere said:

      @Griatch said:

      Our lack of more advanced builder sctipting tools like this has more to do with this being something quite game-specific (Evennia is game agnostic) along with no one having wanted it enough to add it yet: Evennia's command system should be flexible enough to handle it without any core changes.

      I think this quote right here might be a big part of the cultural issue. I have never MUDed, so don't know that culture but literally every MUSH/MUX I have every been on from the small maybe ten player total game to sprawling monsters what have over a hundred on at any point in time have had building capabilities. So it is not something that is really game specific or even genre specific, since I have played WoD, Superhero, Star Wars and Fantasy games in my time online.
      I am rather agnostic towards a new code base or interface but if the one you are suggesting takes away features that I know and use in the games right now, why as a player would I be motivated to make the switch?

      If you are not a game developer, I don't see much reason for you to be interested in a game development library, no. Evennia is a system for building multiplayer text games. If you are a developer though, you might use the tools Evennia offers to create whichever experience you want your players to have - be this MUSH-like or MUD-like or something new altogether.
      .
      Griatch

      posted in Mildly Constructive
      Griatch
      Griatch
    • RE: MUDRammer help?

      Update: People reported that my fix on the Evennia side resolved the issue with mudrammer. So we could close the issue and everyone lived happily ever after in the best of worlds. 🙂
      .
      Griatch

      posted in MU Questions & Requests
      Griatch
      Griatch
    • RE: Make Evennia 'more accessible' - ideas?

      @Thenomain I started a new Evennia Glossary page here and link to it from the Getting-started instructions, which I also rephrased a bit. I try to cover some common terms of confusion in the glossary and link to deeper layers of the documentation where appropriate.
      Check it out to see if things become clearer. There are no doubt more terms one could add in the future and phrasing to tweak for clarity.

      @apos said in Make Evennia 'more accessible' - ideas?:

      Hmm, one suggestion- a step by step tutorial of building a couple simple commands added to characters in game I think would be very useful, since I think most MUSH players think in those terms for implementation.

      We do have many tutorials involving building/adding game commands from scratch. They tend to not be aimed specifically to MUSH-style commands though. What would you suggest to be a good example project?

      @sparks said in Make Evennia 'more accessible' - ideas?:

      @griatch (and anyone else); I'm very open to suggestions for what Paxboards should look like as a final thing. I'd love to flesh out out more to where people can use it easily and have it suit their needs.

      Installing it is a breeze and while look is simplistic, that is easy to tweak down the line. I think my main issue right now is that I think people expect a minimum of convenience functionality from any forum software (on the web side) even before expanding with eventual custom stuff their game needs. This ranges from standard staff modding capabilities to the ability of users to have a graphical avatar. Since the audience is a development community, a clear path/instruction for how to add extensions to the forum system is probably also a good idea.

      As a reference, here's a matrix of the capabilities of existing Django forum softwares (none of them having the ability to sync with an in-game bboard, obviously!) Not all of the things in that matrix feels necessary for an embedded game forum. We could discuss what would be a 'minimal' expected feature set in our case.
      .
      Griatch

      posted in Game Development
      Griatch
      Griatch
    • RE: Evennia - a Python-Based Mu* Server

      @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

      posted in Mildly Constructive
      Griatch
      Griatch
    • RE: PennMUSH Webclient

      Great to see the use of HTML5 web clients on the rise all over the hobby! 🙂 This looks like a nice and useful addition.
      .
      Griatch

      posted in MU Code
      Griatch
      Griatch
    • RE: Make Evennia 'more accessible' - ideas?

      @Derp I reworked that section a bit, adding more details and rewording things a bit. 🙂
      .
      Griatch

      posted in Game Development
      Griatch
      Griatch
    • RE: Evennia - a Python-Based Mu* Server

      @Derp

      I hear you on the softcode's abilities. The boring answer is "Yes, you can totally implement softcode in Evennia without modifying Evennia itself. And no, it's not there out of the box". Bear with me though, I'll try to further explain this stance from the Evennia perspective.

      Firstly, let's separate between developers and players. Whereas this distinction is fuzzier in MUSH softcode than in other game styles, I'm willing to bet there are still people who are actually trusted to modify the core of the game experience for everyone and others that are not. For this analogy let those be the developers and the players respectively. In both cases I think we can assume that developers are the ones expected to learn the tools the best, are accountable for keeping coding standards and generally maintaining the game's best practices. Only developers can make "cheating" stuff that affects others than themselves (so if you are offering totally free online coding like lambdaMoo this analogy fails).

      Let's start with the multidescer since it's a concise example. From the perspective of the player, you have described this as a command that you use to add one or more descriptions, also with the possibility to swap one's active desc later. The player also expects to be able to modify the call signature of this function and even how its arguments are input.

      Now, in Evennia, the functionality of the multidescer is the work of the developer. Coding it in Python is simple: without going into the technical lingo, it's a matter for the developer to just add multiple description storage slots on the character - these are automatically persistent and can be searched, organized and modified very efficiently. The default @desc command would maybe be expanded to look something like this: @desc/store name_of_description = description. It may even accept an optional list of inputs if you wanted that. Internally, this would just be added to the storage and could easily be retrieved later by whatever syntax you want in order to actually update the desc property on the Character.

      So how about the players' ability to modify their experience of this functionality? Evennia has a "nickname" system (controlled in-game by @nick by default). This replaces the input dynamically. So you could this way change the @desc to be called as +desc or +d or whatever you prefer. This is out of the box. Changing the argument list is more complex; for this the developer need to supply something like an @aliascommand command, something that maps the players's input to the real command:

      @aliascommand "@desc #1 = #2" = "@desc #1 & #2"

      This (rather trivial example) would henceforth allow the player to use +desc name & description to call @desc. There is no @aliascommand in Evennia out of the box, but it would be a simple enough thing to add for the developer deciding their players expected such customization.

      Now, this is not softcode. It does not offer the same flexibility as softcode. But it does offer the player the ability to change how they call their commands, changing their experience of the core functionality as defined by @desc. Could the player, say, add an echo to the room every time they update their desc? No, not without the underlying Python implementation changing. Could the developer (knowing their audience) predict this need and offer any number of callback slots for people to change and customize? Certainly - they could even parent all (player-access) commands in their game to such configuration functionality if so desired.

      Now for the tarot deck. What the developer would make available here would not be a Tarot deck. It would instead be a generic "card deck" object that players could spawn and customize into a "Tarot deck" on their own: the general functionality and properties of a card deck is after all straight forward and generic. Could the developer add slots for different echoes happening when drawing specific cards? Certainly. Could the player make the drawing of a card cause in-game effects beyond an echo, like putting the room on fire or cursing someone? No, and most likely making an object with a real game-effect like that would be susceptible to cheating; it is probably not be something a player should have the right to create - it would still need a developer's (or at least staff's) input/approval on , also in a MUSH.

      As you know, contrary to MUSH, Evennia requires this game effect to be done externally, in Python. Here Evennia says: Let the player, if they want to contribute, temporarily be their own developer. Using any external code tools they want they can make their modified tarot deck and offer it up to the developer using proper code sharing tools (no server access required, heck they could just post the source code directly if they didn't want to use version control). The developer can then review this, including giving online feedback etc and accept the modified tarot deck into the code base where it can now be used.

      I would argue (and this is of course where opinions differ) that for the average player to extend a tarot deck beyond the customization that a developer can think of to offer, they will need to learn some more intricate programming regardless of whether it's softcode or Python.

      In general I don't think a MUSH developer has any real practical reasons to dislike using external code tools, version control and code sharing resources. For them, using Evennia would mainly be a matter of learning a different workflow - a chore for sure, but one that may be considered worthwhile for Python alone (so far I've not seen any arguments in this thread that softcode as a language is a superior one).

      The easy code-contribution of those more advanced players (the ones who want to make world-affecting tarot decs) is a separate, but most real concern. While Python is very easy to learn, it's a fair point that old-time players of a MUSH are more likely to know softcode than the average populace. Needing external tools (and Python which is not seen in-game) for contributing is undoubtedly a higher hurdle for them. How common those more advanced players actually are in your particular game is really what should influence the weight of this argument: As evident from the comments of various MUSHers in this thread, the assigned importance of input from this type of player varies quite a bit. But to repeat - it's a real concern that may indeed make Evennia's paradigm unsuitable for you out of the box.

      To sum up (tl;dr?): Will there be things that a player can think of to do in softcode that they can't do out-of-the-box in Evennia? Yes, most certainly, at least not without implementing a softcode-equivalent running on top of Python. How important this difference is depends on the forethought of developers and just how much softcode freedom your game's average player actually uses in practice.

      ... Conversely, will there be things a developer can do in softcode that they can't do with Python? No. My impression is that most things are instead a lot easier, which is one of the main drives for MU*ers trying out Evennia in the first place.
      .
      Griatch

      posted in Mildly Constructive
      Griatch
      Griatch
    • RE: Mocker - Complete TinyMUX setup with Docker

      Always nice with more install options! I would suggest putting up your Dockerfile in a github repo somewhere if you want feedback on it.

      Docker images can be very nice for production deployment. I've however found that the whole concept of a docker image can feel so alien for people that it doesn't help newbies very much. Our official Evennia image is mostly appreciated by those who already know that they want a docker image (and those people could install normally without a problem).

      I'm sure it depends a bit on the layout of the application you are dockerizing of course. In the case of MUSH it might be a better fit since all development happens in softode so once the 'hardcode' runs you don't need to bother with it much.
      .
      Griatch

      posted in MU Code
      Griatch
      Griatch
    • RE: Make Evennia 'more accessible' - ideas?

      @sparks said in Make Evennia 'more accessible' - ideas?:

      @pyrephox said in Make Evennia 'more accessible' - ideas?:

      @sparks Remember that it doesn't have to be the BEST resource. Just one that lets the prospective coder (who, remember, maybe doesn't actually enjoy coding, but just wants something functional enough to do what they do enjoy, i.e. design the game) fumble their way through something that works.

      I added some links and more verbose comments to the (currently) final source example, which I desperately hope helps.

      @Sparks Maybe build off/reference Evennia's Python intro, which does give brief a tour of Python classes in Evennia?
      .
      Griatch

      posted in Game Development
      Griatch
      Griatch
    • RE: Evennia - a Python-Based Mu* Server

      @Derp

      XKCD is as always spot on. There is a lot of useful resources in Python's standard library, sometimes it does feel quite empowering to just do import X and instantly have the tools needed to solve whatever it was one was working on.
      .
      Griatch (flying to a new location for better reception)

      posted in Mildly Constructive
      Griatch
      Griatch
    • RE: AresMUSH Updates

      Good work with getting Ares into shape. I'd not be too fixated on the "1.0" version number though. Just be clear on what level of stability you think your system is and communicate that so people know what to expect.
      .
      Griatch

      posted in MU Code
      Griatch
      Griatch
    • RE: Make Evennia 'more accessible' - ideas?

      @bored said in Make Evennia 'more accessible' - ideas?:

      So, following up on my weekend project: I decided to take all the individual turnbattle contribs (which are each a self-sufficient system for one aspect of a system), merge them together, and make something using several parts at once. For instance, combining the range abstraction system with the magic system to make an AoE spell. I was able to do it, so, mostly a success!

      What I will say struck me as the greatest frustrations along the way were all more about figuring out where something was or how I was supposed to implement it vs. strictly not having any idea how to do it. Sorting out the relationships of the various modules and classes, your game code vs. base evennia, understanding which ancestor you should be inheriting from or overloading (DefaultX vs. X),

      This is useful experience! Let me ask - which tutorials/texts did you read before getting into things? Did you go through the python tutorial part 2 for example? Just checking since that one includes a tour up the dependency tree into the "DefaultX" (DefaultObject, DefaultScript etc) base classes. I hope you found you could work with the X classes (Object, Script etc) directly after the initual confusion.
      Do you think something in particular could be done to make it easier to figure out the relationships of classes/modules etc? Or to guide you to the right info about it etc?

      where you can put your code and have it actually work vs. needing to call it in some other thing, and how to get your functions and commands accessible.

      Was something in particular making this harder than it needed to be, you think?

      In my case, I ran into a really arcane (to me anyway) problem with the base classes, commandsets, and circular imports. Totally my bad, and while I did figure out how to get around it (basically, that I needed to refer to commandsets explicitly vs. importing), I think it's an example of the many ways a new user could get stumped.

      Could you elaborate more on what the issue was there, not sure what you mean by "explicitly vs importing"?

      Overall, I was still able to build something really impressive for the time invested, so I think that says a lot for how powerful the codebase and contribs are. In terms of what trips people up, I only have my own experience but I hope its useful representing one kind of potential user.

      @thenomain said in Make Evennia 'more accessible' - ideas?:

      My goal right now is to get to "code python".

      I think this is actually a good summary. The greatest challenge is getting past the libraries, APIs, etc toward actually doing the code you want to write.

      Learning a new library is always going to be a learning obstacle. All we can do is to ease the level of entry.
      .
      Griatch

      posted in Game Development
      Griatch
      Griatch
    • RE: Evennia - a Python-Based Mu* Server

      @Apos said:

      I registered to reply to this thread after I noticed it because of how close it is to my experiences. About six months ago, I decided to start creating a new MUSH with my room mate. I've been MU*ing for a few years with a decent amount of soft code experience but no experience at all with Python while he had very little MU experience but a pretty heavy computer science background. We had a pretty big argument since he was horrified at softcode and didn't want to learn it, while I was extremely reluctant to try something I had no familiarity with at all, but we went with Evennia.
      I'm SO glad we did. While definitely a few features would have been faster to add as we stumbled, there's a good amount of features we're adding that would have been flat out impossible with softcode. Particularly on the web framework side. One nice thing is that since django is bundled into it, you can do a lot of stuff for web support rather than just use an external wikia. We're still working on this ourselves, but there's a lot of potential there to have a far more rich web experience than just wiki character sheets. When you think of how critical wikis are to most games, there's a large potential for eliminating tedious tasks players often complain about, like cleaning logs or updating things about their characters sheets that would be reflected on the web. Ultimately the game might wind up being closer to a web browser game than a true MU, but with how niche MU gaming is I think if anything Evennia will lower the bar to entry rather than raise it.

      I'm very glad to hear this! Django is very powerful, there's a lot to do there and I think people have only just scratched the surface on what you could integrate with your game that way. On the client side we hope to enhance our web capabilities further and make it even easier to expand in that regime. Do you have a website or blog somewhere with information about you game/progress so far - would love to read more about it!
      .
      Griatch

      posted in Mildly Constructive
      Griatch
      Griatch
    • RE: Coordinates-based Grid

      @faraday

      Correct, the default Evennia pose is not using .search() directly. Most likely one would instead tweak the .location property to mean something else should it come to that. But yes, a large amount of code is no doubt going to be needed either way (as I noted in my first post). Regardless of how many of the default commands needs to change, the game style is such that the dev will need to add a lot of custom systems.
      .
      Griatch

      posted in MU Code
      Griatch
      Griatch
    • Give feedback on direction of Evennia's demo game Ainneve!

      Ainneve is a community project to create a 'demo game' for Evennia - both as an example of what can be done but also as a well-documented and modular resource/base for people who wants more of a ready game to start from than what the Evennia library offers today.

      Ainneve is not finished but so far Ainneve has had a MUD-like feel with a vanilla fantasy tone. Maintainer Chainsol/Nicholas Matlaga just posted a suggestion for moving Ainneve in a more humourous/satirical direction - not only may this help inspire more people to help out, it would also motivate mixing concepts from different sides of MU-dom (like MUD and MUSH) together and overall take wider turns. In a humorous demo game, internal consistency is also less of a concern.

      Please check out his post below, and comment!

      https://groups.google.com/forum/#!category-topic/evennia/ainneve/4JoJq87KLEE

      .
      Griatch

      PS: Ainneve is intended as a community-driven and -created project, so core Evennia devs like me have deliberately stepped back from playing a big role in it - I'm just reporting here.

      posted in Game Development
      Griatch
      Griatch
    • RE: Evennia - a Python-Based Mu* Server

      @Thenomain, @WTFE, others

      I pushed a development branch of Evennia that implements nested inline-functions as discussed in the last few pages of this thread. If people want they can check out the implementation and test it.

      These use in-game structures of the form $funcname{arg,arg2,...} (thanks to @WTFE for some of the arguments around syntax!), where one can escape commas, inlinefuncs and } inside the arguments either with \ or by wrapping verbatim text strings in the Python triple string markers (""" or ''' , this means you can add inline-funcs in normal say-quotes without them getting escaped).

      New inline-funcs are added by the developer by use of a normal Python function on the form funcname(*args, **kwargs), where *args in Python means "any number of positional arguments" and **kwargs means "any number of named keywords". Here, *args (a tuple) will hold the arguments given to $funcname(arg, arg2, ...) in-game and **kwargs is left for Evennia to make relevant state-information (such as Session info) available to the function.

      The |-style color codes were also put into this branch as a test, as per issue #818. The existing {- style color codes and non-nested inlinefuncs are still functional during a transitional period.

      This is a development branch, so constructive feedback and testing is appreciated. 😃
      .
      Griatch

      posted in Mildly Constructive
      Griatch
      Griatch
    • RE: I made a Python-with-Evennia tutorial (looking for feedback)

      Thanks for the nice comments, glad to hear it could be useful to people!

      @cobaltasaurus said in I made a Python-with-Evennia tutorial (looking for feedback):

      @griatch THANK YOU

      You are welcome!

      @thatonedude said in I made a Python-with-Evennia tutorial (looking for feedback):

      @griatch This is good stuff. I've been playing with Evennia and reading over all the documentation and you guys have done a great job.

      Glad you think so. 🙂

      @bad-at-lurking said in I made a Python-with-Evennia tutorial (looking for feedback):

      Reading that makes me foolishly optimistic about learning Python and being able to self-sufficiently run a game. So well done there!

      Python is often considered one of the simpler mainstream languages to learn and we have plenty or people learning Python/programming through Evennia actually. So it's certainly doable!

      @ixokai said in I made a Python-with-Evennia tutorial (looking for feedback):

      The purist in me balks at describing print as a function; its a statement in Python 2 without a future import. That you can call a statement with parens around its arguments is just an accident of the fact you can put parens about nearly anything in Python. Its a function of parens are grouping syntax, and they don't make tuples-- commas do.

      Thanks for the feedback! This exception to print is mentioned in the immediately following paragraph but yes, calling it a 'function' is indeed technically incorrect. I didn't think this was something a complete newbie would gain much from learning out the door. I felt it better to learn calling print as a (sort-of) function from the get-go so that the concept of a function was introduced early and can be referenced later in the tutorial when a real function is created.
      .
      Griatch

      posted in MU Code
      Griatch
      Griatch
    • RE: Has anyone ever set up a server just for a small group of friends?

      We have people that have used Evennia to run tabletop RPG sessions for their remote friends. There is also a tutorial for how one could set it up.

      posted in Game Development
      Griatch
      Griatch
    • RE: Non-MU* online roleplay

      @Arkandel

      I wrote a rather lengthy tutorial that covers most of the things you want. Alas I'm traveling for Christmas and won't have time to work on it before New Years ... so it's thus not fully complete nor tested and may likely contain bugs in example code. But if you keep in mind these caveats you can peek at the current state here:
      https://github.com/evennia/evennia/wiki/Evennia-for-roleplaying-sessions

      It will have to do for now. Enjoy!
      .
      Griatch

      posted in Mildly Constructive
      Griatch
      Griatch
    • RE: Artists and Artsy People

      @Sundown said:

      I found that the Stabilization option in Manga Studio is the best thing in the world if you want to draw with a tablet. It makes drawing and sketching so much easier.

      Krita also has line draw stabilization - multiple variations of it in fact. I don't use it much myself but for certain things it's certainly useful.
      .
      Griatch

      posted in Tastes Less Game'y
      Griatch
      Griatch
    • 1
    • 2
    • 5
    • 6
    • 7
    • 8
    • 9
    • 8 / 9