PyReach
-
@Faraday @somasatori But we are all former gifted kids, we have to pick things up immediately or we can never actually be good at it?!?
(edit: this is a joke)
-
-
-
@somasatori said in PyReach:
I was kind of wondering when you or MisterBoring would notice Mummy in the screenshots Iāve been posting.
There are two editions of Mummy, so where is legacy_mummy?
-
@Jennkryst said in PyReach:
@Faraday @somasatori But we are all former gifted kids, we have to pick things up immediately or we can never actually be good at it?!?
(edit: this is a joke)
@Pavel or I can talk to you about this at a very low hourly rate!
-
@somasatori said in PyReach:
@Jennkryst said in PyReach:
@Faraday @somasatori But we are all former gifted kids, we have to pick things up immediately or we can never actually be good at it?!?
(edit: this is a joke)
@Pavel or I can talk to you about this at a very low hourly rate!
Thou shalt have no relationship other than clinicial, if thou forake this commandment thou shalt lose thine license.
-
This entire thread (about the programming bits) is making me want to make Evennia utility modules you can just plug in (e.g., basic dice rollers, generic scheduler stuff), but Iām so out of the loop on things now and I donāt have time in the day to do this. ;.;
-
@dvoraen Evennia is missing a lot of shockingly basic stuff. TOO BAD YOU CANāT.
-
For real, @Tez is right and a lot of very simple things we take for granted in Rhost/Ares/Tiny/Penn is not included in base Evennia. Mail, for example, is handled via contrib file, page is a custom thing, etc.
-
@somasatori said in PyReach:
For real, @Tez is right and a lot of very simple things we take for granted in Rhost/Ares/Tiny/Penn is not included in base Evennia. Mail, for example, is handled via contrib file, page is a custom thing, etc.
Thatās true, but I will say that same lack of built-in features offers tremendous flexibility, and is why I steer folks to Evennia for super custom projects.
When you come into things with the pre-baked idea of what a MU should have, as Ares and (to a lesser extent) the Penn/Rhost/Tiny family, it makes it difficult to depart from those paradigms. Just think of all the drama caused by built-in commands vs +commands over the years.
Everything being a plugin/contrib isnāt necessarily bad, because it can lead to developers who focus on making a really good (insert system here). Just think of how Myrddinās BBS or Anomalyās jobs or Thenoās WoD were de-facto standards in Penn/Tiny even though they werenāt baked in.
In the early Ares designs, everything was intended to be a plugin to offer that same degree of flexibility. But I quickly realized that there are a LOT of dependencies across systems. Far more than I anticipated. To make everything work together seamlessly out of the box, which is Aresā main āsellingā point, the code has to be very āopinionatedā about how things should be done.
Everything is a tradeoff.
-
I think Iām moreso surprised that Evennia hasnāt seen a community collection of solid tools for very common use cases, the way we often saw on MUSH and MUX back in the day. Not that Evennia should be shipping with it, but that it sounds like there hasnāt been much collection of community-built plugins of sorts.
-
I think Iām moreso surprised that Evennia hasnāt seen a community collection of solid tools for very common use cases, the way we often saw on MUSH and MUX back in the day. Not that Evennia should be shipping with it, but that it sounds like there hasnāt been much collection of community-built plugins of sorts.
I think the only reason it hasnāt is because everything is custom. You canāt guarantee that the game that will get your code has written their command file to include the command needed to access the file you put the code in, and you canāt guarantee that they have edited the player-bit file to even be able to use the command in the first place.
⦠or I am seriously misremembering how Evennia code works.
-
@Jennkryst said in PyReach:
I think the only reason it hasnāt is because everything is custom. You canāt guarantee that the game that will get your code has written their command file to include the command needed to access the file you put the code in, and you canāt guarantee that they have edited the player-bit file to even be able to use the command in the first place.
⦠or I am seriously misremembering how Evennia code works.
Any command that you want to have accessible on the game has to be accounted for in the default_commandsets.py file under either the character level or account level. But youāre probably already going to be doing this, tbh, if you want to add in the contrib plugins like mail, so it wouldnāt be a huge ask to throw in your other contribs. It looks like this with the mail file:
then just do
self.add(mail.CmdMail())
under the account level commands and bobās your uncle. It also wouldnāt be hard to do something like ā¦
from contrib.game_systems import dvoraen_comms
then
self.add(dvoraen_comms.CmdPage())
From the game runnerās perspective thatās all you have to do. You could potentially get a command suite for Evennia and function call it all there, or like how Melteth set up his BBS commands on Dies Irae: create a command set that youāre calling from the default_cmdset.py so you donāt have to require the game runner to apply each different command individually. This is how that looks for Meltethās BBS:
So! From the game runnerās perspective, that is, the perspective of the person whoās trying to boot up a new MUSH, all you do is either git pull the BBS commands or download the code file and apply it to your evennia installation manually (gross), and then all you have to do is reference the commandset in your default_cmdset.py file, like so:
from .bbs.bbs_cmdset import BBSCmdSet
then on Dies Irae I put this under the character-level commands:
I would say that this is as much labor as it would be to copy/paste SGP into your client after setting up room #2 when youāre attempting to configure rhost or tiny/penn. IMO, anyway. Itās about as much typing.Edit: also, one of the reasons I like evennia aside from being familiar with Python is due to how configurable it is like Faraday was mentioning. You can really get a lot out of it if you want to.
-
AS AN ASIDE. Melteth jobs and BBS are fine pieces of code and I think are still stored on the public facing Dies Irae github repo for anyone looking for code snippets that could work for their new Evennia game. If theyāre not stored publicly, obviously Iām not going to hand it out since itās not mine and would be up to Melteth@DI, but if it is, theyāre great contribs. Anyhow, they shouldnāt require any Dies Irae dependencies as theyāre designed to function separate from the rest of the command and world/DB structure.