<li><p>Part 1: <aclass="reference internal"href="Part1/Beginner-Tutorial-Part1-Overview.html"><spanclass="doc std std-doc">What We Have</span></a>
<br>A tour of Evennia and how to use the tools, including an introduction to Python.</p></li>
<li><p>Part 2: <aclass="reference internal"href="Part2/Beginner-Tutorial-Part2-Overview.html"><spanclass="doc std std-doc">What We Want</span></a>
<br>Planning our tutorial game and what to consider when planning your own.</p></li>
<li><p>Part 3: <aclass="reference internal"href="Part3/Beginner-Tutorial-Part3-Overview.html"><spanclass="doc std std-doc">How We Get There</span></a>
<br>Getting down to the meat of extending Evennia to make your game.</p></li>
<li><p>Part 4: <aclass="reference internal"href="Part4/Beginner-Tutorial-Part4-Overview.html"><spanclass="doc std std-doc">Using What We Created</span></a>
<br>Building a tech-demo and world content to go with our code.</p></li>
<li><p>Part 5: <aclass="reference internal"href="Part5/Beginner-Tutorial-Part5-Overview.html"><spanclass="doc std std-doc">Showing the World</span></a>
<br>Taking our new game online and letting players try it out.</p></li>
</ul>
</aside>
<p>Welcome to Evennia! This multi-part Beginner Tutorial will help get you off the ground and running.</p>
<p>You may choose topics that seem interesting but, if you follow this tutorial through to the end, you will have created your own small online game to play and share with others!</p>
<p>Use the menu on the right to navigate the index of each of the tutorial’s parts. Use the <aclass="reference internal"href="Part1/Beginner-Tutorial-Part1-Overview.html"><spanclass="doc std std-doc">next</span></a> and <aclass="reference internal"href="../Howtos-Overview.html"><spanclass="doc std std-doc">previous</span></a> links at the top/bottom right of each page to jump between lessons.</p>
<sectionid="things-you-need">
<h2>Things You Need<aclass="headerlink"href="#things-you-need"title="Permalink to this headline">¶</a></h2>
<ulclass="simple">
<li><p>A command line interface</p></li>
<li><p>A MUD client (or web browser)</p></li>
<li><p>A text-editor/IDE</p></li>
<li><p>Evennia installed and a game-dir initialized</p></li>
</ul>
<sectionid="a-command-line-interface">
<h3>A Command Line Interface<aclass="headerlink"href="#a-command-line-interface"title="Permalink to this headline">¶</a></h3>
<p>You need to know how to find the terminal/console in your OS. The Evennia server can be controlled from in-game, but you <em>will</em> realistically need to use the command-line interface to get anywhere. Here are some starters:</p>
<ulclass="simple">
<li><p><aclass="reference external"href="https://tutorial.djangogirls.org/en/intro_to_command_line/">Online Intro to the Command line for different OS:es</a></p></li>
</ul>
<blockquote>
<div><p>Note that the documentation typically uses forward-slashes (<codeclass="docutils literal notranslate"><spanclass="pre">/</span></code>) for file system paths. Windows users should convert these to back-slashes (<codeclass="docutils literal notranslate"><spanclass="pre">\</span></code>) instead.</p>
</div></blockquote>
</section>
<sectionid="a-fresh-game-dir">
<h3>A Fresh Game-Dir?<aclass="headerlink"href="#a-fresh-game-dir"title="Permalink to this headline">¶</a></h3>
<p>You should make sure that you have successfully <aclass="reference internal"href="../../Setup/Installation.html"><spanclass="doc std std-doc">installed Evennia</span></a>. If you followed the instructions, you will have already created a game-dir. The documentation will continue to refer to this game-dir as <codeclass="docutils literal notranslate"><spanclass="pre">mygame</span></code>, so you may want to re-use it or make a new one specific to this tutorial only – it’s up to you.</p>
<p>If you already have a game-dir and want a new one specific to this tutorial, use the <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">stop</span></code> command to halt the running server. Then, <aclass="reference internal"href="../../Setup/Installation.html#initialize-a-new-game"><spanclass="std std-doc">initialize a new game-dir</span></a> somewhere else (<em>not</em> inside the previous game-dir!).</p>
</section>
<sectionid="a-mud-client">
<h3>A MUD Client<aclass="headerlink"href="#a-mud-client"title="Permalink to this headline">¶</a></h3>
<p>You may already have a preferred MUD client. Check out the <aclass="reference internal"href="../../Setup/Client-Support-Grid.html"><spanclass="doc std std-doc">grid of supported clients</span></a>. Or, if telnet’s not your thing, you may also simply use Evennia’s web-client in your preferred browser.</p>
<p>Make sure you know how to connect and log in to your locally running Evennia server.</p>
<blockquote>
<div><p>In this documentation we often interchangeably use the terms ‘MUD’, ‘MU’, and ‘MU*’ to represent all the historically different forms of text-based multiplayer game-styles (i.e., MUD, MUX, MUSH, MUCK, MOO, etc.). Evennia can be used to create any of these game-styles… and more!</p>
</div></blockquote>
</section>
<sectionid="a-text-editor-or-ide">
<h3>A Text Editor or IDE<aclass="headerlink"href="#a-text-editor-or-ide"title="Permalink to this headline">¶</a></h3>
<p>You need a text editor application to edit Python source files. Most anything that can edit and output raw text should work (…so not Microsoft Word).</p>
<ulclass="simple">
<li><p><aclass="reference external"href="https://www.elegantthemes.com/blog/resources/best-code-editors">Here’s a blog post summing up a variety of text editor options</a> - these things don’t change much from year to year. Popular choices for Python are PyCharm, VSCode, Atom, Sublime Text, and Notepad++. Evennia is – to a very large degree – coded in VIM, but it is not suitable for beginners.</p></li>
</ul>
<divclass="admonition important">
<pclass="admonition-title">Important</p>
<p>Use Spaces, Not Tabs< br/>
Make sure to configure your text editor so that pressing the ‘Tab’ key inserts <em>4 spaces</em> rather than a tab-character. Because Python is whitespace-aware, this simple practice will make your life much easier.</p>
<h3>Running python commands outside game (optional)<aclass="headerlink"href="#running-python-commands-outside-game-optional"title="Permalink to this headline">¶</a></h3>
<p>This tutorial will primarily assume you are experimenting with Python through your game client, using the in-game <codeclass="docutils literal notranslate"><spanclass="pre">py</span></code> command. But you can also explore Python instructions outside of the game. Run the following from your game dir folder:</p>
<p>The <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">shell</span></code> console is convenient for experimenting with Python. But note that if you manipulate database objects from <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">shell</span></code>, those changes will not be visible from inside the game until you reload the server. Similarly changes in-game may not visible to the <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">shell</span></code> console until restarting it. As a guideline, use <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">shell</span></code> for testing things out. Don’t use it to change the state of a running game. The beginner tutorial uses the in-game <codeclass="docutils literal notranslate"><spanclass="pre">py</span></code> command to avoid confusion.</p>
<p>This will open an Evennia/Django aware python shell. You should use this instead of just running vanilla <codeclass="docutils literal notranslate"><spanclass="pre">python</span></code> since the latter won’t set up Django for you and you won’t be able to import <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span></code> without a lot of extra setup. For an even nicer experience, it’s recommended you install the <codeclass="docutils literal notranslate"><spanclass="pre">ipython</span></code> program:</p>
<p>The <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">shell</span></code> command will use <codeclass="docutils literal notranslate"><spanclass="pre">ipython</span></code> automatically if installed.</p>
<hrclass="docutils"/>
<p>You should now be ready to move on to the <aclass="reference internal"href="Part1/Beginner-Tutorial-Part1-Overview.html"><spanclass="doc std std-doc">first part of the Beginner Tutorial</span></a>! (In the future, use the <codeclass="docutils literal notranslate"><spanclass="pre">previous</span><spanclass="pre">|</span><spanclass="pre">next</span></code> buttons on the top/bottom of the page to progress.)</p>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Building-Quickstart.html#stepping-down-from-godhood">1.3. Stepping Down from Godhood</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Building-Quickstart.html#creating-an-object">1.4. Creating an Object</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Building-Quickstart.html#get-a-personality">1.5. Get a Personality</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Building-Quickstart.html#pushing-your-buttons">1.6. Pushing Your Buttons</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Building-Quickstart.html#making-yourself-a-house">1.7. Making Yourself a House</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Building-Quickstart.html#reshuffling-the-world">1.8. Reshuffling the World</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Building-Quickstart.html#adding-a-help-entry">1.9. Adding a Help Entry</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Building-Quickstart.html#adding-a-world">1.10. Adding a World</a></li>
</ul>
</li>
<liclass="toctree-l3"><aclass="reference internal"href="Part1/Beginner-Tutorial-Tutorial-World.html">2. The Tutorial World</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Tutorial-World.html#once-you-are-done-or-had-enough">2.2. Once you are done (or had enough)</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Tutorial-World.html#uninstall-the-tutorial-world">2.3. Uninstall the tutorial world</a></li>
</ul>
</li>
<liclass="toctree-l3"><aclass="reference internal"href="Part1/Beginner-Tutorial-Python-basic-introduction.html">3. Intro to using Python with Evennia</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Python-basic-introduction.html#making-some-text-graphics">3.2. Making some text ‘graphics’</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Python-basic-introduction.html#importing-code-from-other-modules">3.3. Importing code from other modules</a><ul>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Python-basic-introduction.html#our-first-own-function">3.3.1. Our first own function</a></li>
</ul>
</li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Python-basic-introduction.html#sending-text-to-others">3.4. Sending text to others</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Python-basic-introduction.html#other-ways-to-test-python-code">3.9. Other ways to test Python code</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="Part1/Beginner-Tutorial-Python-classes-and-objects.html">5. Introduction to Python classes and objects</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Python-classes-and-objects.html#on-classes-and-objects">5.2. On classes and objects</a><ul>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Python-classes-and-objects.html#classes-and-instances">5.2.1. Classes and instances</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Python-classes-and-objects.html#whats-so-good-about-objects">5.2.2. What’s so good about objects?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Python-classes-and-objects.html#classes-can-have-children">5.2.3. Classes can have children</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Python-classes-and-objects.html#a-look-at-multiple-inheritance">5.2.4. A look at multiple inheritance</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="Part1/Beginner-Tutorial-Evennia-Library-Overview.html">6. Overview of the Evennia library</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Evennia-Library-Overview.html#where-is-it">6.1. Where is it?</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Evennia-Library-Overview.html#an-example-of-exploring-the-library">6.2. An example of exploring the library</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="Part1/Beginner-Tutorial-Learning-Typeclasses.html">7. Making objects persistent</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#our-first-persistent-object">7.1. Our first persistent object</a><ul>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#making-a-new-object-by-calling-the-class">7.1.1. Making a new object by calling the class</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#creating-using-create-object">7.1.2. Creating using create_object</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#creating-using-create-command">7.1.3. Creating using create-command</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#a-method-on-ourselves">7.3.1. A method on ourselves</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#setting-things-on-new-characters">7.3.3. Setting things on new Characters</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#updating-all-characters-in-a-loop">7.3.4. Updating all Characters in a loop</a></li>
</ul>
</li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#extra-credits">7.4. Extra Credits</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Adding-Commands.html#creating-a-custom-command">8.1. Creating a custom command</a><ul>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Adding-Commands.html#making-our-cmdset-persistent">8.1.1. Making our cmdset persistent</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Adding-Commands.html#add-the-echo-command-to-the-default-cmdset">8.1.2. Add the echo command to the default cmdset</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Adding-Commands.html#figuring-out-who-to-hit">8.1.3. Figuring out who to hit</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-More-on-Commands.html#more-advanced-parsing">9.1. More advanced parsing</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-More-on-Commands.html#adding-a-command-to-an-object">9.2. Adding a Command to an object</a><ul>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-More-on-Commands.html#you-need-to-hold-the-sword">9.2.1. You need to hold the sword!</a></li>
</ul>
</li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-More-on-Commands.html#adding-the-command-to-a-default-cmdset">9.3. Adding the Command to a default Cmdset</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Creating-Things.html#creating-rooms-characters-and-exits">10.2. Creating Rooms, Characters and Exits</a><ul>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Creating-Things.html#linking-exits-and-rooms-in-code">10.2.1. Linking Exits and Rooms in code</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Searching-Things.html#searching-using-object-search">11.1. Searching using Object.search</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Searching-Things.html#main-search-functions">11.2. Main search functions</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Searching-Things.html#what-can-be-searched-for">11.3. What can be searched for</a><ul>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-key">11.3.1. Search by key</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-aliases">11.3.2. Search by aliases</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-location">11.3.3. Search by location</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-tags">11.3.4. Search by Tags</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-attribute">11.3.5. Search by Attribute</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-typeclass">11.3.6. Search by Typeclass</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-dbref">11.3.7. Search by dbref</a></li>
</ul>
</li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Searching-Things.html#finding-objects-relative-each-other">11.4. Finding objects relative each other</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Django-queries.html#queryset-field-lookups">12.1. Queryset field lookups</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Django-queries.html#lets-get-that-werewolf">12.2. Let’s get that werewolf …</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Django-queries.html#queries-with-or-or-not">12.3. Queries with OR or NOT</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Django-queries.html#grouping-and-returning-only-certain-properties">12.6. Grouping and returning only certain properties</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html">13. Building a chair you can sit on</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html#make-us-not-able-to-move-while-sitting">13.1. Make us not able to move while sitting</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html#making-the-chair-itself">13.2. Making the Chair itself</a><ul>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html#sitting-on-or-in">13.2.1. Sitting on or in?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html#extra-credits">13.2.2. Extra credits</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html#command-variant-1-commands-on-the-chair">13.3.1. Command variant 1: Commands on the chair</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html#command-variant-2-command-on-character">13.3.2. Command variant 2: Command on Character</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-Where-Do-I-Begin.html">1. Where do I begin?</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-Where-Do-I-Begin.html#what-is-your-motivation-for-doing-this">1.1. What is your motivation for doing this?</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-Where-Do-I-Begin.html#what-are-your-skills">1.2. What are your skills?</a><ul>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-Where-Do-I-Begin.html#the-game-engine">1.2.1. The game engine</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-Where-Do-I-Begin.html#so-where-do-i-begin-then">1.3. So, where do I begin, then?</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#game-concept">3.1. Game concept</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#should-your-game-rules-be-enforced-by-coded-systems-by-human-game-masters">3.2.1. Should your game rules be enforced by coded systems by human game masters?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#what-is-the-staff-hierarchy-in-your-game-is-vanilla-evennia-roles-enough-or-do-you-need-something-else">3.2.2. What is the staff hierarchy in your game? Is vanilla Evennia roles enough or do you need something else?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#should-players-be-able-to-post-out-of-characters-on-channels-and-via-other-means-like-bulletin-boards">3.2.3. Should players be able to post out-of-characters on channels and via other means like bulletin-boards?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#how-will-the-world-be-built">3.3.1. How will the world be built?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#can-only-privileged-builders-create-things-or-should-regular-players-also-have-limited-build-capability">3.3.2. Can only privileged Builders create things or should regular players also have limited build-capability?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#do-you-base-your-game-off-an-existing-rpg-system-or-make-up-your-own">3.4.1. Do you base your game off an existing RPG system or make up your own?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#what-are-the-game-mechanics-how-do-you-decide-if-an-action-succeeds-or-fails">3.4.2. What are the game mechanics? How do you decide if an action succeeds or fails?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#does-the-flow-of-time-matter-in-your-game-does-night-and-day-change-what-about-seasons">3.4.3. Does the flow of time matter in your game - does night and day change? What about seasons?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#do-you-want-changing-global-weather-or-should-weather-just-be-set-manually-in-roleplay">3.4.4. Do you want changing, global weather or should weather just be set manually in roleplay?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#do-you-want-a-coded-world-economy-or-just-a-simple-barter-system-or-no-formal-economy-at-all">3.4.5. Do you want a coded world-economy or just a simple barter system? Or no formal economy at all?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#do-you-have-concepts-like-reputation-and-influence">3.4.6. Do you have concepts like reputation and influence?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#will-your-characters-be-known-by-their-name-or-only-by-their-physical-appearance">3.4.7. Will your characters be known by their name or only by their physical appearance?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#is-a-simple-room-description-enough-or-should-the-description-be-able-to-change">3.5.1. Is a simple room description enough or should the description be able to change?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#should-the-room-have-different-statuses">3.5.2. Should the room have different statuses?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#can-objects-be-hidden-in-the-room-can-a-person-hide-in-the-room">3.5.3. Can objects be hidden in the room? Can a person hide in the room?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#how-numerous-are-your-objects-do-you-want-large-loot-lists-or-are-objects-just-role-playing-props">3.6.1. How numerous are your objects? Do you want large loot-lists or are objects just role playing props?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#is-each-coin-a-separate-object-or-do-you-just-store-a-bank-account-value">3.6.2. Is each coin a separate object or do you just store a bank account value?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#do-multiple-similar-objects-form-stack-and-how-are-those-stacks-handled-in-that-case">3.6.3. Do multiple similar objects form stack and how are those stacks handled in that case?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#does-an-object-have-weight-or-volume-so-you-cannot-carry-an-infinite-amount-of-them">3.6.4. Does an object have weight or volume (so you cannot carry an infinite amount of them)?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#can-objects-be-broken-can-they-be-repaired">3.6.5. Can objects be broken? Can they be repaired?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#can-you-fight-with-a-chair-or-a-flower-or-must-you-use-a-special-weapon-kind-of-thing">3.6.6. Can you fight with a chair or a flower or must you use a special ‘weapon’ kind of thing?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#will-characters-be-able-to-craft-new-objects">3.6.7. Will characters be able to craft new objects?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#should-mobs-npcs-have-some-sort-of-ai">3.6.8. Should mobs/NPCs have some sort of AI?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#are-npcs-and-mobs-different-entities-how-do-they-differ">3.6.9. Are NPCs and mobs different entities? How do they differ?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#should-there-be-npcs-giving-quests-if-so-how-do-you-track-quest-status">3.6.10. _Should there be NPCs giving quests? If so, how do you track Quest status?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#can-players-have-more-than-one-character-active-at-a-time-or-are-they-allowed-to-multi-play">3.7.1. Can players have more than one Character active at a time or are they allowed to multi-play?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#how-does-the-character-generation-work">3.7.2. How does the character-generation work?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#how-do-you-implement-different-classes-or-races">3.7.3. How do you implement different “classes” or “races”?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#if-a-character-can-hide-in-a-room-what-skill-will-decide-if-they-are-detected">3.7.4. If a Character can hide in a room, what skill will decide if they are detected?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#what-does-the-skill-tree-look-like-can-a-character-gain-experience-to-improve-by-killing-enemies-solving-quests-by-roleplaying">3.7.5. What does the skill tree look like? Can a Character gain experience to improve? By killing enemies? Solving quests? By roleplaying?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#may-player-characters-attack-each-other-pvp">3.7.6. May player-characters attack each other (PvP)?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#what-are-the-penalties-of-defeat-permanent-death-quick-respawn-time-in-prison">3.7.7. What are the penalties of defeat? Permanent death? Quick respawn? Time in prison?</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Rules.html#rolling-with-advantage">2.3.2. Rolling with advantage</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Characters.html#connecting-the-character-with-evennia">3.4. Connecting the Character with Evennia</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Characters.html#unit-testing">3.5. Unit Testing</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Characters.html#about-races-and-classes">3.6. About races and classes</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="Part3/Beginner-Tutorial-Objects.html">4. In-game Objects and items</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Objects.html#new-enums">4.1. New Enums</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Objects.html#the-base-object">4.2. The base object</a><ul>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Objects.html#using-attributes-or-not">4.2.1. Using Attributes or not</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Objects.html#creating-tags-in-at-object-creation">4.2.2. Creating tags in <codeclass="docutils literal notranslate"><spanclass="pre">at_object_creation</span></code></a></li>
</ul>
</li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Objects.html#other-object-types">4.3. Other object types</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Objects.html#your-bare-hands">4.8. Your Bare hands</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Objects.html#testing-and-extra-credits">4.9. Testing and Extra credits</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Equipment.html#equipmenthandler-that-saves">5.1. EquipmentHandler that saves</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Equipment.html#connecting-the-equipmenthandler">5.2. Connecting the EquipmentHandler</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Equipment.html#expanding-the-equipmenthandler">5.3. Expanding the Equipmenthandler</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Equipment.html#add-and-remove">5.5. <codeclass="docutils literal notranslate"><spanclass="pre">.add</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">.remove</span></code></a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Equipment.html#moving-things-around">5.6. Moving things around</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Equipment.html#get-everything">5.7. Get everything</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Equipment.html#weapon-and-armor">5.8. Weapon and armor</a><ul>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Equipment.html#fixing-the-character-class">5.8.1. Fixing the Character class</a></li>
</ul>
</li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Equipment.html#extra-credits">5.9. Extra credits</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Equipment.html#unit-testing">5.10. Unit Testing</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="Part3/Beginner-Tutorial-Chargen.html">6. Character Generation</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Chargen.html#how-it-will-work">6.1. How it will work</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Chargen.html#random-tables">6.2. Random tables</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Chargen.html#storing-state-of-the-menu">6.3. Storing state of the menu</a><ul>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Chargen.html#showing-the-sheet">6.3.1. Showing the sheet</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Chargen.html#main-node-choosing-what-to-do">6.5. Main Node: Choosing what to do</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Chargen.html#node-changing-your-name">6.6. Node: Changing your name</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Twitch.html#getting-the-sides-of-combat">10.2.1. Getting the sides of combat</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Twitch.html#execute-an-action">10.2.4. Execute an action</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Twitch.html#checking-and-stopping-combat">10.2.5. Checking and stopping combat</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Twitch.html#base-combat-class">10.3.1. Base Combat class</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Twitch.html#using-items">10.3.5. Using items</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Twitch.html#wielding-new-weapons-and-equipment">10.3.6. Wielding new weapons and equipment</a></li>
</ul>
</li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Twitch.html#grouping-commands-for-use">10.4. Grouping Commands for use</a><ul>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Twitch.html#combat-startup-and-cleanup">10.4.1. Combat startup and cleanup</a></li>
</ul>
</li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Twitch.html#unit-testing">10.5. Unit Testing</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Twitch.html#a-small-combat-test">10.6. A small combat test</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Turnbased.html#general-principle">11.1. General Principle</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Turnbased.html#getting-the-sides-of-combat">11.2.1. Getting the sides of combat</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Turnbased.html#execute-an-action-and-tick-the-round">11.2.6. Execute an action and tick the round</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Turnbased.html#check-and-stop-combat">11.2.7. Check and stop combat</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Turnbased.html#using-evmenu-for-the-combat-menu">11.3. Using EvMenu for the combat menu</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Turnbased.html#menu-for-turnbased-combat">11.4. Menu for Turnbased combat</a><ul>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Turnbased.html#the-node-index">11.4.1. The node index</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Turnbased.html#getting-or-setting-the-combathandler">11.4.2. Getting or setting the combathandler</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Turnbased.html#queue-an-action">11.4.3. Queue an action</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Turnbased.html#rerun-a-node">11.4.4. Rerun a node</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Turnbased.html#stepping-through-the-wizard">11.4.5. Stepping through the wizard</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Turnbased.html#choosing-targets-and-recipients">11.4.6. Choosing targets and recipients</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Turnbased.html#choose-an-ability">11.4.7. Choose an Ability</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Turnbased.html#choose-an-item-to-use-or-wield">11.4.8. Choose an item to use or wield</a></li>
<liclass="toctree-l5"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Turnbased.html#the-main-menu-node">11.4.9. The main menu node</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Turnbased.html#making-sure-the-menu-stops">11.6. Making sure the menu stops</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="Part3/Beginner-Tutorial-Combat-Turnbased.html#a-small-combat-test">11.8. A small combat test</a></li>