@Griatch Interesting. Yes, I think Ruby helps quite a lot here. Also the architecture of Ares helps too, as heavily-interconnected modules are discouraged in favor of modular plugins with well-defined APIs. And even if you mess up the code by screwing up one of the connections, the underlying engine is as bulletproof as I could make it to this sort of error. Just tweak and reload and everything's good.
Posts made by faraday
-
RE: Evennia - a Python-Based Mu* Server
-
RE: Evennia - a Python-Based Mu* Server
@Griatch It's basically what Tyche said. The plugin architecture does most of the work for you so as a developer all you have to remember to do is reload the plugins you changed. Happy to discuss in more detail if you like but I'm not sure this topic is the best place for it. Feel free to contact me if you want to know more.
@WTFE - There are plenty of examples of plugin infrastructures. It's not like we're doing something revolutionary here.
-
RE: Evennia - a Python-Based Mu* Server
@Griatch Yeah, I think the documentation picture is pretty similar. It's a lot to cover.
The plugins can be hot-swapped thanks to Ruby's dynamic capabilities, but changing the core engine requires a game restart. Hopefully that should be rare.
-
RE: Evennia - a Python-Based Mu* Server
@Griatch Yes, Ares calls them Plugins, and basically everything except the core connection and command dispatching infrastructure is a Plugin. Movement, poses, multi-descer, channels, chargen - they're all Plugins. Here's some sample code for the silly little Cookies (+nom) plugin.
Documenting how to use it is the biggest chunk remaining on the backlog.
It's built on the idea that coding will either be done through the server shell (telnet/ssh into the server itself) or using a traditional version control/development paradigm like GitHub.
I'm not saying that's superior to being able to tweak code live on the game command line. It's just a different model, with both advantages and disadvantages.
-
RE: Evennia - a Python-Based Mu* Server
Bit late to the party here but I wanted to chime in with another perspective.
AresMUSH is a MU server I'm developing that's similar to Evennia. It also does not support Softcode, nor are there plans to ever support it.
Why? Because Ares is not intending to replace existing MU servers, but to provide an alternative.
If you're happy with softcode (or are willing to learn), and/or allowing players to tinker with code in-game is a necessity for your game, then Penn/Tiny will meet your needs just fine.
But if you're like me, and would rather gouge your eyes out than look at another line of MU softcode, then an alternative like Ares or Evennia might be a good choice for you. (Ares uses Ruby, FWIW).
Or if you're not a coder, have no desire to be a coder, and just want something that supports basic RP-MUSH features out of the box with minimal configuration - Ares might be a good choice for you too.
Evennia is a much broader platform meant to support a wide variety of server types with different needs. Ares has a far narrower focus for lightly-coded RP MUSHes.
They're just tools. Pick the right tool for your job.