evennia/docs/0.9.5/Tutorials.html
2021-08-06 00:47:51 +02:00

298 lines
No EOL
21 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>Tutorials &#8212; Evennia 0.9.5 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="Building Quickstart" href="Building-Quickstart.html" />
<link rel="prev" title="Webclient brainstorm" href="Webclient-brainstorm.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="Building-Quickstart.html" title="Building Quickstart"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="Webclient-brainstorm.html" title="Webclient brainstorm"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">Evennia 0.9.5</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Tutorials</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="tutorials">
<h1>Tutorials<a class="headerlink" href="#tutorials" title="Permalink to this headline"></a></h1>
<p>Before continuing to read these tutorials (and especially before you start to code or build your
game in earnest) its strongly recommended that you read the
<a class="reference internal" href="Coding-Introduction.html"><span class="doc">Evennia coding introduction</span></a> as well as the <a class="reference internal" href="Game-Planning.html"><span class="doc">Planning your own game</span></a> pages first.</p>
<p>Please note that its not within the scope of our tutorials to teach you basic Python. If you are
new to the language, expect to have to look up concepts you are unfamiliar with. Usually a quick
internet search will give you all info you need. Furthermore, our tutorials tend to focus on
implementation and concepts. As such they give only brief explanations to use Evennia features while
providing ample links to the relevant detailed documentation.</p>
<p>The main information resource for builders is the <a class="reference internal" href="Builder-Docs.html"><span class="doc">Builder Documentation</span></a>. Coders
should refer to the <a class="reference internal" href="Developer-Central.html"><span class="doc">Developer Central</span></a> for further information.</p>
<section id="building">
<h2>Building<a class="headerlink" href="#building" title="Permalink to this headline"></a></h2>
<p><em>Help with populating your game world.</em></p>
<ul class="simple">
<li><p><a class="reference internal" href="Building-Quickstart.html"><span class="doc">Tutorial: Building Quick-start</span></a> - helps you build your first rocks and
crates using Evennias defaults.</p></li>
<li><p><a class="reference internal" href="Understanding-Color-Tags.html"><span class="doc">Tutorial: Understanding Color Tags</span></a>- explains how you color your games
text.</p></li>
<li><p><a class="reference internal" href="Tutorial-World-Introduction.html"><span class="doc">Introduction: The Tutorial World</span></a> - this introduces the full (if
small) solo-adventure game that comes with the Evennia distribution. It is useful both as an example
of building and of coding.</p></li>
<li><p><a class="reference internal" href="Building-a-mech-tutorial.html"><span class="doc">Tutorial: Building a Giant Mech</span></a> - this starts as a building tutorial
and transitions into writing code.</p></li>
</ul>
</section>
<section id="general-development-tutorials">
<h2>General Development tutorials<a class="headerlink" href="#general-development-tutorials" title="Permalink to this headline"></a></h2>
<p><em>General code practices for newbie game developers.</em></p>
<p>To use Evennia, you will need basic understanding of Python
<a class="reference external" href="http://docs.python.org/3.7/tutorial/modules.html">modules</a>,
<a class="reference external" href="http://www.tutorialspoint.com/python/python_variable_types.htm">variables</a>, <a class="reference external" href="http://docs.python.org/tutorial/controlflow.html#if-statements">conditional statements</a>,
<a class="reference external" href="http://docs.python.org/tutorial/controlflow.html#for-statements">loops</a>,
<a class="reference external" href="http://docs.python.org/tutorial/controlflow.html#defining-functions">functions</a>, <a class="reference external" href="http://docs.python.org/tutorial/datastructures.html">lists, dictionaries, list comprehensions</a> and <a class="reference external" href="http://docs.python.org/tutorial/introduction.html#strings">string formatting</a>. You should also have a basic
understanding of <a class="reference external" href="http://www.tutorialspoint.com/python/python_classes_objects.htm">object-oriented programming</a> and what Python
<a class="reference external" href="http://docs.python.org/tutorial/classes.html">Classes</a> are.</p>
<ul class="simple">
<li><p><a class="reference external" href="https://wiki.python.org/moin/BeginnersGuide/NonProgrammers">Python tutorials for beginners</a> -
external link with tutorials for those not familiar with coding in general or Python in particular.</p></li>
<li><p><a class="reference internal" href="Version-Control.html"><span class="doc">Tutorial: Version Control</span></a> - use GIT to organize your code both for your own
game project and for contributing to Evennia.</p></li>
<li><p>MIT offers free courses in many subjects. Their [Introduction to Computer Science and Programming](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-
introduction-to-computer-science-and-programming-spring-2011/) uses Python as its language of
choice. Longer path, but more in-depth. Definitely worth a look.</p></li>
</ul>
</section>
<section id="coding-first-step-tutorials">
<h2>Coding - First Step tutorials<a class="headerlink" href="#coding-first-step-tutorials" title="Permalink to this headline"></a></h2>
<p><em>Starting tutorials for you who are new to developing with Evennia.</em></p>
<ul class="simple">
<li><p><a class="reference internal" href="Python-basic-introduction.html"><span class="doc">Python basic introduction</span></a> (part 1) - Python intro using Evennia.</p></li>
<li><p><a class="reference internal" href="Python-basic-tutorial-part-two.html"><span class="doc">Python basic introduction</span></a> (part 2) - More on objects, classes
and finding where things are.</p></li>
<li><p><a class="reference internal" href="First-Steps-Coding.html"><span class="doc">Tutorial: First Steps Coding</span></a> - learn each basic feature on their own through
step-by-step instruction.</p></li>
<li><p><a class="reference internal" href="Tutorial-for-basic-MUSH-like-game.html"><span class="doc">Tutorial: A small first game</span></a> - learn basic features as part
of building a small but working game from scratch.</p></li>
<li><p><a class="reference internal" href="Adding-Command-Tutorial.html"><span class="doc">Tutorial: Adding new commands</span></a> - focuses specifically on how to add new
commands.</p></li>
<li><p><a class="reference internal" href="Parsing-command-arguments%2C-theory-and-best-practices.html"><span class="doc">Tutorial: Parsing command argument</span></a>.</p></li>
<li><p><a class="reference internal" href="Adding-Object-Typeclass-Tutorial.html"><span class="doc">Tutorial: Adding new objects</span></a> - focuses specifically on how to
add new objects.</p></li>
<li><p><a class="reference internal" href="Tutorial-Searching-For-Objects.html"><span class="doc">Tutorial: Searching objects in the database</span></a> - how to find
existing objects so you can operate on them.</p></li>
</ul>
</section>
<section id="custom-objects-and-typeclasses">
<h2>Custom objects and typeclasses<a class="headerlink" href="#custom-objects-and-typeclasses" title="Permalink to this headline"></a></h2>
<p><em>Examples of designing new objects for your game world</em></p>
<ul class="simple">
<li><p><a class="reference internal" href="Weather-Tutorial.html"><span class="doc">Tutorial: Rooms with Weather</span></a></p></li>
<li><p><a class="reference internal" href="Tutorial-Aggressive-NPCs.html"><span class="doc">Tutorial: Aggressive NPCs</span></a></p></li>
<li><p><a class="reference internal" href="Tutorial-NPCs-listening.html"><span class="doc">Tutorial: Listening NPCs</span></a></p></li>
<li><p><a class="reference internal" href="Tutorial-Vehicles.html"><span class="doc">Tutorial: Creating a vehicle</span></a></p></li>
<li><p><a class="reference internal" href="NPC-shop-Tutorial.html"><span class="doc">Tutorial: Making an NPC shop</span></a> (also advanced <a class="reference internal" href="EvMenu.html"><span class="doc">EvMenu</span></a> usage)</p></li>
<li><p><a class="reference internal" href="Static-In-Game-Map.html"><span class="doc">Tutorial: Implementing a Static In Game Map</span></a> (also [Batch Code](Batch-Code-
Processor) usage)</p></li>
<li><p><a class="reference internal" href="Dynamic-In-Game-Map.html"><span class="doc">Tutorial: Implementing a Dynamic In Game Map</span></a></p></li>
<li><p><a class="reference external" href="Unit-Testing.html#testing-for-game-development-mini-tutorial">Tutorial: Writing your own unit tests</a></p></li>
</ul>
</section>
<section id="game-mechanics-tutorials">
<h2>Game mechanics tutorials<a class="headerlink" href="#game-mechanics-tutorials" title="Permalink to this headline"></a></h2>
<p><em>Creating the underlying game mechanics of game play.</em></p>
<ul class="simple">
<li><p><a class="reference internal" href="Implementing-a-game-rule-system.html"><span class="doc">Hints: Implementing a game rule system</span></a></p></li>
<li><p><a class="reference internal" href="Turn-based-Combat-System.html"><span class="doc">Tutorial: Implementing a Combat system</span></a></p></li>
<li><p><a class="reference internal" href="Evennia-for-roleplaying-sessions.html"><span class="doc">Tutorial: Evennia for running tabletop rpgs</span></a></p></li>
</ul>
</section>
<section id="miscellaneous-system-tutorials">
<h2>Miscellaneous system tutorials<a class="headerlink" href="#miscellaneous-system-tutorials" title="Permalink to this headline"></a></h2>
<p><em>Design various game systems and achieve particular effects.</em></p>
<ul class="simple">
<li><p><a class="reference internal" href="Coding-FAQ.html"><span class="doc">FAQ</span></a>: A place for users to enter their own hints on achieving various goals in
Evennia.</p></li>
<li><p><a class="reference internal" href="Command-Prompt.html"><span class="doc">Tutorial: Adding a Command prompt</span></a></p></li>
<li><p><a class="reference internal" href="Zones.html"><span class="doc">Tutorial: Creating a Zoning system</span></a></p></li>
<li><p><a class="reference internal" href="Manually-Configuring-Color.html"><span class="doc">Tutorial: Letting players manually configure color settings</span></a></p></li>
<li><p><a class="reference external" href="EvMenu.html#ask-for-simple-input">Hints: Asking the user a question and dealing with the result</a></p></li>
<li><p><a class="reference internal" href="Command-Duration.html"><span class="doc">Hints: Designing commands that take time to finish</span></a></p></li>
<li><p><a class="reference internal" href="Command-Cooldown.html"><span class="doc">Hints: Adding cooldowns to commands</span></a></p></li>
<li><p><a class="reference internal" href="Mass-and-weight-for-objects.html"><span class="doc">Tutorial: Mass and weight for objects</span></a></p></li>
<li><p><a class="reference internal" href="Default-Exit-Errors.html"><span class="doc">Hints: Show a different message when trying a non-existent exit</span></a></p></li>
<li><p><a class="reference internal" href="Tutorial-Tweeting-Game-Stats.html"><span class="doc">Tutorial: Make automatic tweets of game statistics</span></a></p></li>
<li><p><a class="reference internal" href="Gametime-Tutorial.html"><span class="doc">Tutorial: Handling virtual time in your game</span></a></p></li>
<li><p><a class="reference internal" href="Coordinates.html"><span class="doc">Tutorial: Setting up a coordinate system for rooms</span></a></p></li>
<li><p><a class="reference internal" href="Customize-channels.html"><span class="doc">Tutorial: customize the way channels and channel commands work in your game</span></a></p></li>
<li><p>[Tutorial: Adding unit tests to your game project](./Unit-Testing#testing-for-game-development-mini- tutorial)</p></li>
</ul>
</section>
<section id="contrib">
<h2>Contrib<a class="headerlink" href="#contrib" title="Permalink to this headline"></a></h2>
<p><em>This section contains tutorials linked with contribs. These contribs can be used in your game, but
youll need to install them explicitly. They add common features that can earn you time in
implementation.</em></p>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/evennia/evennia/blob/master/evennia/contrib/README.md">list of contribs</a></p></li>
<li><p><a class="reference internal" href="Dialogues-in-events.html"><span class="doc">In-game Python: dialogues with characters</span></a>.</p></li>
<li><p><a class="reference internal" href="A-voice-operated-elevator-using-events.html"><span class="doc">In-game Python: a voice-operated elevator</span></a>.</p></li>
</ul>
</section>
<section id="web-tutorials">
<h2>Web tutorials<a class="headerlink" href="#web-tutorials" title="Permalink to this headline"></a></h2>
<p><em>Expanding Evennias web presence.</em></p>
<ul class="simple">
<li><p><a class="reference internal" href="Add-a-simple-new-web-page.html"><span class="doc">Tutorial: Add a new web page</span></a> - simple example to see how Django pages
hang together.</p></li>
<li><p><a class="reference internal" href="Web-Tutorial.html"><span class="doc">Tutorial: Website customization</span></a> - learn how to start customizing your games web
presence.</p></li>
<li><p><a class="reference internal" href="Bootstrap-%26-Evennia.html"><span class="doc">Tutorial: Bootstrap &amp; Evennia</span></a> - Learn more about Bootstrap, the current CSS
framework Evennia is using</p></li>
<li><p><a class="reference internal" href="Web-Character-View-Tutorial.html"><span class="doc">Tutorial: Build a web page displaying a game character</span></a> - make a way
to view your character on the web page.</p></li>
<li><p><a class="reference internal" href="Help-System-Tutorial.html"><span class="doc">Tutorial: access your help system from your website</span></a></p></li>
<li><p><a class="reference internal" href="Add-a-wiki-on-your-website.html"><span class="doc">Tutorial: add a wiki on your website</span></a></p></li>
<li><p><a class="reference internal" href="Web-Character-Generation.html"><span class="doc">Tutorial: Web Character Generation</span></a> - make a web-based character
application form.</p></li>
<li><p><a class="reference internal" href="Bootstrap-Components-and-Utilities.html"><span class="doc">Tutorial: Bootstrap Components and Utilities</span></a> - Describes
some common Bootstrap Components and Utilities that might help in designing for Evennia</p></li>
</ul>
</section>
<section id="evennia-for-engine-users">
<h2>Evennia for [Engine]-Users<a class="headerlink" href="#evennia-for-engine-users" title="Permalink to this headline"></a></h2>
<p><em>Hints for new users more familiar with other game engines.</em></p>
<ul class="simple">
<li><p><a class="reference internal" href="Evennia-for-Diku-Users.html"><span class="doc">Evennia for Diku Users</span></a> - read up on the differences between Diku style
muds and Evennia.</p></li>
<li><p><a class="reference internal" href="Evennia-for-MUSH-Users.html"><span class="doc">Evennia for MUSH Users</span></a> - an introduction to Evennia for those accustomed
to MUSH-style servers.</p></li>
</ul>
<div class="toctree-wrapper compound">
</div>
</section>
</section>
<div class="clearer"></div>
</div>
</div>
</div>
<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>
<p><h3><a href="index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Tutorials</a><ul>
<li><a class="reference internal" href="#building">Building</a></li>
<li><a class="reference internal" href="#general-development-tutorials">General Development tutorials</a></li>
<li><a class="reference internal" href="#coding-first-step-tutorials">Coding - First Step tutorials</a></li>
<li><a class="reference internal" href="#custom-objects-and-typeclasses">Custom objects and typeclasses</a></li>
<li><a class="reference internal" href="#game-mechanics-tutorials">Game mechanics tutorials</a></li>
<li><a class="reference internal" href="#miscellaneous-system-tutorials">Miscellaneous system tutorials</a></li>
<li><a class="reference internal" href="#contrib">Contrib</a></li>
<li><a class="reference internal" href="#web-tutorials">Web tutorials</a></li>
<li><a class="reference internal" href="#evennia-for-engine-users">Evennia for [Engine]-Users</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="Webclient-brainstorm.html"
title="previous chapter">Webclient brainstorm</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="Building-Quickstart.html"
title="next chapter">Building Quickstart</a></p>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="_sources/Tutorials.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/">Dev blog</a>
</li>
</ul>
<h3>Versions</h3>
<ul>
<li><a href="../1.0-dev/index.html">1.0-dev (develop branch)</a></li>
<li><a href="Tutorials.html">0.9.5 (v0.9.5 branch)</a></li>
</ul>
</div>
</div>
<div class="clearer"></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="Building-Quickstart.html" title="Building Quickstart"
>next</a> |</li>
<li class="right" >
<a href="Webclient-brainstorm.html" title="Webclient brainstorm"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">Evennia 0.9.5</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Tutorials</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2020, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
</div>
</body>
</html>