@griatch said in Make Evennia 'more accessibility' - ideas?:
I'd be interested in what kind of features you would be looking for in order to have an easier time getting into Evennia
Getting the system started and into the part of the system where coding happens—which can happen in multiple places—is a distinct challenge for me. While people have told me what Django is a few times, I don't remember why I need it so talking about it can be distracting. While I use git/Github to store my code, I don't use it to code.
While TinyMUX can be a pain to get compiled right, once it's compiled there's a single button to press to start the game, log in, and get confused by the next layer of "build the game".
Ares comes close to this.
Evennia's documentation is good, but...here, look, here's a part from the first documentation page:
• The Getting Started page helps installing and starting Evennia for the first time.
• The Admin Docs covers running and maintaining an Evennia server.
• The Builder Docs helps for starting to build a game world using Evennia.
• The Developer Central describes how Evennia works and is used by coders.
• The Tutorials & Examples contains help pages on a step-by-step or tutorial format.
• The API documentation is created from the latest source code.
Okay, so I assume I look at "The Getting Started page". Yup, there's how to install and get running. I'm on a Mac so sure, let me look there:
cd mygame
evennia migrate # (this creates the database)
evennia start # (make sure to create a superuser when asked. Email is optional.)
Except that I know there's another step that I'm missing because it runs in ... virtualeng? veng? vengence? Something.
Okay, let's try the Administration page. Ahha! "Starting, stopping, reloading and resetting Evennia." Here it is!
A common reason for not seeing the evennia command is to forget to (re)start the virtual environment (in a folder called pyenv if you followed the Getting Started page). You need to do this every time you start a new terminal/console and should see (pyenv) at the beginning of the line. The virtualenv allows to install all Python dependencies without needing root or disturbing the global packages in the repo (which are often older).
source pyenv/bin/activate (Linux/Unix)
pyenv/Scripts/activate` (Windows)
... What?
Wait, do you want me to run this every time I log into the shell? I know almost nothing about pyenv. This is a step up from a true newbie who will know literally nothing about it.
My solution? I like how MediaWiki does it. There's a full "we know you're a newbie let's try to help" page and then there are a number of "this is what's going on behind the scenes with this particular aspect" pages. This is how I drill down to the various setup security levels and new namespaces. It was absolutely confusing at first but because I could go up a level I never felt entirely without hope.
Incidentally, "Startup scripts for remote servers" points to the same file which does not have any startup scripts for remote servers.
--
In updating:
When you're wanting to apply updates, simply cd to your cloned evennia root directory and type:
Do I need to be in pyenv?
When the database schema changes, you just go to your game folder and run:
Do I need to be in pyenv?
(Extra credit: Does git pull
tell me when my database schema changes?)
--
Alright, let's look at the beginning developer docs!
Explore Evennia interactively
When new to Evennia it can be hard to find things or figure out what is available. Evennia offers a special interactive python shell that allows you to experiment and try out things. It's recommended to use ipython for this since the vanilla python prompt is very limited. Here are some simple commands to get started:
# [open a new console/terminal]
# [activate your evennia virtualenv in this console/terminal]
pip install ipython # [only needed the first time]
cd mygame
evennia shell
Wait, do I need to enter pyenv here?
--
I think this is enough for now. I know I sound like I'm complaining. I am not. I am horrible at pointing things out gently, so I do it the way I do it while I get better at doing it.
If I had a better grasp of how people learn I could add examples of why the documentation is confusing, but for now I'll explain why it's confusing for me.
I sincerely hope that helps.