Brand MU Day
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    What is a MUSH?

    Scheduled Pinned Locked Moved Game Gab
    52 Posts 15 Posters 3.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • PolkP
      Polk @Faraday
      last edited by

      @Faraday See, I don’t care about coding entire game systems in softcode.

      I’m trying to bring softcode to its roots, which is for lighter duty tasks than that.

      In the old school MUSH engines you were supposed to be coding expansive systems in C, for crying out loud.

      Everything we do these days with dozens of nested functions of one liner softcode, including your own epic and beloved FS3, is pushing the system far beyond its ever expected limits.

      Heck back then it would have been too slow on the by modern standards tiny, slow, low-memory, multi-user systems MUSHes were running on.

      So we may be talking past each other here. I don’t see softcode as something to build an entire stat system in. I see it as something for simple, relatively uncomplicated tasks, within a safety sandbox so players can use it.

      That’s the key. I want softcode for PLAYERS. Not for game CREATORS.

      S 1 Reply Last reply Reply Quote 0
      • D
        Darren @Faraday
        last edited by Darren

        @Faraday You are correct, the function parser isn’t currently up to the task of replicating the functionality of softcode, but it could be, with a bit of work. Pretty much everything is in place already, you’d just have to implement a lot of functions and figure out how you’re going to tie it into the rest of the game. Again, the end result is going to look more like MPI rather than softcode.

        By default, the funcparser is disabled. When enabled, func calls in output are processed. You can also call it manually, which is what I do for my messages (@SUCCESS, etc). I also use it for room descriptions for dynamic formatting and data generation. This gives me some of the functionality of softcode without having too much overhead. I haven’t thought too much about how you might tie in into the rest of the game to give true softcode functionality. I’m sure it’s possible to do.

        TBH I really don’t feel the need for softcode at all (I can say the same about Ares).

        1 Reply Last reply Reply Quote 0
        • S
          STD @Polk
          last edited by

          @Polk said in What is a MUSH?:

          I see it as something for simple, relatively uncomplicated tasks, within a safety sandbox so players can use it.

          That’s the key. I want softcode for PLAYERS. Not for game CREATORS.

          I’m not sure what tasks players would need solved that are uncomplicated. Could you give an example of what you have in mind? Since as far as I know, any routine tasks that a player would be interested in (multi descing, handling XP spends) would either be too complex or already handled.

          PolkP 1 Reply Last reply Reply Quote 2
          • PolkP
            Polk @STD
            last edited by

            @STD See I’m miscommunicating something here. Things like XP are coded game systems.

            A player might do something like desc a house.

            RozR PavelP 2 Replies Last reply Reply Quote 0
            • RozR
              Roz @Polk
              last edited by

              @Polk said in What is a MUSH?:

              @STD See I’m miscommunicating something here. Things like XP are coded game systems.

              A player might do something like desc a house.

              I mean, that’s not really player softcode, either? I think every MU* I’ve been on have had game systems for players to be able to desc their stuff.

              she/her | playlist

              1 Reply Last reply Reply Quote 1
              • PavelP
                Pavel @Polk
                last edited by

                @Polk said in What is a MUSH?:

                Things like XP are coded game systems.

                True, but they’re also traditionally softcode.

                Whereas things like

                @Polk said in What is a MUSH?:

                desc a house.

                are traditionally hardcode. (Yes, some places have it as softcode, but @desc is hardcode and more usual).

                So what you’re really thinking of is having more tools available to players that many places have often left in the hands of coders or staff?

                He/Him. Opinions and views are solely my own unless specifically stated otherwise.
                BE AN ADULT

                PolkP 1 Reply Last reply Reply Quote 0
                • RozR
                  Roz
                  last edited by Roz

                  I can understand the delineation between gamewide code and player code here – for systems like Ares and Evennia, all the game-wide code ends up as hardcode. So I understand it more as the ‘systems installed by staff that are accessible to the whole game’ vs ‘code written by players just accessible on their own player bit’ as the delineation we’re doing here. But surely descing builds is going to be a gamewide system, not something a player would need their own custom code for. So I’m also curious what sort of player code you’re imagining.

                  she/her | playlist

                  PavelP 1 Reply Last reply Reply Quote 1
                  • PavelP
                    Pavel @Roz
                    last edited by

                    @Roz said in What is a MUSH?:

                    I can understand the delineation between gamewide code and system code here

                    Yeah, the hardcode/softcode delineation doesn’t make much sense here.

                    He/Him. Opinions and views are solely my own unless specifically stated otherwise.
                    BE AN ADULT

                    RozR 1 Reply Last reply Reply Quote 0
                    • RozR
                      Roz @Pavel
                      last edited by

                      @Pavel said in What is a MUSH?:

                      @Roz said in What is a MUSH?:

                      I can understand the delineation between gamewide code and system code here

                      Yeah, the hardcode/softcode delineation doesn’t make much sense here.

                      Lol thank you for bringing my attention to the fact that I wrote the WRONG WORD there. I meant gamewide code vs player code.

                      she/her | playlist

                      1 Reply Last reply Reply Quote 0
                      • M
                        mietze
                        last edited by

                        I never paid attention because I don’t code and am not a technical person. But I do remember problems on ancient wod games where players would set code on themselves that would cause issues like lag or were exploits.

                        I always assumed that was the reason why a lot of games stopped letting people custom stuff. I don’t know if lag is a problem now though. This was in the days of dial up internet.

                        FaradayF 1 Reply Last reply Reply Quote 0
                        • FaradayF
                          Faraday @mietze
                          last edited by Faraday

                          @Pavel said in What is a MUSH?:

                          Yeah, the hardcode/softcode delineation doesn’t make much sense here.
                          @Roz said in What is a MUSH?:

                          Lol thank you for bringing my attention to the fact that I wrote the WRONG WORD there. I meant gamewide code vs player code.

                          Yeah I don’t want to nitpick wording, but I think it’s an important distinction because “hardcode” and “softcode” have very heavy connotations in traditional MU circles. The idea that “hardcode” is this heavyweight thing that can’t easily be changed (and generally shouldn’t be messed with in most cases) and that “softcode” is where you put your game-specific commands like sheets and multi-descers.

                          None of that applies to platforms like Evennia and Ares, which is why neither use those terms. Their code is server-side (like traditional hardcode) but flexible and game-specific (like traditional softcode).

                          So when Ares/Evennia devs say “you don’t need softcode” that doesn’t mean there are no multidescers, sheets, or commands to describe rooms. It just means those things are coded as server-side game code not coded-thru-MU-client game/player code.

                          @mietze said in What is a MUSH?:

                          I always assumed that was the reason why a lot of games stopped letting people custom stuff. I don’t know if lag is a problem now though. This was in the days of dial up internet.

                          The main issue is actually security. Unless you have things meticulously locked down, it’s very easy for malicious players to exploit coded systems when you let them write their own code. This is doubly true in Evennia and Ares due to the underpinning languages (Python/Ruby).

                          It’s so easy to shoot yourself in the foot and compromise your game (or even your entire server) if you don’t have things set up right. And for what? So someone can code their own Falcon Controller or use a different syntax for the multi-descer instead of the built-in one? It’s just not a good tradeoff IMHO.

                          1 Reply Last reply Reply Quote 7
                          • PolkP
                            Polk @Pavel
                            last edited by

                            @Pavel I don’t think I agree with that. The most natural way softcode is useful is to [run code()] in a desc.

                            But we’ll see. All of this is last on my list of features anyway. 🙂

                            D FaradayF 2 Replies Last reply Reply Quote 0
                            • D
                              Darren @Polk
                              last edited by Darren

                              @Polk said in What is a MUSH?:

                              @Pavel I don’t think I agree with that. The most natural way softcode is useful is to [run code()] in a desc.

                              But we’ll see. All of this is last on my list of features anyway. 🙂

                              That is what I do with my Evennia game core, I process descs through the funcparser. This allows me to pull in data and do formatting just like you would do with softcode on MUSH, only without the overhead and security issues.

                              Ex:

                                  def get_desc(self, looker=None):
                              
                                      desc = self.db.desc or ''
                                      if not desc:
                                          return ''
                                      parser = FuncParser(dict(FUNCPARSER_CALLABLES, **LOCAL_FUNCPARSER_CALLABLES))
                                      parsed_string = parser.parse(desc,
                                          raise_errors=False,
                                          escape=False,
                                          strip=False,
                                          return_str=True
                                      )
                              
                                      return parsed_string
                              
                              
                              
                              1 Reply Last reply Reply Quote 0
                              • FaradayF
                                Faraday @Polk
                                last edited by Faraday

                                @Polk said in What is a MUSH?:

                                @Pavel I don’t think I agree with that. The most natural way softcode is useful is to [run code()] in a desc.

                                You’re approaching a problem (wanting to put “code” into descs) with a particular solution already in mind (softcode). But that solution has a lot of baggage and risks.

                                If you take a step back and ask why you want to put code into descs, you might find that the uses are far narrower than you imagine and can be solved in different ways.

                                For example, Ares doesn’t have placeholder objects, but mostly people use those for things like rings and signs. Instead it offers a robust details system that can add those kinds of descs to rooms and players with a simple command. Most of the code people put into room descs is to adjust for time of day and such. Ares does that via the “vista” commands.

                                Now maybe your game’s needs are unique and you really do need softcode. Or maybe you just want to do it for the fun / technical challenge. In that case go for it.

                                All I’m saying is that the plethora of games running on Evennia and Ares without softcode challenges the assumption that softcode is essential for MUs.

                                1 Reply Last reply Reply Quote 6
                                • somasatoriS
                                  somasatori
                                  last edited by

                                  How important is the character description anymore? I am assuming you will have a website with character details given the web injection requirements for sheet/notes/etc. (and just how Evennia works). Player trends have been going in the direction of looking at wiki pages/personal pages for an idea of what a character looks like for over a decade now.

                                  On the anecdotal side, lately what I’ve usually seen are people posing their outfit of the day in their opening pose.

                                  I use multidescers myself, so no shade towards writing static descriptions, but it seems to be less of a trend to write many static descriptions. Although you said that you don’t have any stated timeline for opening, it’s still best not to add undue additional work unless, like Faraday said, you really want to go for the fun / technical challenge.

                                  they/them

                                  PavelP 1 Reply Last reply Reply Quote 0
                                  • PavelP
                                    Pavel @somasatori
                                    last edited by

                                    @somasatori said in What is a MUSH?:

                                    How important is the character description anymore?

                                    I can tolerate a lot of evolutionary bullshit that comes with changing times, but if we’re doing away with reading and writing in a text-based game, that’s where I draw the line.

                                    He/Him. Opinions and views are solely my own unless specifically stated otherwise.
                                    BE AN ADULT

                                    somasatoriS 1 Reply Last reply Reply Quote 1
                                    • somasatoriS
                                      somasatori @Pavel
                                      last edited by

                                      My point was aimed at the cost/benefit of coding up a multidescer so people can have several clothing descriptions pre-loaded versus them just writing ‘today so and so is wearing blah blah’ in a pose, not to remove descs entirely.

                                      they/them

                                      FaradayF 1 Reply Last reply Reply Quote 0
                                      • FaradayF
                                        Faraday @somasatori
                                        last edited by

                                        @somasatori You don’t need softcode, let alone player-created softcode, to have a multi-descer. Ares has one built-in. I don’t know if Evennia does, but I’m certain you could add server-side Python game commands for it there too.

                                        1 Reply Last reply Reply Quote 2
                                        • TributaryT
                                          Tributary
                                          last edited by

                                          I think with Ares, I’d compare the engine to hardcode and the plugins to softcode. But even then, I’ve never found much use for personal commands with Ares or Evennia.

                                          If you want to do your own alias for a command and you can’t convince an admin to add it for you, you can use your client. If you want to charge what commands you run on login, there is already a command for that. Outfits and multi descers are also already there.

                                          FaradayF 1 Reply Last reply Reply Quote 0
                                          • somasatoriS
                                            somasatori
                                            last edited by

                                            @Faraday Fair enough, I might have been reading this incorrectly or inferring, but I was under the assumption that the ‘code in descs’ conversation was about multidescing on Evennia, and he was trying to figure out a way to build it. Not too sure what other code would need to be added to address a pc description, I suppose.

                                            they/them

                                            GriatchG 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post