<li><aclass="reference internal"href="#can-i-test-it-somewhere">Can I test it somewhere?</a></li>
<li><aclass="reference internal"href="#what-you-need-to-know-to-work-with-evennia">What you need to know to work with Evennia</a><ul>
<li><aclass="reference internal"href="#i-dont-know-or-dont-want-to-do-any-programming-i-just-want-to-run-a-game">I don’t know (or don’t want to do) any programming - I just want to run a game!</a></li>
<li><aclass="reference internal"href="#i-know-basic-python-or-i-am-willing-to-learn">I know basic Python, or I am willing to learn</a></li>
<li><aclass="reference internal"href="#i-know-my-python-stuff-and-i-am-willing-to-use-it">I know my Python stuff and I am willing to use it!</a></li>
be highly extendable for any style of game. “Bare-bones” in this context means that we try to impose as few game-specific things on you as possible. For convenience offer basic building
<p>We also include a growing list of <em>optional</em><aclass="reference internal"href="Contribs/Contribs-Overview.html"><spanclass="doc std std-doc">contribs</span></a> you can use for your game would you want something to build from.</p>
<p>Using the full power of Python throughout the server offers some distinct advantages. All your coding, from object definitions and custom commands to AI scripts and economic systems is done in normal Python modules rather than some ad-hoc scripting language. The fact that you script the game in the same high-level language that you code it in allows for very powerful and custom game implementations indeed.</p>
<p>Out of the box, Evennia gives you a ‘talker’-type of game; you can walk around, chat, build rooms and objects, do basic roleplaying and administration. The server ships with a default set of player commands that are similar to the MUX command set. We <em>do not</em> aim specifically to be a MUX server, but we had to pick some default to go with (see <aclass="reference internal"href="Concepts/Soft-Code.html"><spanclass="doc std std-doc">this</span></a> for more about our original motivations). It’s easy to remove or add commands, or to have the command syntax mimic other systems, like Diku, LP, MOO and so on. Or why not create a new and better command system of your own design.</p>
<h2>Can I test it somewhere?<aclass="headerlink"href="#can-i-test-it-somewhere"title="Permalink to this headline">¶</a></h2>
<p>Evennia’s demo server can be found at <aclass="reference external"href="https://demo.evennia.com">https://demo.evennia.com</a>. If you prefer to
connect to the demo via your telnet client you can do so at <codeclass="docutils literal notranslate"><spanclass="pre">demo.evennia.com</span></code>, port <codeclass="docutils literal notranslate"><spanclass="pre">4000</span></code>.</p>
<p>Once you installed Evennia yourself it comes with its own tutorial - this shows off some of the
possibilities <em>and</em> gives you a small single-player quest to play. The tutorial takes only one
single in-game command to install as explained <aclass="reference internal"href="Howtos/Beginner-Tutorial/Part1/Beginner-Tutorial-Tutorial-World.html"><spanclass="doc std std-doc">here</span></a>.</p>
<h2>What you need to know to work with Evennia<aclass="headerlink"href="#what-you-need-to-know-to-work-with-evennia"title="Permalink to this headline">¶</a></h2>
<p>Assuming you have Evennia working (see the <aclass="reference internal"href="Setup/Installation.html"><spanclass="doc std std-doc">quick start instructions</span></a>) and have
gotten as far as to start the server and connect to it with the client of your choice, here’s what
you need to know depending on your skills and needs.</p>
<h3>I don’t know (or don’t want to do) any programming - I just want to run a game!<aclass="headerlink"href="#i-dont-know-or-dont-want-to-do-any-programming-i-just-want-to-run-a-game"title="Permalink to this headline">¶</a></h3>
<p>Evennia comes with a default set of commands for the Python newbies and for those who need to get a game running <em>now</em>. Stock Evennia is enough for running a simple ‘Talker’-type game - you can build and describe rooms and basic objects, have chat channels, do emotes and other things suitable for a social or free-form MU*. Combat, mobs and other game elements are not included, so you’ll have a very basic game indeed if you are not willing to do at least <em>some</em> coding.</p>
<h3>I know basic Python, or I am willing to learn<aclass="headerlink"href="#i-know-basic-python-or-i-am-willing-to-learn"title="Permalink to this headline">¶</a></h3>
<p>Evennia’s source code is <aclass="reference external"href="https://www.evennia.com/docs/latest">extensively documented</a>. But while Python is considered a very easy programming language to get into, you do have a learning curve to climb if you are new to programming. Evennia’s <aclass="reference internal"href="Howtos/Beginner-Tutorial/Part1/Beginner-Tutorial-Part1-Intro.html"><spanclass="doc std std-doc">Starting-tutorial</span></a> has a <aclass="reference internal"href="Howtos/Beginner-Tutorial/Part1/Beginner-Tutorial-Python-basic-introduction.html"><spanclass="doc std std-doc">basic introduction to Python</span></a> but you should probably also sit down with a full Python beginner’s tutorial at some point (there are plenty of them on the web if you look around). See also our <aclass="reference internal"href="Links.html"><spanclass="doc std std-doc">link page</span></a> for some reading suggestions.</p>
<p>To code your dream game in Evennia you don’t need to be a Python guru, but you do need to be able to read example code containing at least these basic Python features:</p>
<aclass="reference external"href="https://docs.python.org/tutorial/controlflow.html#for-statements">loops</a> and <aclass="reference external"href="https://docs.python.org/tutorial/controlflow.html#defining-functions">functions</a></p></li>
<li><p>Using <aclass="reference external"href="https://docs.python.org/tutorial/datastructures.html">lists, dictionaries and list comprehensions</a></p></li>
<li><p>Have a basic understanding of <aclass="reference external"href="https://www.tutorialspoint.com/python/python_classes_objects.htm">object-oriented programming</a>, using
<aclass="reference external"href="https://docs.python.org/tutorial/classes.html">Classes</a>, their methods and properties</p></li>
</ul>
<p>Obviously, the more things you feel comfortable with, the easier time you’ll have to find your way.
With just basic knowledge you should be able to define your own <aclass="reference internal"href="Components/Commands.html"><spanclass="doc std std-doc">Commands</span></a>, create custom
<aclass="reference internal"href="Components/Objects.html"><spanclass="doc std std-doc">Objects</span></a> as well as make your world come alive with basic <aclass="reference internal"href="Components/Scripts.html"><spanclass="doc std std-doc">Scripts</span></a>. You can
definitely build a whole advanced and customized game from extending Evennia’s examples only.</p>
<h3>I know my Python stuff and I am willing to use it!<aclass="headerlink"href="#i-know-my-python-stuff-and-i-am-willing-to-use-it"title="Permalink to this headline">¶</a></h3>
<p>Even if you started out as a Python beginner, you will likely get to this point after working on your game for a while. With more general knowledge in Python the full power of Evennia opens up for you. Apart from modifying commands, objects and scripts, you can develop everything from advanced mob AI and economic systems, through sophisticated combat and social mini games, to redefining how commands, players, rooms or channels themselves work. Since you code your game by importing normal Python modules, there are few limits to what you can accomplish.</p>
<h2>Where to from here?<aclass="headerlink"href="#where-to-from-here"title="Permalink to this headline">¶</a></h2>
<p>It’s recommended you jump into the <aclass="reference internal"href="Howtos/Beginner-Tutorial/Beginner-Tutorial-Intro.html"><spanclass="doc std std-doc">Beginner Tutorial</span></a>. You can either follow it or jump around to lessons that seem interesting. You can also read the lead developer’s <aclass="reference external"href="https://www.evennia.com/devblog/index.html">dev blog</a> for many tidbits and snippets about Evennia’s development and structure.</p>
<p>Sometimes it’s easier to ask for help. Get engaged in the Evennia community by joining our <aclass="reference external"href="https://discord.gg/AJJpcRUhtF">Discord</a> for direct support. Make an introductory post to our <aclass="reference external"href="https://github.com/evennia/evennia/discussions">Discussion forum</a> and say hi!.</p>