MU Soapbox

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

    Posts made by Griatch

    • RE: Which text editor?

      @Tyche said in Which text editor?:

      @Griatch said in Which text editor?:

      All of Evennia is coded in vim. 🙂

      If I submitted a patch using Visual Studio Code, would you be able to sniff it out?

      Hah, I would know to look for it now! 😛

      When recruiting coders, I sometimes out of the blue throw in the question about which editor they use. It matters not to whether they get employed or not, but it's fun to see them handle that question - some squirm and are really reluctant to admit what they are using for fear of ending up on the opposite side of whatever I prefer.
      Most often it just lightens the mood though. Pros may banter about it but don't really argue editors that much, they use whatever helps them. 🙂

      posted in Tastes Less Game'y
      Griatch
      Griatch
    • RE: Which text editor?

      All of Evennia is coded in vim. 🙂

      posted in Tastes Less Game'y
      Griatch
      Griatch
    • RE: Tablet keyboard

      I use a Twiddler now and then for mobile typing. It's a one-hand chorded keyboard. Not so much for tablet use as for the phone admittedly. Can type to the phone when walking without even taking it out of my pocket. Great for note- taking or writing stories, never tried to MUD with it.

      As for the OS wars, AmigaOS should have won them. Now get off my lawn.

      posted in Tastes Less Game'y
      Griatch
      Griatch
    • RE: Evscaperoom - a full playable multiplayer 'escape room' in Evennia with a layered story and multiple endings!

      As a minor update; the Evscaperoom engine is now distributed together with Evennia as an optional contrib if you want to make your own multiplayer escape-room.

      It is also playable in its full form on the Evennia demo server (which you can find from http://Evennia.com).

      posted in Adver-tis-ments
      Griatch
      Griatch
    • Evennia development blog Sept 2019

      Some updates on the current state of Evennia development, including some nifty pictures of the webclient's new image support and the third-party Unreal Engine Evennia plugin (!).

      webclient with image support
      Unreal Evennia plugin

      http://evennia.blogspot.com/2019/09/blackifying-and-fixing-bugs.html

      posted in Adver-tis-ments
      Griatch
      Griatch
    • RE: Do you care about other people's music?

      @Thenomain said in Do you care about other people's music?:

      @Auspice

      Am I the only person left on the planet who doesn't use Spotify?

      You are not alone. I never used Spotify.

      I have digitized my old CDs and open a YouTube video with a movie track to run in the background now and then. I like music, I even make my own at times. But I don't have a need for it to get other things done.

      posted in Mildly Constructive
      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: Getting Young Blood Into MU*'ing

      @faraday

      I still think it's the persistent 24/7 world with mostly-live scenes that is the principal defining quality of MUSHes compared to other online RP, but that's just me.

      ... and you just described an RP-heavy MUD. 😉

      We are all dealing with text-based, multiplayer, persistent worlds for [various degrees of] role playing. That's enough for me. Those terms encapsulate what I enjoy about this sub-genre of gaming.

      I see games made in Evennia as Evennia games. Arx is this an Evennia game to me. AresMush makes AresMush-games. Penn/RhostMush makes Penn/RhostMush games, LambdaMoo makes LambdaMoo games. There are DIKU-Mud- and Circle-Mud- and LPMud-games along the same veins as there are Unity-created platformers (yes I know you can argue that DIKU is less of an engine and more of a source code you rewrite, but ...)

      The variation of game-styles created on each engine is so big that, in my view, the engine name is really the only relevant thing grouping them together. Trying to let the engine name represent a game style is not only confusing (and why no-one can agree on what a 'Mush' truly is in here), it also leaves other types of games made with the same engine in limbo ...

      posted in Mildly Constructive
      Griatch
      Griatch
    • RE: Getting Young Blood Into MU*'ing

      @Auspice said in Getting Young Blood Into MU*'ing:

      Well, I put the Arx one on @Tehom more than @Griatch.

      @Tehom has really done a great job with Arx. He's not needed much help from the Evennia community at all; he mostly contributes stuff to us upstream and now and then pops in to report any weird Evennia errors he finds in the process of running Arx. 🙂

      Evennia is still super intimidating (I love it in concept and if I was good with Python I've got like, 3 different ideas for the codebase ... but I am not remotely strong enough a coder to even begin).

      I understand this is your perspective of it (which is fair). Any new code/language/system can be intimidating when coming to them fresh, especially if having little or no programming background.

      However, those using Evennia appears to overall find it a pretty easy system to use. Yes really. I can't really say more than "appears", since I'm a bit too close to it to make definite claims like that. It would be interesting if some third party actually using Evennia for real could make a review of it on here to show the developer's perspective for once.

      Yes, tech is important. Yes, it can help get new blood.
      But these solutions are still geared towards 'people already here.' (aka someone brand new who has never heard of MUing is highly unlikely to grab Evennia and build a game)

      You'd be surprised. People start game projects for all sorts of reasons, and a text-based game world (even multiplayer, woah!) is actually a very tempting self-learning project for getting into programming/game-dev/IT/whatever. If those devs actually end up contributing something worthwhile to the community is another matter of course. But they do come.

      posted in Mildly Constructive
      Griatch
      Griatch
    • RE: Getting Young Blood Into MU*'ing

      @Joyeuse said in Getting Young Blood Into MU*'ing:

      What primarily keeps me there, though, is just being able to write. I've been trying to piece together attempts at possibly running PRPs because I want to contribute to worlds that feel like they're sort of persistent and living around whatever I'm doing. Some moreso than others, but with the same conceit, without falling into the "Living Worlds" of communities like Roll20. I enjoy writing multiple descriptions, fluffing out different facets of a character who's playing a minor part in a sprawling tale of a city or an entire galaxy.

      This board tends to be very MUSH-centric, but it's a wide MU world out there. It sounds like you might find it interesting to widen your horizon and try out a RP-heavy MUD or two, where the world is literally moving on around you. It's not WoD, but something like The Inquisition: Legacy or similar may be worth to at least check out. Who knows which RP style you end up prefering more in the end. 🙂
      .
      Griatch

      posted in Mildly Constructive
      Griatch
      Griatch
    • RE: Getting Young Blood Into MU*'ing

      This thread has focused heavily on players. Rightly so - getting new players is of course very important.

      But as one member of the comparably small clique of server-developers in here, let me add a brighter (if of course anecdotal) note and say that there is actually an influx of new developer blood coming into the hobby too. In the Evennia support channel I get to greet new faces all the time.

      Many of these new people of course have an existing background in different genres of MU-dom: They want to make their own twitchy MUD, the next Arx or the next great MUSH-style game. Some are new only because they played MUDs 30 years ago and had forgotten about them until now.

      But in this constant trickle of newcomers are also fresh faces; people wanting to learn to program or to make a game and having found out about MU thinks that it's just the ticket. Some of them are in-parallel playing their first MU and are seeing the possibilities for their own creations. Admittedly, MUs are not always the goal - some want to use the medium for educational games, children games or even to connect over something with their kids. Others want to learn game development in general or to use this experience as a stepping-stone towards becoming a professional programmer or game dev. But regardless of their motivation, they are still all pouring their creativity into creating MU-related code.

      Many - most - of these fresh-faced devs will not create something you can ever play. But that doesn't change the fact they keep trickling in, that they are creating and that they are trying.

      I think that's worthy of some optimism, at least.

      posted in Mildly Constructive
      Griatch
      Griatch
    • RE: Getting Young Blood Into MU*'ing

      @Tehom said in Getting Young Blood Into MU*'ing:

      The early announcement of an upcoming new proprietary programming language called 'Dark' made me immediately think of how it could apply to MU*. It's designed from the ground up to be a language based around ease of deployment - it requires you to be in their own editor where code is sandboxed in an environment in prod, with built-in versioning via feature flags. The notion of built-in controls for how someone can change an environment with massive guard rails that prevent anyone from breaking the build and dead-simple deployment was made with enterprise-scale deployments in mind, but it's hard to imagine something easier for people to engage with for hobbyists.

      The downside is if the company ever went out of business they'd take your entire game with it, and it probably wouldn't be free to use. Still, some of the ideas from it might be worth trying to adapt into other languages.

      This may be going a bit off-topic I guess, but ...
      Requiring to be in their own editor sounds a bit iffy to me. As for ease of deployment, I reckon in an embedded mode, none of these embedded languages would be something the end user would install and configure on their own ... it would most likely come as a component for another system, so deployment is less of a concern in that respect (even though it's nice for the core dev of course).
      How does Dark improve on, say Lua, which is an existing language commonly used for embedding and which, as far as I understand, is also reasonably sandboxed in that form?

      posted in Mildly Constructive
      Griatch
      Griatch
    • RE: Getting Young Blood Into MU*'ing

      @Derp Offering a pointless "shiny" may be ok I guess. But the context of this question (in my mind) is avoiding getting to a point where donors get the expectations of "paying customers". As long as it's clear to both sides that donations are just that and are not making you a "paying customer" I think any payment solution is fine.

      Otherwise I feel that you as a "hobbyist" are moving beyond it being just a hobby and need to correspondingly step up to the expectations of a paying customer base. If that's your goal, great, that means you just started a small business. If not, it's a line one should not cross without forethought.

      posted in Mildly Constructive
      Griatch
      Griatch
    • RE: Getting Young Blood Into MU*'ing

      @mietze said in Getting Young Blood Into MU*'ing:

      @Jennkryst to be clear, I will never make a for profit or fee based mush. Ever. I owned my own business for many years, it is a lot of work. I also though that process became aware of some of the more annoying things about private contracting, reporting online income, how my municipality and state expects the same to be collected, ect.

      I also think staffing on a volunteer basis can be bad enough with people's entitlement and pressure, the last thing I want is some kid chasing me around screaming "I PAID my two dollars!!!"

      I think the only sane payment solution for a hobby endeavor like this (at least for the sanity of the hobbyist) is something like Patreon - with an explicit notice that donations are completely optional and won't give the donor anything in return except the knowledge that they are supporting something they like.

      posted in Mildly Constructive
      Griatch
      Griatch
    • RE: Getting Young Blood Into MU*'ing

      @Groth said in Getting Young Blood Into MU*'ing:

      @Griatch said in Getting Young Blood Into MU*'ing:

      Yes, I know well these techniques, and as said all of them are available as stateful commands or even as ready infrastructures like EvMenu in Evennia. These have no problem with REST, they are saved to the database. If necessarily wanting to go the room-based chargen route you can of course have commands on rooms in Evennia too (but personally I find it ugly to use rooms to mimic what can be handled by a proper multi-option menu ... but I digress).

      The point about rooms is that they're the simple way to do things. I think it's unhelpful to someone who wants to develop a game to give them shortcuts that they'll regret later.

      A room is simple sure. If there is a story/tutorial/aestetic reason to use rooms for the chargen, go for it. Not using in-world entities (like rooms) to describe and code out-of-world actions (like chargen) is my personal preference.

      I think Evennia Attributes are an example of this because they might look really tempting and easy to use when someone is starting out, but later when they come further trying to design their game systems and maybe want to migrate their database they'll come to the realization they need to rewrite everything because attributes are kind of awful when you actually try to do anything with them.

      It sounds like you are talking from experience here, have you run into this situation with your game design?
      (For those reading this and not knowing what we're talking about, Evennia Attributes allows you to associate an arbitrary piece of data to an object and then use it from there. The boon is that it will be stored persistently in the database for you behind the scenes so you don't need to worry about it. It makes for a powerful way to group and organize persistent data. Here's an example of assigning stats to a character object:

      # storing stats on `character`    
      character.db.stats = {"HP": 10, "MP": 12, "SP": 8}
      # getting all of stats back 
      stats = character.db.stats 
      # checking HP
      hp = character.db.stats['HP']
      # decreasing HP
      character.db.stats['HP'] -= 1
      

      Attributes are excellent for organizing data but they are not suitable for all things, particularly larger structures that you may want to query in the database later. So, to use the above as a (contrived) example: if it's important for your game design to find out which of the characters across your entire game that has below 5 HP, then querying the database for that will be less efficient if Attributes are used (basically since a generalized structure like this cannot be search-optimized in the database as well). For the same reason, making a BBS system or Mail system where each mail is an Attribute will likely be less efficient - and for this, you may want to make a new database model instead; that is, a new db table with specialized columns for exactly what you want a mail or BBS post to be. This scaleability is what I presume @Groth refers to.) That was the longest parenthesis I've done in a while.

      I think it's better in cases like that to simply give people an entirely non-code way to handle things. Already in the 1980's we made a distinction between coders and builders and I think that's the right way to go.

      Ok. I personally prefer to make things in code - it's much faster and much more powerful than relying on an intermediary builder-layer. The drawback is of course that you need more of a technical background and knowledge of the library resources. Hence we do supply builder commands out of the box.
      Evennia is a programming library, first and foremost though. A developer is welcome to build whatever build commands and structures they want to make things easier for their builders.

      That said, I'm not at all averse to adding more builder resources to the Evennia distribution, we are actively trying to do so in fact - as optional contribs.

      Instead of giving people shortcuts to code menus and text adventures, why not straight up give them tools to generate menus and text adventures?

      This sounds like a tautology to me. What you describe as "Shortcuts to code menus and text adventures" are the tools to generate menus and text adventures. Don't confuse non-code building with tools not being available. The two have very different audiences.

      If you look at various game dev toolkits, they're usually some kind of simplified scripting interface available designed to make it easy for people who don't know how to code to make things happen.

      So softcode? Or are you more referring to a point-and-click thing? Edit: Reading on, it appears you are. 🙂

      You could argue that the first 'code' I ever did was messing around with the Starcraft map editor.

      It shouldn't be that hard to make a web interface for Evennia to allow people to make Zork style adventures without ever having to touch python.

      I wouldn't say that. Don't underestimate the complexity of Zork and other IF games. Consider Quest, which is an engine point-and-click way to make IF games in your browser (I made this many years ago in it) - it is solely focused on this style of gameplay, has lots of resources and still, trust me - I really wished for the ability to fall back to code to do what I wanted. Non-coded creation is simply very hard to make flexible enough; there will always be things you didn't think about that the dev wants.
      But sure, a simpler Zork-style web creator would make for a nice contrib.

      posted in Mildly Constructive
      Griatch
      Griatch
    • RE: Getting Young Blood Into MU*'ing

      My anecdotal input: Having played mainly on RP-heavy MUDs rather than Mushes, my emotes would generally only include people my character would be expected to notice/react to. I'd personally get a little annoyed if my character was walking into what is described as a large, super-busy tavern and the people around the table behind a curtain on the other side of the busy stage immediately emotes how they notice me entering (it has happened, many a time).

      If wanting to make it clear the player was noticed without actually addressing them, I might include them with a simple X doesn't notice Y coming through the door, but keeps doing Z, but I never felt this was expected or dictated by convention on any of the games I've played.

      posted in Mildly Constructive
      Griatch
      Griatch
    • RE: Getting Young Blood Into MU*'ing

      @Groth said in Getting Young Blood Into MU*'ing:

      @Griatch
      If you have a deep abiding love for interactive functions and you want to achieve REST compatibility, what you can do is split the function into two parts. The prompt part and the answer handler.

      If you want people to step through a 'cinematic' sequence of texts. Why not just use rooms? Rooms do that amazingly. It's why basically every MU * chargen ever is done through rooms. Especially since in MUSH you can attach commands directly to rooms and make them fully interactive.

      For confirmation dialogs, the easiest way without prompts is to just have the user enter the command twice.

      Yes, I know well these techniques, and as said all of them are available as stateful commands or even as ready infrastructures like EvMenu in Evennia. These have no problem with REST, they are saved to the database. If necessarily wanting to go the room-based chargen route you can of course have commands on rooms in Evennia too (but personally I find it ugly to use rooms to mimic what can be handled by a proper multi-option menu ... but I digress).

      My like for interactive commands has mostly to do with how easy they are for the developer to work with, understand and maintain (specifically in Evennia, not as the general case since I don't know about how they would work in other code bases). And ease of use means they will indeed be used - they allow for less code, and for very quick development (I know this from experience). That's all.

      Technically, if REST compliance would be needed, it's not at all impossible to make the interactive state persistent; I was just pointing out (to @Tehom at the beginning of this exchange) that it was something that would need to be handled in that case.

      posted in Mildly Constructive
      Griatch
      Griatch
    • RE: Getting Young Blood Into MU*'ing

      @Groth said in Getting Young Blood Into MU*'ing:

      @Griatch said in Getting Young Blood Into MU*'ing:

      They are exceptionally useful for a game designer though. Evennia has dynamic systems for making building command question/answer pairs (the EvMenu for example). But for ease of coding, this function:

      I think it's bad game design. If you ask someone to yield and they disconnect, did they yield or not? Maintaining REST forces you to do things properly and ensure that the character is always in some sort of meaningful state.

      If our prospective game designer wants to code anything meaningful ever, they're going to have to learn REST principles either way and I don't think you're doing them any actual favors by trying to give them a dodge.

      These are good points. I'd say it's up to the situation though. One use of an interactive structure can for example be to step through a 'cinematic' sequence of texts. Restarting that sequence on a reload may be perfectly ok. Another common case is when asking for a confirmation to perform an action - disconnecting at that point is ok, it just means you declined to answer (so nothing happened).

      While the points about REST principles are fine, saying categorically that something like this is "useless" or making people not able to "code anything meaningful ever" is a bit too inflexible in my view. There are many different game styles and -types out there.

      posted in Mildly Constructive
      Griatch
      Griatch
    • RE: Getting Young Blood Into MU*'ing

      @faraday said in Getting Young Blood Into MU*'ing:

      @Griatch said in Getting Young Blood Into MU*'ing:

      It's possible that one has to stay away from such convenience if wanting to be fully REST compliant, but I'd personally hardly say the functionality is not useful.

      I would not say it's "not useful", but I would venture to say it's not essential.

      Ares doesn't have a way to do that sort of direct query-response command, in part because PennMUSH never did. Maybe Penn does now, but it's not something I ever really encountered in MUSHing. And you see a shift away from interactive commands in regular command line interfaces, mostly for automation reasons. So generally I find it jarring.

      It's pretty straightforward to store a variable so you can do chargen/next or store a prior state to do destroy/confirm after you tried to destroy something.

      It's not essential, sure. Evennia even has a whole infrastructure for doing menus (and also questions/reply) with stateful commands. But for simpler, non-branching questions/replies, as a developer, once you have tasted the convenience of code-inline player interaction, it's really quite hard to go back, honestly. 🙂 It allowed me to make my Evscaperoom so much faster, creating content in code almost as if writing paragraphs in a book.

      posted in Mildly Constructive
      Griatch
      Griatch
    • RE: Getting Young Blood Into MU*'ing

      @Groth said in Getting Young Blood Into MU*'ing:

      @Griatch said in Getting Young Blood Into MU*'ing:

      Thinking more on it, the main issue with doing something like this comes in interactive commands. If you use a delay or have a prompt using the @interactive decorator, the execution of the Command's func method will pause mid-way and wait for the user to enter a reply/input before continuing. Something like that does not really seem suitable for a REST-based communication. REST requests are expected to run in isolation and not being dependent on what came before, after all. Any ideas?
      .
      Griatch

      Just get rid of interactive commands entirely, they cause nothing but trouble and I've never seen them be particularly useful.

      Anything that can be done with an interactive prompt can just as easily be done by just tracking the relevant variables and have the prompt tell the user which command to use.

      They are exceptionally useful for a game designer though. Evennia has dynamic systems for making building command question/answer pairs (the EvMenu for example). But for ease of coding, this function:

      # this code runs when, say, command A is passed
      @interactive
      def func(self): 
          # do stuff 
          answer = yield("Do you want to truly continue?") 
          # do something depending on answer 
      

      is a far cry better in developer-ease and readability than having command A ask the question, store the "question state" in a variable and then instruct the user to fire up command B (or take the next unmatched input if A sets it up as a special game state) in order to get the player's answer. So while the effect of course can be mimicked by other means, it makes for very fast development and very readable/maintainable code.

      It's possible that one has to stay away from such convenience if wanting to be fully REST compliant, but I'd personally hardly say the functionality is not useful.
      .
      Griatch

      posted in Mildly Constructive
      Griatch
      Griatch
    • 1
    • 2
    • 3
    • 4
    • 5
    • 18
    • 19
    • 2 / 19