<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[What is a MUSH?]]></title><description><![CDATA[<p dir="auto">I’m studying the use of Evennia as the basis of a MUSH-like World of Darkness game†.  One of the first things I need to do for a task like that is to write a specification. What is a  WoD MUSH, and what features do I need to write to deliver on expectations?</p>
<ul>
<li>Rooms, exits, and travel</li>
<li>The ability to build rooms and exits in game</li>
<li>The five main ways to communicate<br />
– Emits/poses<br />
–  Pages<br />
– Mail<br />
– Boards<br />
– Channels</li>
<li>Character sheets and rolls</li>
<li>Experience Point accumulation and spending</li>
<li>Player character generation of said sheets</li>
<li>Player notes and inventory</li>
<li>PC groups with their own communications and rosters</li>
<li>Finger/Profile</li>
<li>Descriptions with colors and formatting</li>
<li>Personal coding for descriptions and personal commands</li>
<li>Telnet interface to all of the above</li>
</ul>
<p dir="auto">Is that really it? What am I missing here?</p>
<p dir="auto">† Yes, an Old West/Victorian Mage game, leaning toward setting it in Los Angeles or San Francisco around 1880. Nothing set in stone, no rush or timeline on this project since I have a perfectly good Mage game to play on already.</p>
]]></description><link>https://brandmu.day/topic/396/what-is-a-mush</link><generator>RSS for Node</generator><lastBuildDate>Sat, 04 Apr 2026 17:03:35 GMT</lastBuildDate><atom:link href="https://brandmu.day/topic/396.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 21 Jul 2023 16:54:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to What is a MUSH? on Mon, 24 Jul 2023 14:33:30 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/158">@Griatch</a> Cool, thanks for the explanation. Yeah, I haven’t really come across any need for that in the kinds of games Ares is geared towards (more freeform, less immersive), but I can see where that could come in handy in other game types.  Even in Ares, you could do it with some custom code in the desc plugin to dynamically adjust descs based on dynamic criteria, it’s just not built in.</p>
]]></description><link>https://brandmu.day/post/17533</link><guid isPermaLink="true">https://brandmu.day/post/17533</guid><dc:creator><![CDATA[Faraday]]></dc:creator><pubDate>Mon, 24 Jul 2023 14:33:30 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Mon, 24 Jul 2023 10:30:40 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/71">@Faraday</a></p>
<p dir="auto">Sure. It probably comes down to game styles, yes. For example a multi-descer is completely unheard of in most other genres of MU*. In other styles, dynamic descriptions is a big deal.</p>
<p dir="auto">Here are some examples. The Evennia <code>FuncParser</code> inlines actually support nested calls (so they will be executed from the inside out like a regular python call), but for brevity, assume we have made some custom functions for one’s particular game and is using the <a href="https://www.evennia.com/docs/latest/Contribs/Contrib-RPSystem.html" target="_blank" rel="noopener noreferrer nofollow ugc">rpsystem</a> contrib:</p>
<pre><code>$You() have pock-marked skin and is in his $approxage(10). He wears $clothes(). He looks $health(). 
$ifguild(thieves, He has the secret thief's guild mark on his hand.)
$ifskill_gt(detectmagic, 10, He has a faint aura of magic around him.)
</code></pre>
<p dir="auto">Here,  someone who’s can’t detect magic, doesn’t know me and is not in the thieve’s guild will see</p>
<pre><code class="language-text">The tall man has pock-marked skin and is in his thirties. He wears a black hoodie. He looks a bit sick.
</code></pre>
<p dir="auto">Wheras if you are know me (has recognized me previously), is in the thieve’s guild and has enough in the detectmagic skill, you will see</p>
<pre><code class="language-text">Griatch has pock-marked skin and is in his thirties. He wears a black hoodie of the type that has a lot of hidden pockets. He looks a bit sick. 
He has the secret thief's guild mark on his hand. 
He has a faint aura of magic around him.
</code></pre>
<p dir="auto">This works because when the <code>FuncParser</code> parses the description it is fully aware of who this description is targeted at. So we can have the <code>$clothes()</code> inline give some extra info (it probably checks for the looker’s thief’s guild membership inside its code), and so on.</p>
<p dir="auto">As for the stance example, here’s how it could look for Evennia:</p>
<p dir="auto">Director stance:</p>
<pre><code class="language-python">msg = f"{char.key} changes $gender(poss) stance to $stance()."
</code></pre>
<p dir="auto">Actor stance:</p>
<pre><code class="language-python">msg = "$You() $conj(change) $gender(poss) stance to $stance()."
</code></pre>
<p dir="auto">(note: The <code>$gender()</code> inline is not in default Evennia since core objects don’t have genders; it’s something deemed game specific. But maybe we should add it to make this structure easier to make in actor stance).</p>
<p dir="auto">This is called in code as</p>
<pre><code class="language-python">room.msg_contents(msg, from_obj=char)
</code></pre>
<p dir="auto">And would come out as</p>
<pre><code class="language-text">Faraday changes her stance to cover.  # director stance
You change your stance to cover.         # actor stance, your view
Faraday changes her stance to cover.  # actor stance, everyone else's view.
</code></pre>
]]></description><link>https://brandmu.day/post/17529</link><guid isPermaLink="true">https://brandmu.day/post/17529</guid><dc:creator><![CDATA[Griatch]]></dc:creator><pubDate>Mon, 24 Jul 2023 10:30:40 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Mon, 24 Jul 2023 00:42:58 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/71">@Faraday</a> said in <a href="/post/17519">What is a MUSH?</a>:</p>
<blockquote>
<p dir="auto">I’m actually curious what use cases you’ve found for descriptions.</p>
</blockquote>
<p dir="auto">The only thing that comes to mind is some sort of reality layering when a character has some kind of stat or attribute that lets them see additional/different information.</p>
<p dir="auto">Like how in oWoD there’d be regular descs and Changeling Descs that only other Changelings (and those who could see Dreaming Shit) would get.</p>
]]></description><link>https://brandmu.day/post/17523</link><guid isPermaLink="true">https://brandmu.day/post/17523</guid><dc:creator><![CDATA[STD]]></dc:creator><pubDate>Mon, 24 Jul 2023 00:42:58 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sun, 23 Jul 2023 22:10:18 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/158">@Griatch</a> said in <a href="/post/17517">What is a MUSH?</a>:</p>
<blockquote>
<p dir="auto">Descriptions are just one use case; another one is to implement ‘actor-stance emoting’, so that you can have your game systems send strings like “$You() $conj(smile) to $you(otherperson)” and everyone will see their appropriate strings (You vs your name etc). It’s used for prototypes and other places too.</p>
</blockquote>
<p dir="auto">I’m actually curious what use cases you’ve found for descriptions.  I contemplated adding some substitutions like that to Ares and came up blank as to when anyone would ever need them. All I ended up doing was some simple center/right/left formatting.</p>
<p dir="auto">I realize Evennia spans more of a gauntlet of game types, so maybe it’s more common in the RPI/MUD end of things.</p>
<p dir="auto">Game systems (on the back-end) sending customized text in Ares is just done with locale strings - there are no special codes. But it doesn’t come up as much, since most system messages are OOC not IC.</p>
<p dir="auto">desired output: <code>Faraday has changed her stance to cover.</code></p>
<p dir="auto">locale string: <code>"%{name} has changed %{poss} stance to %{stance}."</code></p>
<p dir="auto">code: <code>t('fs3combat.stance_changed', :name =&gt; name, :poss =&gt; combatant.poss_pronoun, :stance =&gt; self.stance)</code></p>
]]></description><link>https://brandmu.day/post/17519</link><guid isPermaLink="true">https://brandmu.day/post/17519</guid><dc:creator><![CDATA[Faraday]]></dc:creator><pubDate>Sun, 23 Jul 2023 22:10:18 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sun, 23 Jul 2023 19:03:55 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/158">@Griatch</a> Thanks so much for the information on the multidescer and clarification on <code>FuncParser</code>! I’ve largely not looked at the contribs folder/documentation, so I’m going to dig into that a bit.</p>
]]></description><link>https://brandmu.day/post/17518</link><guid isPermaLink="true">https://brandmu.day/post/17518</guid><dc:creator><![CDATA[somasatori]]></dc:creator><pubDate>Sun, 23 Jul 2023 19:03:55 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sun, 23 Jul 2023 18:53:19 GMT]]></title><description><![CDATA[<p dir="auto">Sorry for double-post, catching up on some stuff in the thread.</p>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/200">@somasatori</a></p>
<p dir="auto">As it stands, the <a href="https://www.evennia.com/docs/latest/Contribs/Contrib-Multidescer.html" target="_blank" rel="noopener noreferrer nofollow ugc">multidescer contrib</a> mentioned above will probably be easier for use as a multidescer (see link above). To be honest, it was created before the <code>FuncParser</code> (what is called ‘code in descs’ above) existed so it’s quite likely one could implement a multuidescer using the <code>FuncParser</code> too, haven’t tried.</p>
<p dir="auto">The <code>FuncParser</code> is overall considerably more than just ‘code in descs’ though. It is a full, safe parser, for dynamically modifying strings based on situation or who sees them. You embed strings like <code>$foo(arg, arg)</code> and the return of these (Python functions you implement under the hood) will replace that position in the string. Descriptions are just one use case; another one is to implement ‘actor-stance emoting’, so that you can have your game systems send strings like <code>"$You() $conj(smile) to $you(otherperson)"</code> and everyone will see their appropriate strings (You vs your name etc). It’s used for prototypes and other places too.</p>
]]></description><link>https://brandmu.day/post/17517</link><guid isPermaLink="true">https://brandmu.day/post/17517</guid><dc:creator><![CDATA[Griatch]]></dc:creator><pubDate>Sun, 23 Jul 2023 18:53:19 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sun, 23 Jul 2023 18:41:06 GMT]]></title><description><![CDATA[<p dir="auto">Unsurprisingly, I agree with <a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/71">@Faraday</a> concerning softcode <img src="https://brandmu.day/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=ad502f21e27" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
<p dir="auto">At least concerning Evennia, the <code>FuncParser</code> is indeed the closest we have moved to something similar to softcode, but it’s intentionally stopping at being a way to create advanced formatting solutions rather than offering the pieces needed to be turing-complete. As I also write in the documentation to it, one <em>could</em> in principle make some sort of LISP-like language using <code>FuncParser</code> (lots of parentheses, all functional programming), but it’s not something I plan to add to core Evennia at least.</p>
<p dir="auto">As for a multidescer - yes Evennia has an optional multidescer contrib. I created one once people from another MUSH-heavy forum told me that this was one of the more common things MUSHers use softcode for. You can read about the Evennia implementation here: <a href="https://www.evennia.com/docs/latest/Contribs/Contrib-Multidescer.html" target="_blank" rel="noopener noreferrer nofollow ugc">https://www.evennia.com/docs/latest/Contribs/Contrib-Multidescer.html</a></p>
]]></description><link>https://brandmu.day/post/17516</link><guid isPermaLink="true">https://brandmu.day/post/17516</guid><dc:creator><![CDATA[Griatch]]></dc:creator><pubDate>Sun, 23 Jul 2023 18:41:06 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sun, 23 Jul 2023 18:21:05 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/38">@Tributary</a> said in <a href="/post/17513">What is a MUSH?</a>:</p>
<blockquote>
<p dir="auto">I think with Ares, I’d compare the engine to hardcode and the plugins to softcode.</p>
</blockquote>
<p dir="auto">You can make a very loose analogy, but plugins are lacking nearly all of the core traits that usually define “softcode”:</p>
<ul>
<li>The LISP-based MUSH Code scripting language itself</li>
<li>The ability to create commands / systems live from the MU client command line</li>
<li>The ability to for players to create their own personal code</li>
<li>The distinction between “WHO” as the hardcoded command and “+who” as the softcoded version that exists in parallel</li>
</ul>
<p dir="auto">Same with Evennia’s Python code.</p>
]]></description><link>https://brandmu.day/post/17515</link><guid isPermaLink="true">https://brandmu.day/post/17515</guid><dc:creator><![CDATA[Faraday]]></dc:creator><pubDate>Sun, 23 Jul 2023 18:21:05 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sun, 23 Jul 2023 18:19:27 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/71">@Faraday</a> 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.</p>
]]></description><link>https://brandmu.day/post/17514</link><guid isPermaLink="true">https://brandmu.day/post/17514</guid><dc:creator><![CDATA[somasatori]]></dc:creator><pubDate>Sun, 23 Jul 2023 18:19:27 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sun, 23 Jul 2023 18:11:00 GMT]]></title><description><![CDATA[<p dir="auto">I think with Ares, I’d compare the <em>engine</em> to hardcode and the <em>plugins</em> to softcode. But even then, I’ve never found much use for personal commands with Ares or Evennia.</p>
<p dir="auto">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.</p>
]]></description><link>https://brandmu.day/post/17513</link><guid isPermaLink="true">https://brandmu.day/post/17513</guid><dc:creator><![CDATA[Tributary]]></dc:creator><pubDate>Sun, 23 Jul 2023 18:11:00 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sun, 23 Jul 2023 18:03:45 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/200">@somasatori</a> You don’t need softcode, let alone player-created softcode, to have a multi-descer. Ares has one <a href="https://mush.aresmush.com/help/descriptions_tutorial" target="_blank" rel="noopener noreferrer nofollow ugc">built-in</a>. I don’t know if Evennia does, but I’m certain you could add server-side Python game commands for it there too.</p>
]]></description><link>https://brandmu.day/post/17512</link><guid isPermaLink="true">https://brandmu.day/post/17512</guid><dc:creator><![CDATA[Faraday]]></dc:creator><pubDate>Sun, 23 Jul 2023 18:03:45 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sun, 23 Jul 2023 17:26:50 GMT]]></title><description><![CDATA[<p dir="auto">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.</p>
]]></description><link>https://brandmu.day/post/17511</link><guid isPermaLink="true">https://brandmu.day/post/17511</guid><dc:creator><![CDATA[somasatori]]></dc:creator><pubDate>Sun, 23 Jul 2023 17:26:50 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sun, 23 Jul 2023 17:18:37 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/200">@somasatori</a> said in <a href="/post/17509">What is a MUSH?</a>:</p>
<blockquote>
<p dir="auto">How important is the character description anymore?</p>
</blockquote>
<p dir="auto">I can tolerate a lot of evolutionary bullshit that comes with changing times, but if we’re doing away with <em>reading and writing</em> in a <em>text-based game</em>, that’s where I draw the line.</p>
]]></description><link>https://brandmu.day/post/17510</link><guid isPermaLink="true">https://brandmu.day/post/17510</guid><dc:creator><![CDATA[Pavel]]></dc:creator><pubDate>Sun, 23 Jul 2023 17:18:37 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sun, 23 Jul 2023 16:56:46 GMT]]></title><description><![CDATA[<p dir="auto">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.</p>
<p dir="auto">On the anecdotal side, lately what I’ve usually seen are people posing their outfit of the day in their opening pose.</p>
<p dir="auto">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.</p>
]]></description><link>https://brandmu.day/post/17509</link><guid isPermaLink="true">https://brandmu.day/post/17509</guid><dc:creator><![CDATA[somasatori]]></dc:creator><pubDate>Sun, 23 Jul 2023 16:56:46 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sun, 23 Jul 2023 15:34:21 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/164">@Polk</a> said in <a href="/post/17506">What is a MUSH?</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/4">@Pavel</a> I don’t think I agree with that.  The most natural way softcode is useful is to [run code()] in a desc.</p>
</blockquote>
<p dir="auto">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.</p>
<p dir="auto">If you take a step back and ask <em>why</em> 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.</p>
<p dir="auto">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.</p>
<p dir="auto">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.</p>
<p dir="auto">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.</p>
]]></description><link>https://brandmu.day/post/17508</link><guid isPermaLink="true">https://brandmu.day/post/17508</guid><dc:creator><![CDATA[Faraday]]></dc:creator><pubDate>Sun, 23 Jul 2023 15:34:21 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sun, 23 Jul 2023 15:20:53 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/164">@Polk</a> said in <a href="/post/17506">What is a MUSH?</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/4">@Pavel</a> I don’t think I agree with that.  The most natural way softcode is useful is to <code>[run code()]</code> in a desc.</p>
<p dir="auto">But we’ll see. All of this is last on my list of features anyway. <img src="https://brandmu.day/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=ad502f21e27" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
</blockquote>
<p dir="auto">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.</p>
<p dir="auto">Ex:</p>
<pre><code>    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


</code></pre>
]]></description><link>https://brandmu.day/post/17507</link><guid isPermaLink="true">https://brandmu.day/post/17507</guid><dc:creator><![CDATA[Darren]]></dc:creator><pubDate>Sun, 23 Jul 2023 15:20:53 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sun, 23 Jul 2023 13:50:10 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/4">@Pavel</a> I don’t think I agree with that.  The most natural way softcode is useful is to <code>[run code()]</code> in a desc.</p>
<p dir="auto">But we’ll see. All of this is last on my list of features anyway. <img src="https://brandmu.day/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=ad502f21e27" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
]]></description><link>https://brandmu.day/post/17506</link><guid isPermaLink="true">https://brandmu.day/post/17506</guid><dc:creator><![CDATA[Polk]]></dc:creator><pubDate>Sun, 23 Jul 2023 13:50:10 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sat, 22 Jul 2023 22:29:30 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/4">@Pavel</a> said in <a href="/post/17497">What is a MUSH?</a>:</p>
<blockquote>
<p dir="auto">Yeah, the hardcode/softcode delineation doesn’t make much sense here.<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/7">@Roz</a> said in <a href="/post/17498">What is a MUSH?</a>:</p>
<blockquote>
<p dir="auto">Lol thank you for bringing my attention to the fact that I wrote the WRONG WORD there. I meant gamewide code vs player code.</p>
</blockquote>
</blockquote>
<p dir="auto">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.</p>
<p dir="auto">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).</p>
<p dir="auto">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.</p>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/75">@mietze</a> said in <a href="/post/17499">What is a MUSH?</a>:</p>
<blockquote>
<p dir="auto">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.</p>
</blockquote>
<p dir="auto">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).</p>
<p dir="auto">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.</p>
]]></description><link>https://brandmu.day/post/17505</link><guid isPermaLink="true">https://brandmu.day/post/17505</guid><dc:creator><![CDATA[Faraday]]></dc:creator><pubDate>Sat, 22 Jul 2023 22:29:30 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sat, 22 Jul 2023 21:01:40 GMT]]></title><description><![CDATA[<p dir="auto">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.</p>
<p dir="auto">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.</p>
]]></description><link>https://brandmu.day/post/17499</link><guid isPermaLink="true">https://brandmu.day/post/17499</guid><dc:creator><![CDATA[mietze]]></dc:creator><pubDate>Sat, 22 Jul 2023 21:01:40 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sat, 22 Jul 2023 20:56:53 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/4">@Pavel</a> said in <a href="/post/17497">What is a MUSH?</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/7">@Roz</a> said in <a href="/post/17496">What is a MUSH?</a>:</p>
<blockquote>
<p dir="auto">I can understand the delineation between gamewide code and system code here</p>
</blockquote>
<p dir="auto">Yeah, the hardcode/softcode delineation doesn’t make much sense here.</p>
</blockquote>
<p dir="auto">Lol thank you for bringing my attention to the fact that I wrote the WRONG WORD there. I meant gamewide code vs player code.</p>
]]></description><link>https://brandmu.day/post/17498</link><guid isPermaLink="true">https://brandmu.day/post/17498</guid><dc:creator><![CDATA[Roz]]></dc:creator><pubDate>Sat, 22 Jul 2023 20:56:53 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sat, 22 Jul 2023 20:51:59 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/7">@Roz</a> said in <a href="/post/17496">What is a MUSH?</a>:</p>
<blockquote>
<p dir="auto">I can understand the delineation between gamewide code and system code here</p>
</blockquote>
<p dir="auto">Yeah, the hardcode/softcode delineation doesn’t make much sense here.</p>
]]></description><link>https://brandmu.day/post/17497</link><guid isPermaLink="true">https://brandmu.day/post/17497</guid><dc:creator><![CDATA[Pavel]]></dc:creator><pubDate>Sat, 22 Jul 2023 20:51:59 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sat, 22 Jul 2023 20:56:32 GMT]]></title><description><![CDATA[<p dir="auto">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.</p>
]]></description><link>https://brandmu.day/post/17496</link><guid isPermaLink="true">https://brandmu.day/post/17496</guid><dc:creator><![CDATA[Roz]]></dc:creator><pubDate>Sat, 22 Jul 2023 20:56:32 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sat, 22 Jul 2023 20:35:14 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/164">@Polk</a> said in <a href="/post/17493">What is a MUSH?</a>:</p>
<blockquote>
<p dir="auto">Things like XP are coded game systems.</p>
</blockquote>
<p dir="auto">True, but they’re also <em>traditionally</em> softcode.</p>
<p dir="auto">Whereas things like</p>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/164">@Polk</a> said in <a href="/post/17493">What is a MUSH?</a>:</p>
<blockquote>
<p dir="auto">desc a house.</p>
</blockquote>
<p dir="auto">are <em>traditionally</em> hardcode. (Yes, some places have it as softcode, but @desc is hardcode and more usual).</p>
<p dir="auto">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?</p>
]]></description><link>https://brandmu.day/post/17495</link><guid isPermaLink="true">https://brandmu.day/post/17495</guid><dc:creator><![CDATA[Pavel]]></dc:creator><pubDate>Sat, 22 Jul 2023 20:35:14 GMT</pubDate></item><item><title><![CDATA[Reply to What is a MUSH? on Sat, 22 Jul 2023 20:20:03 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/164">@Polk</a> said in <a href="/post/17493">What is a MUSH?</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://brandmu.day/uid/215">@STD</a> See I’m miscommunicating something here. Things like XP are coded game systems.</p>
<p dir="auto">A player might do something like desc a house.</p>
</blockquote>
<p dir="auto">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.</p>
]]></description><link>https://brandmu.day/post/17494</link><guid isPermaLink="true">https://brandmu.day/post/17494</guid><dc:creator><![CDATA[Roz]]></dc:creator><pubDate>Sat, 22 Jul 2023 20:20:03 GMT</pubDate></item></channel></rss>