evennia/docs/1.x/Howtos/Beginner-Tutorial/Beginner-Tutorial-Overview.html
2023-12-20 19:01:27 +01:00

615 lines
No EOL
59 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>Beginner Tutorial &#8212; Evennia 1.0 documentation</title>
<link rel="stylesheet" href="../../_static/nature.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
<script src="../../_static/jquery.js"></script>
<script src="../../_static/underscore.js"></script>
<script src="../../_static/doctools.js"></script>
<script src="../../_static/language_data.js"></script>
<link rel="shortcut icon" href="../../_static/favicon.ico"/>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="Part 1: What we have" href="Part1/Beginner-Tutorial-Part1-Overview.html" />
<link rel="prev" title="Tutorials and Howtos" href="../Howtos-Overview.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="Part1/Beginner-Tutorial-Part1-Overview.html" title="Part 1: What we have"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="../Howtos-Overview.html" title="Tutorials and Howtos"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">Evennia 1.0</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Howtos-Overview.html" accesskey="U">Tutorials and Howtos</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Beginner Tutorial</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../../index.html">
<img class="logo" src="../../_static/evennia_logo.png" alt="Logo"/>
</a></p>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
<h3><a href="../../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Beginner Tutorial</a><ul>
<li><a class="reference internal" href="#things-you-need">Things you need</a><ul>
<li><a class="reference internal" href="#a-command-line">A Command line</a></li>
<li><a class="reference internal" href="#a-mud-client">A MUD client</a></li>
<li><a class="reference internal" href="#a-text-editor-or-ide">A text Editor or IDE</a></li>
<li><a class="reference internal" href="#a-fresh-game-dir">A fresh game dir?</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="../Howtos-Overview.html"
title="previous chapter">Tutorials and Howtos</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="Part1/Beginner-Tutorial-Part1-Overview.html"
title="next chapter">Part 1: What we have</a></p>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../../_sources/Howtos/Beginner-Tutorial/Beginner-Tutorial-Overview.md.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div><h3>Links</h3>
<ul>
<li><a href="https://www.evennia.com">Home page</a> </li>
<li><a href="https://github.com/evennia/evennia">Evennia Github</a> </li>
<li><a href="http://games.evennia.com">Game Index</a> </li>
<li>
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
<a href="https://evennia.blogspot.com/">Blog</a>
</li>
</ul>
</div>
</div>
<div class="bodywrapper">
<div class="body" role="main">
<section class="tex2jax_ignore mathjax_ignore" id="beginner-tutorial">
<h1>Beginner Tutorial<a class="headerlink" href="#beginner-tutorial" title="Permalink to this headline"></a></h1>
<aside class="sidebar">
<p class="sidebar-title">Beginner Tutorial Parts</p>
<ul class="simple">
<li><p><strong><a class="reference internal" href="#"><span class="doc std std-doc">Introduction</span></a></strong>
<br>Getting set up.</p></li>
<li><p>Part 1: <a class="reference internal" href="Part1/Beginner-Tutorial-Part1-Overview.html"><span class="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: <a class="reference internal" href="Part2/Beginner-Tutorial-Part2-Overview.html"><span class="doc std std-doc">What we want</span></a>
<br>Planning our tutorial game and what to think about when planning your own in the future.</p></li>
<li><p>Part 3: <a class="reference internal" href="Part3/Beginner-Tutorial-Part3-Overview.html"><span class="doc std std-doc">How we get there</span></a>
<br>Getting down to the meat of extending Evennia to make our game</p></li>
<li><p>Part 4: <a class="reference internal" href="Part4/Beginner-Tutorial-Part4-Overview.html"><span class="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: <a class="reference internal" href="Part5/Beginner-Tutorial-Part5-Overview.html"><span class="doc std std-doc">Showing the world</span></a>
<br>Taking our new game online and let players try it out</p></li>
</ul>
</aside>
<p>Welcome to Evennia! This multi-part Beginner Tutorial will help you get off the ground.</p>
<p>You can pick what seems interesting, but if you follow through to the end you will have created a little online game of your own to play and share with others!</p>
<p>Use the menu on the right to get the index of each tutorial-part. Use the <a class="reference internal" href="Part1/Beginner-Tutorial-Part1-Overview.html"><span class="doc std std-doc">next</span></a> and <a class="reference internal" href="../Howtos-Overview.html"><span class="doc std std-doc">previous</span></a> links at the top/bottom right of the page to step between lessons.</p>
<section id="things-you-need">
<h2>Things you need<a class="headerlink" href="#things-you-need" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>A Command line</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>
<section id="a-command-line">
<h3>A Command line<a class="headerlink" href="#a-command-line" title="Permalink to this headline"></a></h3>
<p>You need to know how to find your Terminal/Console in your OS. The Evennia server can be controlled from in-game, but you <em>will</em> need to use the command-line to get anywhere. Here are some starters:</p>
<ul class="simple">
<li><p><a class="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 we usually only show forward-slashes <code class="docutils literal notranslate"><span class="pre">/</span></code> for file system paths. Windows users should mentally convert this to back-slashes <code class="docutils literal notranslate"><span class="pre">\</span></code> instead.</p>
</div></blockquote>
</section>
<section id="a-mud-client">
<h3>A MUD client<a class="headerlink" href="#a-mud-client" title="Permalink to this headline"></a></h3>
<p>You might already have a MUD-client you prefer. Check out the <a class="reference internal" href="../../Setup/Client-Support-Grid.html"><span class="doc std std-doc">grid of supported clients</span></a>.
If telnets not your thing, you can also just use Evennias web client in your browser.</p>
<blockquote>
<div><p>In this documentation we often use the terms MUD, MU or MU* interchangeably to represent all the historically different forms of text-based multiplayer game-styles, like MUD, MUX, MUSH, MUCK, MOO and others. Evennia can be used to create all those game-styles and more.</p>
</div></blockquote>
</section>
<section id="a-text-editor-or-ide">
<h3>A text Editor or IDE<a class="headerlink" href="#a-text-editor-or-ide" title="Permalink to this headline"></a></h3>
<p>You need a text-editor to edit Python source files. Most everything that can edit and output raw
text works (so not Word).</p>
<ul class="simple">
<li><p><a class="reference external" href="https://www.elegantthemes.com/blog/resources/best-code-editors">Heres a blog post summing up some of the alternatives</a> - these things dont 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 thats not suitable for beginners.</p></li>
</ul>
<div class="admonition important">
<p class="admonition-title">Important</p>
<p>Use spaces, not tabs</p>
</div>
<blockquote>
<div><p>Make sure to configure your editor so that pressing TAB inserts <em>4 spaces</em> rather than a Tab-character. Since Python is whitespace-aware, this will make your life a lot easier.</p>
</div></blockquote>
</section>
<section id="a-fresh-game-dir">
<h3>A fresh game dir?<a class="headerlink" href="#a-fresh-game-dir" title="Permalink to this headline"></a></h3>
<p>You should make sure you have <a class="reference internal" href="../../Setup/Installation.html"><span class="doc std std-doc">installed Evennia</span></a>. If you followed the instructions you will already have created a game-dir.</p>
<p>You could re-use that or make a new one only for this tutorial, its up to you.</p>
<p>If you already have a game dir and want a separate one for the tutorial, use <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">stop</span></code> to halt the running server and then <a class="reference internal" href="../../Setup/Installation.html#initialize-a-new-game"><span class="std std-doc">Initialize a new game dir</span></a> somewhere else (<em>not</em> inside the previous game dir!). We refer to it everywhere as <code class="docutils literal notranslate"><span class="pre">mygame</span></code>, so you may want to do the same.</p>
<p>You should now be ready to move on to the <a class="reference internal" href="Part1/Beginner-Tutorial-Part1-Overview.html"><span class="doc std std-doc">first lesson</span></a></p>
<details>
<summary>
Click here to expand a list of all Beginner-Tutorial sections (all parts).
</summary>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="Part1/Beginner-Tutorial-Part1-Overview.html">Part 1: What we have</a><ul>
<li class="toctree-l2"><a class="reference internal" href="Part1/Beginner-Tutorial-Part1-Overview.html#lessons">Lessons</a><ul>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html">1. Using commands and building stuff</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html#getting-help">1.1. Getting help</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html#looking-around">1.2. Looking around</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html#stepping-down-from-godhood">1.3. Stepping Down From Godhood</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html#creating-an-object">1.4. Creating an Object</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html#get-a-personality">1.5. Get a Personality</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html#pushing-your-buttons">1.6. Pushing Your Buttons</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html#making-yourself-a-house">1.7. Making Yourself a House</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html#reshuffling-the-world">1.8. Reshuffling the World</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html#adding-a-help-entry">1.9. Adding a Help Entry</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html#adding-a-world">1.10. Adding a World</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Tutorial-World.html">2. The Tutorial World</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Tutorial-World.html#gameplay">2.1. Gameplay</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Tutorial-World.html#gameplay-hints">2.1.1. Gameplay hints</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="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>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Tutorial-World.html#uninstall-the-tutorial-world">2.3. Uninstall the tutorial world</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html">3. Intro to using Python with Evennia</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#evennia-hello-world">3.1. Evennia Hello world</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#making-some-text-graphics">3.2. Making some text graphics</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#format">3.2.1. .format()</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#f-strings">3.2.2. f-strings</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#colored-text">3.2.3. Colored text</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#importing-code-from-other-modules">3.3. Importing code from other modules</a><ul>
<li class="toctree-l5"><a class="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>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#sending-text-to-others">3.4. Sending text to others</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#parsing-python-errors">3.5. Parsing Python errors</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#passing-arguments-to-functions">3.6. Passing arguments to functions</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#finding-others-to-send-to">3.7. Finding others to send to</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#multi-line-py">3.8. Multi-line py</a></li>
<li class="toctree-l4"><a class="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>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#ipython">3.10. ipython</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#conclusions">3.11. Conclusions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Gamedir-Overview.html">4. Overview of your new Game Dir</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Gamedir-Overview.html#commands">4.1. commands/</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Gamedir-Overview.html#server">4.2. server/</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Gamedir-Overview.html#server-logs">4.2.1. server/logs/</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Gamedir-Overview.html#server-conf">4.2.2. server/conf/</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Gamedir-Overview.html#typeclasses">4.2.3. typeclasses/</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Gamedir-Overview.html#web">4.2.4. web/</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Gamedir-Overview.html#world">4.2.5. world/</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-classes-and-objects.html">5. Introduction to Python classes and objects</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-classes-and-objects.html#importing-things">5.1. Importing things</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-classes-and-objects.html#on-classes-and-objects">5.2. On classes and objects</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-classes-and-objects.html#classes-and-instances">5.2.1. Classes and instances</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-classes-and-objects.html#whats-so-good-about-objects">5.2.2. Whats so good about objects?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-classes-and-objects.html#classes-can-have-children">5.2.3. Classes can have children</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-classes-and-objects.html#summary">5.3. Summary</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Evennia-Library-Overview.html">6. Overview of the Evennia library</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Evennia-Library-Overview.html#where-is-it">6.1. Where is it?</a></li>
<li class="toctree-l4"><a class="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>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Evennia-Library-Overview.html#conclusions">6.3. Conclusions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html">7. Making objects persistent</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#our-first-persistent-object">7.1. Our first persistent object</a><ul>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#creating-using-create-object">7.1.2. Creating using create_object</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#creating-using-create-command">7.1.3. Creating using create-command</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#typeclasses">7.2. Typeclasses</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#examining-objects">7.2.1. Examining objects</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#default-typeclasses">7.2.2. Default typeclasses</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#modifying-ourselves">7.3. Modifying ourselves</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#a-method-on-ourselves">7.3.1. A method on ourselves</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#attributes">7.3.2. Attributes</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#setting-things-on-new-characters">7.3.3. Setting things on new Characters</a></li>
<li class="toctree-l5"><a class="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>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#extra-credits">7.4. Extra Credits</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#conclusions">7.5. Conclusions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Adding-Commands.html">8. Adding custom commands</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Adding-Commands.html#creating-a-custom-command">8.1. Creating a custom command</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Adding-Commands.html#making-our-cmdset-persistent">8.1.1. Making our cmdset persistent</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Adding-Commands.html#figuring-out-who-to-hit">8.1.2. Figuring out who to hit</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Adding-Commands.html#summary">8.2. Summary</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-More-on-Commands.html">9. Parsing Command input</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-More-on-Commands.html#more-advanced-parsing">9.1. More advanced parsing</a></li>
<li class="toctree-l4"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l4"><a class="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>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-More-on-Commands.html#removing-commands">9.3.1. Removing Commands</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-More-on-Commands.html#replace-a-default-command">9.4. Replace a default command</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-More-on-Commands.html#summary">9.5. Summary</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Creating-Things.html">10. Creating things</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Creating-Things.html#creating-objects">10.1. Creating Objects</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Creating-Things.html#creating-rooms-characters-and-exits">10.2. Creating Rooms, Characters and Exits</a><ul>
<li class="toctree-l5"><a class="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>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Creating-Things.html#creating-accounts">10.3. Creating Accounts</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Creating-Things.html#creating-channels">10.4. Creating Channels</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Creating-Things.html#creating-scripts">10.5. Creating Scripts</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Creating-Things.html#conclusion">10.6. Conclusion</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html">11. Searching for things</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#main-search-functions">11.1. Main search functions</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#searching-using-object-search">11.2. Searching using Object.search</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#what-can-be-searched-for">11.3. What can be searched for</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-key">11.3.1. Search by key</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-aliases">11.3.2. Search by aliases</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-location">11.3.3. Search by location</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-tags">11.3.4. Search by Tags</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-attribute">11.3.5. Search by Attribute</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-typeclass">11.3.6. Search by Typeclass</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-dbref">11.3.7. Search by dbref</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#finding-objects-relative-each-other">11.4. Finding objects relative each other</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#summary">11.5. Summary</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Django-queries.html">12. Advanced searching - Django Database queries</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Django-queries.html#queryset-field-lookups">12.1. Queryset field lookups</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Django-queries.html#lets-get-that-werewolf">12.2. Lets get that werewolf …</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Django-queries.html#queries-with-or-or-not">12.3. Queries with OR or NOT</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Django-queries.html#annotations">12.4. Annotations</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Django-queries.html#f-objects">12.5. F-objects</a></li>
<li class="toctree-l4"><a class="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>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Django-queries.html#conclusions">12.7. Conclusions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html">13. Building a chair you can sit on</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html#make-us-not-able-to-move-while-resting">13.1. Make us not able to move while resting</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html#making-the-chair-itself">13.2. Making the Chair itself</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html#sitting-on-or-in">13.2.1. Sitting on or in?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html#extra-credits">13.2.2. Extra credits</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html#adding-commands">13.3. Adding commands</a><ul>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html#conclusions">13.4. Conclusions</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="Part2/Beginner-Tutorial-Part2-Overview.html">Part 2: What we want</a><ul>
<li class="toctree-l2"><a class="reference internal" href="Part2/Beginner-Tutorial-Part2-Overview.html#lessons">Lessons</a><ul>
<li class="toctree-l3"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-Where-Do-I-Begin.html">1. Where do I begin?</a><ul>
<li class="toctree-l4"><a class="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>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-Where-Do-I-Begin.html#what-are-your-skills">1.2. What are your skills?</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-Where-Do-I-Begin.html#the-game-engine">1.2.1. The game engine</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-Where-Do-I-Begin.html#asset-creation">1.2.2. Asset creation</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="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>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-Where-Do-I-Begin.html#conclusions">1.4. Conclusions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html">2. On Planning a Game</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#the-steps">2.1. The steps</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#planning">2.2. Planning</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#administration">2.2.1. Administration</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#building">2.2.2. Building</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#systems">2.2.3. Systems</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#rooms">2.2.4. Rooms</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#objects-items">2.2.5. Objects / items</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#characters">2.2.6. Characters</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#coding-and-tech-demo">2.3. Coding and Tech demo</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#world-building">2.4. World Building</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#alpha-release">2.5. Alpha Release</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#beta-release-perpetual-beta">2.6. Beta Release/Perpetual Beta</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#congratulate-yourself">2.7. Congratulate yourself!</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#planning-our-tutorial-game">2.8. Planning our tutorial game</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html">3. Planning our tutorial game</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#game-concept">3.1. Game concept</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#administration">3.2. Administration</a><ul>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#building">3.3. Building</a><ul>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#systems">3.4. Systems</a><ul>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#rooms">3.5. Rooms</a><ul>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#objects">3.6. Objects</a><ul>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#characters">3.7. Characters</a><ul>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
<li class="toctree-l5"><a class="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>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#conclusions">3.8. Conclusions</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="Part3/Beginner-Tutorial-Part3-Overview.html">Part 3: How we get there (example game)</a><ul>
<li class="toctree-l2"><a class="reference internal" href="Part3/Beginner-Tutorial-Part3-Overview.html#lessons">Lessons</a><ul>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Utilities.html">1. Code structure and Utilities</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Utilities.html#folder-structure">1.1. Folder structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Utilities.html#enums">1.2. Enums</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Utilities.html#utility-module">1.3. Utility module</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Utilities.html#testing">1.4. Testing</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Utilities.html#running-your-test">1.4.1. Running your test</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Utilities.html#summary">1.5. Summary</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html">2. Rules and dice rolling</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#summary-of-knave-rules">2.1. Summary of <em>Knave</em> rules</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#making-a-rule-module">2.2. Making a rule module</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#rolling-dice">2.3. Rolling dice</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#generic-dice-roller">2.3.1. Generic dice roller</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#rolling-with-advantage">2.3.2. Rolling with advantage</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#saving-throws">2.3.3. Saving throws</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#opposed-saving-throw">2.3.4. Opposed saving throw</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#morale-check">2.3.5. Morale check</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#roll-for-healing">2.3.6. Roll for Healing</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#rolling-on-a-table">2.3.7. Rolling on a table</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#roll-for-death">2.3.8. Roll for death</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#testing">2.4. Testing</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#mocking-and-patching">2.4.1. Mocking and patching</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#summary">2.5. Summary</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Characters.html">3. Player Characters</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Characters.html#inheritance-structure">3.1. Inheritance structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Characters.html#living-mixin-class">3.2. Living mixin class</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Characters.html#character-class">3.3. Character class</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Characters.html#funcparser-inlines">3.3.1. Funcparser inlines</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Characters.html#backtracking">3.3.2. Backtracking</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Characters.html#connecting-the-character-with-evennia">3.4. Connecting the Character with Evennia</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Characters.html#unit-testing">3.5. Unit Testing</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Characters.html#about-races-and-classes">3.6. About races and classes</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Characters.html#summary">3.7. Summary</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html">4. In-game Objects and items</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#new-enums">4.1. New Enums</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#the-base-object">4.2. The base object</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#using-attributes-or-not">4.2.1. Using Attributes or not</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#creating-tags-in-at-object-creation">4.2.2. Creating tags in <code class="docutils literal notranslate"><span class="pre">at_object_creation</span></code></a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#other-object-types">4.3. Other object types</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#consumables">4.4. Consumables</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#weapons">4.5. Weapons</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#magic">4.6. Magic</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#armor">4.7. Armor</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#your-bare-hands">4.8. Your Bare hands</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#testing-and-extra-credits">4.9. Testing and Extra credits</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html">5. Handling Equipment</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#equipmenthandler-that-saves">5.1. EquipmentHandler that saves</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#connecting-the-equipmenthandler">5.2. Connecting the EquipmentHandler</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#expanding-the-equipmenthandler">5.3. Expanding the Equipmenthandler</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#validate-slot-usage">5.4. <code class="docutils literal notranslate"><span class="pre">.validate_slot_usage</span></code></a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#max-slots">5.4.1. <code class="docutils literal notranslate"><span class="pre">.max_slots</span></code></a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#count-slots">5.4.2. <code class="docutils literal notranslate"><span class="pre">.count_slots</span></code></a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#validating-slots">5.4.3. Validating slots</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#add-and-remove">5.5. <code class="docutils literal notranslate"><span class="pre">.add</span></code> and <code class="docutils literal notranslate"><span class="pre">.remove</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#moving-things-around">5.6. Moving things around</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#get-everything">5.7. Get everything</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#weapon-and-armor">5.8. Weapon and armor</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#extra-credits">5.9. Extra credits</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#unit-testing">5.10. Unit Testing</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#summary">5.11. Summary</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html">6. Character Generation</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#how-it-will-work">6.1. How it will work</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#random-tables">6.2. Random tables</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#storing-state-of-the-menu">6.3. Storing state of the menu</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#showing-the-sheet">6.3.1. Showing the sheet</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#apply-character">6.3.2. Apply character</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#initializing-evmenu">6.4. Initializing EvMenu</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#main-node-choosing-what-to-do">6.5. Main Node: Choosing what to do</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#node-changing-your-name">6.6. Node: Changing your name</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#node-swapping-abilities-around">6.7. Node: Swapping Abilities around</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#node-creating-the-character">6.8. Node: Creating the Character</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#tying-the-nodes-together">6.9. Tying the nodes together</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#conclusions">6.10. Conclusions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Rooms.html">7. In-game Rooms</a></li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-NPCs.html">8. Non-Player-Characters (NPCs)</a></li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Quests.html">9. Game Quests</a></li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Shops.html">10. In-game Shops</a></li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html">11. Dynamically generated Dungeon</a></li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Commands.html">12. In-game Commands</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="Part4/Beginner-Tutorial-Part4-Overview.html">Part 4: Using what we created</a><ul>
<li class="toctree-l2"><a class="reference internal" href="Part4/Beginner-Tutorial-Part4-Overview.html#lessons">Lessons</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../Unimplemented.html">1. Unimplemented</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="Part5/Beginner-Tutorial-Part5-Overview.html">Part 5: Showing the world</a><ul>
<li class="toctree-l2"><a class="reference internal" href="Part5/Beginner-Tutorial-Part5-Overview.html#lessons">Lessons</a><ul>
<li class="toctree-l3"><a class="reference internal" href="Part5/Add-a-simple-new-web-page.html">1. Add a simple new web page</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part5/Add-a-simple-new-web-page.html#create-the-view">1.1. Create the view</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part5/Add-a-simple-new-web-page.html#the-html-page">1.2. The HTML page</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part5/Add-a-simple-new-web-page.html#the-url">1.3. The URL</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</details></section>
</section>
</section>
</div>
</div>
</div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="Part1/Beginner-Tutorial-Part1-Overview.html" title="Part 1: What we have"
>next</a> |</li>
<li class="right" >
<a href="../Howtos-Overview.html" title="Tutorials and Howtos"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">Evennia 1.0</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Howtos-Overview.html" >Tutorials and Howtos</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Beginner Tutorial</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2022, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
</div>
</body>
</html>